Very simple rtsp pipeline exit with error: Could not find a compatible pad to link

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Very simple rtsp pipeline exit with error: Could not find a compatible pad to link

Mailing List SVR
Hi,


here is a simple gst-lauch pipeline:


gst-launch-0.10 rtspsrc location=rtsp://<rtspip> latency=100 ! udpsink host=<destinationhost> port=5000


this pipeline works just fine so I decided to assemble it as python code, here is the relevant portion:


self.pipeline = gst.Pipeline("rtsp-pipeline")
source=gst.element_factory_make("rtspsrc","rtsp-source")
source.set_property("location","rtsp://<rtspip>")
source.set_property("latency",100)
destination=gst.element_factory_make("udpsink")
destination.set_property("host","<destinationhost>")
destination.set_property("port",5000)
self.pipeline.add(source,destination)
gst.element_link_many(source,destination)


but this code does't work, there is an error in linking source with destination:


gst.LinkError: failed to link rtsp-source with udpsink0


the relevant log seems:


Could not find a compatible pad to link to udpsink0:sink


what this means? Any hint to solve?


here is a more detailed log:


0:00:00.000074241 4469 0xb4cfd0 INFO GST_INIT gst.c:611:init_pre: Initializing GStreamer Core Library version 0.10.23
0:00:00.000138006 4469 0xb4cfd0 INFO GST_INIT gst.c:612:init_pre: Using library installed in /usr/lib
0:00:00.000154140 4469 0xb4cfd0 INFO GST_INIT gst.c:622:init_pre: Linux e6500 2.6.29-ARCH #1 SMP PREEMPT Wed May 20 06:42:43 UTC 2009 x86_64
0:00:00.000221746 4469 0xb4cfd0 INFO GST_INIT gstquery.c:105:_gst_query_initialize: init queries
0:00:00.000869315 4469 0xb4cfd0 INFO GST_INIT gstmessage.c:73:_gst_message_initialize: init messages
0:00:00.003262356 4469 0xb4cfd0 INFO GST_PLUGIN_LOADING gstplugin.c:261:_gst_plugin_initialize: registering 0 static plugins
0:00:00.003410559 4469 0xb4cfd0 INFO GST_PLUGIN_LOADING gstplugin.c:246:gst_plugin_register_static: registered static plugin "staticelements"
0:00:00.003426832 4469 0xb4cfd0 INFO GST_PLUGIN_LOADING gstplugin.c:248:gst_plugin_register_static: added static plugin "staticelements", result: 1
0:00:00.003602064 4469 0xb4cfd0 INFO GST_INIT gst.c:923:ensure_current_registry: reading registry cache: /home/nicola/.gstreamer-0.10/registry.x86_64.bin
0:00:00.015661839 4469 0xb4cfd0 INFO GST_REGISTRY gstregistrybinary.c:1285:gst_registry_binary_read_cache: loaded /home/nicola/.gstreamer-0.10/registry.x86_64.bin in 0,012036 seconds
0:00:00.016030181 4470 0xb4cfd0 INFO GST_INIT gst.c:674:scan_and_update_registry: Validating registry cache: /home/nicola/.gstreamer-0.10/registry.x86_64.bin
0:00:00.017439230 4470 0xb4cfd0 INFO GST_INIT gst.c:759:scan_and_update_registry: Registry cache has not changed
0:00:00.017725718 4469 0xb4cfd0 INFO GST_INIT gst.c:970:ensure_current_registry: registry reading and updating done, result = 1
0:00:00.017755680 4469 0xb4cfd0 INFO GST_INIT gst.c:446:gst_init_check: initialized GStreamer successfully
0:00:00.028410946 4469 0xb4cfd0 INFO GST_PLUGIN_LOADING gstplugin.c:567:gst_plugin_load_file: plugin "/usr/lib/gstreamer-0.10/libgstrtsp.so" loaded
0:00:00.028453269 4469 0xb4cfd0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:377:gst_element_factory_create: creating element "rtspsrc" named "rtsp-source"
0:00:00.029210558 4469 0xb4cfd0 INFO GST_PLUGIN_LOADING gstplugin.c:567:gst_plugin_load_file: plugin "/usr/lib/gstreamer-0.10/libgstrmdemux.so" loaded
0:00:00.029235701 4469 0xb4cfd0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:379:gst_element_factory_create: creating element "rtspreal"
0:00:00.030095866 4469 0xb4cfd0 INFO GST_PLUGIN_LOADING gstplugin.c:567:gst_plugin_load_file: plugin "/usr/lib/gstreamer-0.10/libgstasf.so" loaded
0:00:00.030122615 4469 0xb4cfd0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:379:gst_element_factory_create: creating element "rtspwms"
0:00:00.030903092 4469 0xb4cfd0 INFO GST_PLUGIN_LOADING gstplugin.c:567:gst_plugin_load_file: plugin "/usr/lib/gstreamer-0.10/libgstudp.so" loaded
0:00:00.030926070 4469 0xb4cfd0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:379:gst_element_factory_create: creating element "udpsink"
0:00:00.031001080 4469 0xb4cfd0 INFO GST_ELEMENT_PADS gstelement.c:641:gst_element_add_pad:<GstBaseSink@0xdf8110> adding pad 'sink'
0:00:00.031422013 4469 0xb4cfd0 INFO GST_ELEMENT_PADS gstutils.c:1338:gst_element_link_pads: trying to link element rtsp-source:(any) to element udpsink0:(any)
0:00:00.031473626 4469 0xb4cfd0 INFO GST_ELEMENT_PADS gstelement.c:884:gst_element_get_static_pad: no such pad 'stream%d' in element "rtsp-source"
0:00:00.031490038 4469 0xb4cfd0 INFO GST_ELEMENT_PADS gstutils.c:959:gst_element_get_compatible_pad:<rtsp-source> Could not find a compatible pad to link to udpsink0:sink
Traceback (most recent call last):
File "test.py", line 59, in <module>
s=SimpleTest()
File "test.py", line 10, in __init__
self.basePipeline()
File "test.py", line 33, in basePipeline
gst.element_link_many(source,destination)
gst.LinkError: failed to link rtsp-source with udpsink0
0:00:00.034014102 4469 0xb4cfd0 INFO GST_PARENTAGE gstbin.c:1311:gst_bin_remove_func:<rtsp-pipeline> removed child "udpsink0"
0:00:00.034044134 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2723:gst_element_dispose:<udpsink0> dispose
0:00:00.034057544 4469 0xb4cfd0 INFO GST_ELEMENT_PADS gstelement.c:759:gst_element_remove_pad:<udpsink0> removing pad 'sink'
0:00:00.034078775 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2747:gst_element_dispose:<udpsink0> parent class dispose
0:00:00.034096864 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2770:gst_element_finalize:<udpsink0> finalize
0:00:00.034111321 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2781:gst_element_finalize:<udpsink0> finalize parent
0:00:00.034126198 4469 0xb4cfd0 INFO GST_PARENTAGE gstbin.c:1311:gst_bin_remove_func:<rtsp-pipeline> removed child "rtsp-source"
0:00:00.034147150 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2723:gst_element_dispose:<rtsp-source> dispose
0:00:00.034159023 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2747:gst_element_dispose:<rtsp-source> parent class dispose
0:00:00.034171804 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2723:gst_element_dispose:<rtspwms0> dispose
0:00:00.034183188 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2747:gst_element_dispose:<rtspwms0> parent class dispose
0:00:00.034200718 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2770:gst_element_finalize:<rtspwms0> finalize
0:00:00.034212242 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2781:gst_element_finalize:<rtspwms0> finalize parent
0:00:00.034224464 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2723:gst_element_dispose:<rtspreal0> dispose
0:00:00.034235569 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2747:gst_element_dispose:<rtspreal0> parent class dispose
0:00:00.034248839 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2770:gst_element_finalize:<rtspreal0> finalize
0:00:00.034260363 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2781:gst_element_finalize:<rtspreal0> finalize parent
0:00:00.034279429 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2770:gst_element_finalize:<rtsp-source> finalize
0:00:00.034291093 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2781:gst_element_finalize:<rtsp-source> finalize parent
0:00:00.034303106 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2723:gst_element_dispose:<rtsp-pipeline> dispose
0:00:00.034316655 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2747:gst_element_dispose:<rtsp-pipeline> parent class dispose
0:00:00.034328528 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2770:gst_element_finalize:<rtsp-pipeline> finalize
0:00:00.034339633 4469 0xb4cfd0 INFO GST_REFCOUNTING gstelement.c:2781:gst_element_finalize:<rtsp-pipeline> finalize parent



