[Bug 696057] New: udpsink does not work with IPv4 addresses on MacOSX
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Mar 18 07:11:55 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=696057
GStreamer | gst-plugins | 1.x
Summary: udpsink does not work with IPv4 addresses on MacOSX
Classification: Platform
Product: GStreamer
Version: 1.x
OS/Version: Mac OS
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: Jack.Jansen at cwi.nl
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
udpsink does not work with IPv4 destination addresses on MacOSX. Tried on both
10.7 and 10.8. All systems were multihomed and IPv6 configured to "automatic",
in case that matters.
The easiest way to see the problem is as follows:
$ gst-launch-1.0 -v audiotestsrc ! mulawenc ! rtppcmupay ! udpsink
host="localhost" port="13002"
works fine.
$ gst-launch-1.0 -v audiotestsrc ! mulawenc ! rtppcmupay ! udpsink
host="127.0.0.1" port="13002"
fails, with errors
WARNING: from element /GstPipeline:pipeline0/GstUDPSink:udpsink0: Error
sending UDP packet
Additional debug info:
gstmultiudpsink.c(545): gst_multiudpsink_render ():
/GstPipeline:pipeline0/GstUDPSink:udpsink0:
Reason: Error sending message: Invalid argument
The problem turns out to be (after an incredible amount of debugging:-) that
gstmultiudpsink opens an IPv6 socket, and then does a sendmsg() to an IPv4
address.
Apparently this works on Linux, but not on BSD systems, see for example
<http://stackoverflow.com/questions/8087478/using-sendto-on-a-ipv6-socket-to-send-to-a-ipv4-address>.
The workaround is to use force-ipv4=true on udpsink, obviously. However, I
think that at the very least a better error message would be in place. Even
better would be converting the IPv4 address to its ::ffff: form.
--
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