Hi everyone,
I try to receive the rtsp stream (a MJPEG stream), sent from an Elphel camera. I get no problems when using vlc or the gst-launch tool. The correct pipeline for gst-launch is: gst-launch rtspsrc location="rtsp://192.168.1.9:554" ! rtpjpegdepay ! jpegdec ! xvimagesink I tried to embed this pipeline in my own application, but somehow, I can't link the rtspsrc to another element. I tried to link it to an rtpjpegdepay element, a queue element, even a fakesink, but nothing works. My code looks sth like this: gst_init (&argc, &argv); GMainLoop *loop = g_main_loop_new(NULL, FALSE); GstElement *pipeline = gst_pipeline_new ("Windows Overlay Test"); GstElement *rtspsrc = gst_element_factory_make("rtspsrc", NULL); GstElement *rtpjpeg = gst_element_factory_make("rtpjpegdepay", NULL); GstElement *jpegdec = gst_element_factory_make("jpegdec", NULL); GstElement *fakesink = gst_element_factory_make("fakesink", NULL); if (!(rtspsrc && rtpjpeg && jpegdec && fakesink && queue1 && queue2 && queue3)) { qCritical() << "Elements could not be created!!!"; exit(-1); } g_object_set(G_OBJECT(rtspsrc), "location", "rtsp://192.168.1.9:554", NULL); g_object_set(G_OBJECT(fakesink), "dump", true, NULL); gst_bin_add_many (GST_BIN (pipeline), rtspsrc, rtpjpeg, jpegdec, fakesink, NULL); if (!gst_element_link(rtspsrc, fakesink)) { qCritical() << "RTSPSRC could not be linked!!!"; exit(-1); } The "gst_element_link(rtspsrc, fakesink)" always returns false. Here's the interesting part of the debug output (GST_DEBUG=4): 0:00:00.457158021 6075 0x1195730 DEBUG GST_PARENTAGE gstbin.c:1152:gst_bin_add_func:<Windows Overlay Test> added element "fakesink0" 0:00:00.457173107 6075 0x1195730 INFO GST_ELEMENT_PADS gstutils.c:1614:gst_element_link_pads_full: trying to link element rtspsrc0:(any) to element fakesink0:(any) 0:00:00.457184491 6075 0x1195730 DEBUG GST_ELEMENT_PADS gstutils.c:1755:gst_element_link_pads_full: trying dest pad fakesink0:sink 0:00:00.457193920 6075 0x1195730 DEBUG GST_ELEMENT_PADS gstutils.c:1115:gst_element_get_compatible_pad: finding pad in rtspsrc0 compatible with fakesink0:sink 0:00:00.457204536 6075 0x1195730 DEBUG GST_ELEMENT_PADS gstutils.c:1200:gst_element_get_compatible_pad:<rtspsrc0> Could not find a compatible unlinked always pad to link to fakesink0:sink, now checking request pads 0:00:00.457485856 6075 0x1195730 DEBUG GST_CAPS gstpad.c:2274:gst_pad_get_caps_reffed:<fakesink0:sink> get pad caps 0:00:00.457495564 6075 0x1195730 DEBUG GST_CAPS gstpad.c:2184:gst_pad_get_caps_unlocked:<fakesink0:sink> get pad caps 0:00:00.457504084 6075 0x1195730 DEBUG GST_CAPS gstpad.c:2188:gst_pad_get_caps_unlocked:<fakesink0:sink> dispatching to pad getcaps function 0:00:00.457518681 6075 0x1195730 DEBUG GST_CAPS gstpad.c:2201:gst_pad_get_caps_unlocked:<fakesink0:sink> pad getcaps returned ANY 0:00:00.457546268 6075 0x1195730 DEBUG GST_ELEMENT_PADS gstutils.c:889:gst_element_get_compatible_pad_template: Looking for a suitable pad template in rtspsrc0 out of 1 templates... 0:00:00.457557513 6075 0x1195730 DEBUG GST_CAPS gstutils.c:905:gst_element_get_compatible_pad_template: compatible direction: found src pad template "stream%d" 0:00:00.457566313 6075 0x1195730 DEBUG GST_CAPS gstutils.c:908:gst_element_get_compatible_pad_template: intersecting ANY 0:00:00.457575462 6075 0x1195730 DEBUG GST_CAPS gstutils.c:910:gst_element_get_compatible_pad_template: ..and application/x-rtp; application/x-rdt 0:00:00.457585659 6075 0x1195730 DEBUG GST_CAPS gstutils.c:916:gst_element_get_compatible_pad_template: caps are compatible 0:00:00.457593830 6075 0x1195730 DEBUG GST_ELEMENT_PADS gstutils.c:928:gst_element_get_compatible_pad_template: Returning new pad template 0x1556bb0 0:00:00.457602770 6075 0x1195730 INFO GST_ELEMENT_PADS gstelement.c:960:gst_element_get_static_pad: no such pad 'stream%d' in element "rtspsrc0" 0:00:00.457617018 6075 0x1195730 INFO GST_ELEMENT_PADS gstutils.c:1221:gst_element_get_compatible_pad:<rtspsrc0> Could not find a compatible pad to link to fakesink0:sink 0:00:00.457626795 6075 0x1195730 DEBUG GST_ELEMENT_PADS gstutils.c:1797:gst_element_link_pads_full: we might have request pads on both sides, checking... 0:00:00.457635944 6075 0x1195730 DEBUG GST_ELEMENT_PADS gstutils.c:1838:gst_element_link_pads_full: no link possible from rtspsrc0 to fakesink0 RTSPSRC could not be linked!!! Where's the problem? Thanks for your help! Hanno ------------------------------------------------------------------------------ What happens now with your Lotus Notes apps - do you make another costly upgrade, or settle for being marooned without product support? Time to move off Lotus Notes and onto the cloud with Force.com, apps are easier to build, use, and manage than apps on traditional platforms. Sign up for the Lotus Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |