GNOME Bugzilla – Bug 777069
GSocket does not work on Windows with IP expressed as RFC5952
Last modified: 2018-05-24 19:21:51 UTC
Please try this pipeline gst-launch-1.0 videotestsrc ! rtpvrawpay ! udpsink host="::ffff:192.168.10.220" as you can see the host is an IPv4-Mapped IPv6 addresses, this pipeline works fine on linux but not on windows, The problem is probably in glib and not in udpsink itself, anyway I have a workaround for my app and actually no time to investigate further
How does it fail on Windows?
(In reply to Sebastian Dröge (slomo) from comment #1) > How does it fail on Windows? wireshark show that no packet is sended, changing the ip to 192.168.10.220 wireshark show udp traffic, sorry no time to take gst logs now, I'm on deadline
Maybe Windows does not support RFC5952 then? The IPv6 is just passed as is to an IPv6 socket, nothing special happens there.
Reassigning to GLib as we don't do anything special here. Just g_inet_address_new_from_string() and then using that with a normal GSocket that was created with the same address family as the returned GInetAddress.
It fails here https://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/udp/gstmultiudpsink.c#n718 gst_multiudpsink_send_messages (): /GstPipeline:pipeline0/GstUDPSink:udpsink0: client ::ffff:192.168.10.220:5004, reason: Error sending message: Indirizzo richiesto non valido nel proprio contesto. the localized error string in english is something like this "Required Address not valid in its context"
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME'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.gnome.org/GNOME/glib/issues/1235.