Multiple Source Pipeline Hangs

johnwesting john.blank.westing at gmail.com
Mon May 6 12:50:42 PDT 2013


I have a pipeline with multiple sources and my pipeline does caps negotiation
in serial for each source instead of in parallel like I would expect, i.e.
the GstBaseTransform::Start() method of the second source is not called
until after the first source has negotiated its capabilities. I've been
trying to find a solution for most of the day but can't find anything. I'm
using gst-launch and the pipeline examples I am finding online aren't
helping me.

My pipeline looks something like this:

gst-launch interleave name=i ! alsasink \
myfakesrc ! myfakedec ! queue ! i. \
myfakesrc ! myfakedec ! queue ! i.

The second instance of myfakesrc does not get started until after the caps
are negotiated for the first myfakessrc element. I want the 2 sources to run
completely independent of each other, as if they are different processes,
but joined at the interleave element. I tried surrounding the last 2 lines
with {} brackets, e.g. { myfakesrc ... i. } \, but it still didn't work and
I got the GStreamer warning: "Error during parsing: syntax error, unexpected
$undefined". I also tried using [] brackets but got the same GStreamer
warning. Please help.

Thanks,
John



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Multiple-Source-Pipeline-Hangs-tp4659808.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list