[Bug 702819] New: udpsink multicast-iface does not seem to work correctly

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Jun 21 07:39:08 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=702819
  GStreamer | gst-plugins-good | 1.0.7

           Summary: udpsink multicast-iface does not seem to work
                    correctly
    Classification: Platform
           Product: GStreamer
           Version: 1.0.7
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: visechelle at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


I was trying to use the multicast-iface property of udpsink/udpsrc elements on
2 machines with 2 network cards.
Setting this property on udpsrc worked fine but not for udpsink whereas this
property is set when joining the multicast in both elements.
Here are my pipelines:

gst-launch-1.0 --gst-debug=*udp*:5 audiotestsrc ! audioconvert ! rtpL16pay !
udpsink host=239.5.5.5 port=5555 multicast-iface=eth1

gst-launch-1.0 --gst-debug=*udp*:5 udpsrc uri=udp://239.5.5.5:5555
multicast-iface=eth1 ! application/x-rtp, media=audio, clock-rate=44100,
encoding-name=L16, channels=1, payload=96 ! rtpL16depay ! audioconvert !
alsasink

and my routing table:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.86.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.16.86.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         172.16.86.1     0.0.0.0         UG    0      0        0 eth0

udpsrc will correctly get the stream from eth1 whereas udpsink will send the
stream on eth0. Of course, if I change the default gateway on eth1 or add a
static route for my stream, the stream will be sent on eth1 but not using
multicast-iface for udpsink.
I also tried to set the option like this:

if (sink->multi_iface)
      setsockopt (g_socket_get_fd (sink->used_socket), SOL_SOCKET,
SO_BINDTODEVICE, sink->multi_iface, strlen (sink->multi_iface) * sizeof
(gchar));

after creating the socket in gst_multiudpsink_start and in this case it was
using the good interface.

Any idea, why it does not work like it udpsrc?

Cheers,

Paul HENRYS

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list