GNOME Bugzilla – Bug 469917
multiudpsink IPv6 and diffserv TOS/TC markup
Last modified: 2008-05-21 16:27:50 UTC
Support for IPv6 and diff serv markup would be nice.
Created attachment 94261 [details] [review] Add IPv6 and diffserv markup. Remove IGMP group joins for xmit sockets. This patch adds IPv6 support and support for setting the diff serv dscp in multiudpsink. It also removes IGMP joins from the elements socket since this is not needed to send multicast. If the sockets somehow ends up being used to receive multicast this is wrong, but I couldn't see any possibility for that. The dscp is set through a new property, "qos_dscp".
I did not get the part where you removed joining the multicast groups. Patch by: Henrik Eriksson <henriken at axis dot com> * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_class_init), (gst_multiudpsink_init), (gst_multiudpsink_setup_qos_dscp), (gst_multiudpsink_set_property), (gst_multiudpsink_get_property), (gst_multiudpsink_init_send), (gst_multiudpsink_add_internal): * gst/udp/gstmultiudpsink.h: Add qos-dscp property to manage the Quality of service.
I removed IGMP joins to multicast groups on the socket since they should not be necessary to transmit multicast, i.e. rfc 1112 multicast level 1 support only. But if the socket somehow ends being used as a multicast listener then it is wrong to not do a join. The con of doing an unnecessary join on a group is that the network must route that groups traffic to the joined node, adding to network and node loads, so I wanted to avoid that if there is no need to receive in the element.
oh, I see it now. There is a property called auto-join to disable this feature, unfortunatly it seems to be enabled by default, presumably because it expects the sockets to be used for listening as well. We can't really change that now but you can disable it manually with the property.
Cool, I didn't get the use of the auto join property. The current code is kind of backwards for pure multicast senders now, though. The TTL and loop features are only set if you also receive on/join the group.
It does not make much sense now, indeed..