Problem with linking/unlinking a bin from a tee.
Robin
gstreamerdeveloper at gmail.com
Tue Apr 10 07:38:48 PDT 2012
I create a pipeline containing the following components in order:
UDP Source
Queue
RTPDepay
Mpeg4Decoder
VideoRate
ColourSpaceConvert
Tee
I then attach a bin to the Tee. The bin is simply a queue followed by a DirectShow sink, i.e.:
Queue
DirectShowSink
I also attach a fake sink to the Tee so that the pipeline has somewhere to send data if the DirectShow sink isn't there:
Queue
FakeSink
This works fine and I see streaming video in the DirectShow window. Now if I want to pause streaming, and for the sake of argument when I say pause streaming I mean continue the streaming underneath to a fake sink, but just freeze the display, I first pause the pipeline, then unlink the DirectShow bin and finally I remove the DirectShow bin from the pipeline. Again, this works as expected, with the RTP stream's clock still counting upward, but the DirectShow window remaining static.
Now, when I want to get the DirectShow window displaying again, linking it back into the pipeline, I assume I just need to pause the pipeline, add the DirectShow bin to the pipeline and then link it to the Tee again. However unlike the first time I linked it, this time it gives me an error:
0:01:47.192718000 5288 08CF9038 INFO GST_ELEMENT_PADS gstutils.c:1614:gst_element_link_pads_full: trying to link element gStreamerBinStreamRTP_tee:(any) to element gStreamerBinDirectShow_queue:(any)
0:01:47.196718000 5288 08CF9038 INFO GST_ELEMENT_PADS gstelement.c:963:gst_element_get_static_pad: found pad gStreamerBinDirectShow_queue:sink
0:01:47.196718000 5288 08CF9038 INFO GST_ELEMENT_PADS gstutils.c:1221:gst_element_get_compatible_pad:<gStreamerBinDirectShow_queue> Could not find a compatible pad to link to gStreamerBinStreamRTP_tee:src1
This is odd because obviously the first time it tried to link it was quite happy, i..e:
0:00:15.019501000 5288 00331AD0 INFO GST_ELEMENT_PADS gstutils.c:1614:gst_element_link_pads_full: trying to link element gStreamerBinStreamRTP_tee:(any) to element gStreamerBinDirectShow_queue:(any)
0:00:15.030502000 5288 00331AD0 INFO GST_ELEMENT_PADS gstelement.c:716:gst_element_add_pad:<gStreamerBinStreamRTP_tee> adding pad 'src1'
0:00:15.031503000 5288 00331AD0 INFO GST_PADS gstutils.c:1520:prepare_link_maybe_ghosting: gStreamerBinStreamRTP_tee and gStreamerBinDirectShow_queue not in same bin, making ghost pads
So, where am I going wrong here?
Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20120410/26277630/attachment.html>
More information about the gstreamer-devel
mailing list