GNOME Bugzilla – Bug 536903
udpsrc now assumes one is using multicast
Last modified: 2008-06-14 15:40:02 UTC
The latest patches to udpsrc assumes that it is using multicast (and as such break farsight). I'm attaching a patch that check if the multicast group and port are set before doing any multicast stuff
Created attachment 112248 [details] [review] check for multicast group/ip before doing anything... Actually, now that I look at it more, it seems all wrong, src->myaddr is never set if there is no multicast address, so its impossible to use ipv6 (there should be a property for ipv6 I guess).
So as I understand you this patch only makes things a bit saner but more work is needed?
It seems broken when you provide an external fd.
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init), (gst_udpsrc_create), (gst_udpsrc_set_property), (gst_udpsrc_get_property), (gst_udpsrc_start), (gst_udpsrc_stop): * gst/udp/gstudpsrc.h: Add property to control automatic join/leave of multicast groups. Add G_LIKELY. Remove setting caps on buffers explicitly, basesrc does that for us now. Improve debug info. Convert some non-fatal error into warnings. Use g_ntohs for better portability. Leave multicast groups when stopping. When using external sockets, use getsockname() on them to fill up the addr structure before calling methods that use the structure. Should all fix #536903. API: GstUDPSrc::auto-multicast property
Can we default auto-multicast to FALSE, otherwise it "breaks" the abi..
Oh really? I thought it always automatically joined multicast groups before.
Maybe it did not join automatically for external fds because there was a bug. In that case I'm happy with making don't-join the default for external fds (is that at all possible?)
Well, it should not join if no multicast group is set...
Instead of having a auto-multicast property