GNOME Bugzilla – Bug 765925
sdpdemux/src: Add property for specifying multicast-interface
Last modified: 2018-11-03 13:50:26 UTC
Created attachment 327199 [details] SDP file On a server RTP multicast streaming can be started, and the information about the stream are inside an SDP file. This file is available for HTTP downloading and contains the following information: - multicast RTP stream using G711u (see attachment). On a client the following pipeline is used for playback: gst-launch-1.0 -vv souphttpsrc location=http://<ip>:<port>/test.sdp ! sdpdemux ! decodebin ! audioconvert ! alsasink On client side there is only one network device/interface (eth0). The pipeline ends up with an error linked to the fact that the multicast IP could not be set correctly. Please find in attachment the debug log with GST_DEBUG=udpsrc:6.
Created attachment 327200 [details] debug log
Can you provide the output of "ifconfig eth0"? And also "route -n"? Either your eth0 does not support multicast, or you're missing a route for it to work. That's AFAIK the only reason why it could give "no such device" when trying to join a multicast group.
My interface supports multicast since I can stream and listen to multicast streams when using udpsink and udpsrc. eth0 Link encap:Ethernet HWaddr 00:0E:3D:28:08:BF inet addr:10.20.1.39 Bcast:10.20.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6790 errors:0 dropped:0 overruns:0 frame:0 TX packets:4602 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1559812 (1.4 MiB) TX bytes:0 (0.0 B) Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.20.1.254 0.0.0.0 UG 0 0 0 eth0 10.20.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
How do you configure udpsrc/udpsink on that machine so that it works?
On udpsrc I use the properties multicast-iface=eth0 auto-multicast=true. On udpsink I just use multicast-iface=eth0.
If you don't set multicast-iface, do you also get the "no such device" error?
I was about to add this info :) If I do not put multicast-iface property then I also get the error.
Question then is: why? :) Usually it selects the interface automatically in a sensible way, especially if no other interface is available anyway. That's clearly a problem in your system setup though. In any case, it would make sense to add a multicast-iface property to sdpdemux/sdpsrc, similar to what rtspsrc already has.
Indeed, I am now checking my embedded linux platform. In the mean time I will also add a multicast-iface property to sdpdemux on my GStreamer version, and plan to port it to the latest GStreamer version so that I can push the patch.
Julien, any news on the patch?
Hi Sebastian, I am starting with it.
Created attachment 328546 [details] [review] Patch to add sdpdemux multicast interface property Please find in attachment the patch. Please review it and let me know if some adjustements are needed.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/383.