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

Richard tuxbox.guru at gmail.com
Fri Apr 27 00:35:33 PDT 2012


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