thanks
Nicola


------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Very simple rtsp pipeline exit with error: Could not find a compatible pad to link

Tim-Philipp Müller-2
On Sat, 2009-05-23 at 09:00 +0200, MailingList SVR wrote:

> this pipeline works just fine so I decided to assemble it as python
> code, here is the relevant portion:
>
> self.pipeline = gst.Pipeline("rtsp-pipeline")
> source=gst.element_factory_make("rtspsrc","rtsp-source")
> source.set_property("location","rtsp://<rtspip>")
> source.set_property("latency",100)
> destination=gst.element_factory_make("udpsink")
> destination.set_property("host","<destinationhost>")
> destination.set_property("port",5000)
> self.pipeline.add(source,destination)
> gst.element_link_many(source,destination)
>
> but this code does't work, there is an error in linking source with
> destination:
>
> gst.LinkError: failed to link rtsp-source with udpsink0

rtspsrc has 'dynamic pads' which will only appear once the data starts
flowing through the pipeline. You might find this helpful:

http://www.jonobacon.org/2006/11/03/gstreamer-dynamic-pads-explained/

(also the application development manual).

FWIW, there's also gst.parse_launch(....)

Cheers
 -Tim



------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Very simple rtsp pipeline exit with error: Could not find a compatible pad to link

Mailing List SVR
In data lunedì 25 maggio 2009 20:28:19, Tim-Philipp Müller ha scritto:
: > On Sat, 2009-05-23 at 09:00 +0200, MailingList SVR wrote:
>
> > this pipeline works just fine so I decided to assemble it as python
> > code, here is the relevant portion:
> >
> > self.pipeline = gst.Pipeline("rtsp-pipeline")
> > source=gst.element_factory_make("rtspsrc","rtsp-source")
> > source.set_property("location","rtsp://<rtspip>")
> > source.set_property("latency",100)
> > destination=gst.element_factory_make("udpsink")
> > destination.set_property("host","<destinationhost>")
> > destination.set_property("port",5000)
> > self.pipeline.add(source,destination)
> > gst.element_link_many(source,destination)
> >
> > but this code does't work, there is an error in linking source with
> > destination:
> >
> > gst.LinkError: failed to link rtsp-source with udpsink0
>
> rtspsrc has 'dynamic pads' which will only appear once the data starts
> flowing through the pipeline. You might find this helpful:
>
> http://www.jonobacon.org/2006/11/03/gstreamer-dynamic-pads-explained/
>
> (also the application development manual).
>
> FWIW, there's also gst.parse_launch(....)


Yes works fine with gst.parse_launch


thanks
Nicola


>
> Cheers
> -Tim
>
>
>
> ------------------------------------------------------------------------------
> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
> is a gathering of tech-side developers & brand creativity professionals. Meet
> the minds behind Google Creative Lab, Visual Complexity, Processing, &
> iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
> Group, R/GA, & Big Spaceship. http://www.creativitycat.com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel