Decodebin->mpegts decode not consuming data faster that producer.

Richard tuxbox.guru at gmail.com
Sat Apr 28 02:56:08 PDT 2012


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 <tuxbox.guru at gmail.com> 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


More information about the gstreamer-devel mailing list