From: Peter Kjellerstedt Date: Wed, 4 Jun 2008 11:33:23 +0000 (+0000) Subject: gst/tcp/gstmultifdsink.c: Fixed accidental use of IPv4 options for all IPv6 addresses. X-Git-Tag: 1.19.3~511^2~10417 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c140528357036445587120dccc8c77e2e9cf156e;p=platform%2Fupstream%2Fgstreamer.git gst/tcp/gstmultifdsink.c: Fixed accidental use of IPv4 options for all IPv6 addresses. Original commit message from CVS: * gst/tcp/gstmultifdsink.c: (setup_dscp_client): Fixed accidental use of IPv4 options for all IPv6 addresses. --- diff --git a/ChangeLog b/ChangeLog index 3609952..a3d1b3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-06-04 Peter Kjellerstedt + + * gst/tcp/gstmultifdsink.c: (setup_dscp_client): + Fixed accidental use of IPv4 options for all IPv6 addresses. + 2008-06-04 Tim-Philipp Müller * gst-libs/gst/interfaces/mixertrack.h: diff --git a/gst/tcp/gstmultifdsink.c b/gst/tcp/gstmultifdsink.c index 62d1159..0296d8c 100644 --- a/gst/tcp/gstmultifdsink.c +++ b/gst/tcp/gstmultifdsink.c @@ -731,18 +731,20 @@ setup_dscp_client (GstMultiFdSink * sink, GstTCPClient * client) af = ssaddr.ss_family; - /* If this is a v4-mapped address then do ipv4 qos. */ + /* if this is an IPv4-mapped address then do IPv4 QoS */ if (af == AF_INET6) { struct sockaddr_in6 *saddr6 = (struct sockaddr_in6 *) &ssaddr; GST_DEBUG_OBJECT (sink, "check IP6 socket"); - if (IN6_IS_ADDR_V4MAPPED (&(saddr6->sin6_addr))) + if (IN6_IS_ADDR_V4MAPPED (&(saddr6->sin6_addr))) { GST_DEBUG_OBJECT (sink, "mapped to IPV4"); - af = AF_INET; + af = AF_INET; + } } - /* Extract and shift 6 bits of the dscp. */ + /* extract and shift 6 bits of the DSCP */ tos = (sink->qos_dscp & 0x3f) << 2; + switch (af) { case AF_INET: ret = setsockopt (client->fd.fd, IPPROTO_IP, IP_TOS, &tos, sizeof (tos)); @@ -2750,6 +2752,7 @@ gst_multi_fd_sink_get_property (GObject * object, guint prop_id, GValue * value, case PROP_QOS_DSCP: g_value_set_int (value, multifdsink->qos_dscp); break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break;