After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 469917 - multiudpsink IPv6 and diffserv TOS/TC markup
multiudpsink IPv6 and diffserv TOS/TC markup
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.6
Other Linux
: Normal enhancement
: 0.10.9
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-08-24 14:31 UTC by Henrik Eriksson
Modified: 2008-05-21 16:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add IPv6 and diffserv markup. Remove IGMP group joins for xmit sockets. (10.18 KB, patch)
2007-08-24 14:36 UTC, Henrik Eriksson
committed Details | Review

Description Henrik Eriksson 2007-08-24 14:31:08 UTC
Support for IPv6 and diff serv markup would be nice.
Comment 1 Henrik Eriksson 2007-08-24 14:36:44 UTC
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".
Comment 2 Wim Taymans 2008-05-21 10:53:28 UTC
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.
Comment 3 Henrik Eriksson 2008-05-21 12:43:47 UTC
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. 
Comment 4 Wim Taymans 2008-05-21 13:35:29 UTC
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.
Comment 5 Henrik Eriksson 2008-05-21 16:12:21 UTC
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.

Comment 6 Wim Taymans 2008-05-21 16:27:50 UTC
It does not make much sense now, indeed..