From: Martin E. <em...@em...> - 2010-07-23 16:05:14
|
Hi! I am implementing a xine demuxer plugin to play back MPEG video/audio received from a C++ application. Sending the data to xine works already, but when I start playback, I see only the keyframes (ca. 1-2 per second, the rest being dropped/discarded), and I have no audio . I see lots of these messages: video_out: throwing away image with pts 2852979 because it's too old (diff : 88598). It is no CPU issue, load is fairly low. The data is correct; if I dump the ES to separate files I can play them back later just fine. The data is coming in at a steady pace, so the demuxer should not be starving, either. I probably messed up the buffer decoder_flags or something like that. On each call to ..._send_chunk, I put() one Elementary Stream packet retrieved from a PES packet to the fifo, using the PES packet's PTS. If the frame has to be split among multiple buf_element_t, I set BUF_FLAG_FRAME_END only for the last part. I tried to do basically the same things as other demuxer plugins (eg demux_ts.c), but I am missing something. Thanks for any Hints! Ciao Martin |