Valve is blocking other parts of the pipeline
gimmeamilk
gimmeamilkbttf at gmail.com
Fri Jan 25 04:00:08 PST 2013
I'm connecting the each srcpads of a decodebin to its own valve, then
connecting each valve as an input to mpegtsmux. This is my decodebin
on-pad-added function (error checking removed here but everything reported
ok):
int valvenum = 0;
GstElement *pipeline, *mpegtsmux, *valves[4];
static gboolean on_pad_added (GstElement *gstdecodebin, GstPad *pad,
gpointer user_data)
{
GstPad *tsmux_sinkpad;
GstPad *valve_srcpad, *valve_sinkpad;
tsmux_sinkpad = gst_element_get_compatible_pad (mpegtsmux, pad, NULL);
valves[valvenum++] = gst_element_factory_make ("valve", NULL);
gst_bin_add (GST_BIN(pipeline), valves[valvenum]);
valve_srcpad = gst_element_get_static_pad (valves[valvenum], "src");
valve_sinkpad = gst_element_get_static_pad (valves[valvenum], "sink");
gst_pad_link (pad, valve_sinkpad);
gst_pad_link (valve_srcpad, tsmux_sinkpad)
gst_pad_set_active(valve_srcpad, TRUE);
gst_pad_set_active(valve_sinkpad, TRUE);
return TRUE;
}
I have one video and one audio stream in my test file. If I set drop=true on
either of the valves, I don't get any more data on any mpegtsmux input, even
if I then set drop=false. What else should I be doing? Thanks.
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Valve-is-blocking-other-parts-of-the-pipeline-tp4658158.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list