[gst-devel] Linking elements with dynamic pads.
Wim Taymans
wim at fluendo.com
Tue Nov 15 10:13:02 CET 2005
On Tue, 2005-11-15 at 12:07 -0500, Louis Bouchard wrote:
> Hi,
>
> I am trying to set up a pipeline to capture video from a dv camera.
> The pipeline goes like this:
>
> dv1394src -> ffdemux_dv -> ffdec_dvvideo - > fakesink
>
> (the fakesink uses a handoff function to save the buffers)
>
> My problem is with ffdemux_dv: since it's got dynamic source pads, I
> need to link it after the first pipeline iteration, which I do. But
> it seems that linking the video source of the demuxer to the sink of
> the decoder breaks the whole pipeline. But the tests I run tells me
> everything is connected properly.
>
> The flow of the program goes like this:
>
> 1 - connect dv1394src to the sink of ffdemux_dv w/ filtered caps -- works fine
> 2 - connect ffdec_dvvideo's source to the sink of fakesink w/
> filtered caps -- works fine
> 3 - start iterating -> ffdemux_dv calls it's callback function to
> create the sources 'video_00' and 'audio_00'.
> 4 - in the callback function connects ffdemux_dv's video_00 pad to the
> sink of ffdec_dvvideo -- works fine...
> 5 - the pipeline doesn't do anyting anymore and i don't know why.
>
<snip>
> gst_element_set_state (source, GST_STATE_READY);
> gst_element_set_state (decoder, GST_STATE_READY);
> gst_element_set_state (demuxer, GST_STATE_READY);
> gst_element_set_state (fakesink, GST_STATE_READY);
This is in the callback function, setting the elements to READY stops
all flow.
Wim
--
Wim Taymans <wim at fluendo.com>
More information about the gstreamer-devel
mailing list