Linking elements on decodebin's pad-added signal

Tim Müller tim at centricular.com
Mon Sep 25 07:26:29 UTC 2017


On Sun, 2017-09-24 at 20:40 -0700, jmz wrote:

Hi,

Make sure to set elements you add to the pipeline dynamically to
PLAYING state as well (or sync_state_with_parent). The pipeline won't
do that automatically for you. If you don't, pads won't get activated
an the pipeline will silently stop streaming because it thinks it's
being shut down when pushing on a flushing pad.

Secondly, you're using x264enc here. x264enc by default will consume up
to 3 seconds of video before outputting anything to produce best
quality. This means you need 3 seconds of buffering (queue) in the
other branches (audio). Two ways to fix this: a) add a queue max-size-
time=0 max-size-bytes=0 max-size-buffers=0 before the audio encoders;
b) use x264enc tune=zerolatency.

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com

Join us at the GStreamer Conference!
21-22 October 2017 in Prague, Czech Republic
http://gstreamer.freedesktop.org/conference/


More information about the gstreamer-devel mailing list