Hi all,
I have written a transcode application (live DVB-MPEG2 streams from a DVB source) that uses the following pipeline : filesrc->queue->decodebin-> Audio/Video Queue -> Video/audio resample/resize ->queue->mpeg_enc/lame->fdsink Filesrc is a FIFO and fdsink is the handle obtained from the Socket listener. Problem ======= After initial connection, the video starts on the client (fdsink working) and a few seconds later the FIFO signals 'FULL' and I my code has to stop writing to the buffer for a few second. This shows on the client as a video jumping significantly once or twice and once stabilized the buffer overflows stop. My code has a 188*500 byte buffer and the FIFO is using default (8 MB? .. lsof shows 4MB in use) - I write to the FIFO in blocks of 188*10. ============ Is there a way to find out where the data is backing up on GST ? Or a method to stop the overflow. I tried leaky queue and it caused bad continuity problems. Any hits for solving? Best Regards, Richard _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
My findings.... since no-one has any suggestions for me.
Decodebin2 = FAULTY Decodebin = Working I erroneously put Decodebin in my original mail... but was using decodebin2. Decodebin2 takes about 5 seconds to create a pipeline for a 1Video/1Audio TS stream.. and then it has buffering issues. DecodeBin takes about 1 second to bring up the same stream pipeline and does not have apparent buffering problems. Using MpegTSdemux/Mpeg2dec component opened up a whole new world of problems.. as it stopped consuming data after about 30 seconds of runtime. Closing notes for myself : Avoid DecodeBin2 when using live TS streams. DecodeBin works just fine. Richard On 27 April 2012 08:35, Richard <[hidden email]> wrote: > Hi all, > > I have written a transcode application (live DVB-MPEG2 streams from a > DVB source) that uses the following pipeline : > filesrc->queue->decodebin-> Audio/Video Queue -> Video/audio > resample/resize ->queue->mpeg_enc/lame->fdsink > > Filesrc is a FIFO and fdsink is the handle obtained from the Socket listener. > > Problem > ======= > After initial connection, the video starts on the client (fdsink > working) and a few seconds later the FIFO signals 'FULL' and I my code > has to stop writing to the buffer for a few second. This shows on the > client as a video jumping significantly once or twice and once > stabilized the buffer overflows stop. > > My code has a 188*500 byte buffer and the FIFO is using default (8 MB? > .. lsof shows 4MB in use) - I write to the FIFO in blocks of 188*10. > > ============ > > Is there a way to find out where the data is backing up on GST ? Or a > method to stop the overflow. I tried leaky queue and it caused bad > continuity problems. > > Any hits for solving? > > Best Regards, > Richard gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |