rtsp, multifdsink: Unify the use of union gst_sockaddr.
This commit is contained in:
parent
ec294cc7b2
commit
a038a8d46d
@ -1769,17 +1769,18 @@ gst_rtsp_connection_set_qos_dscp (GstRTSPConnection * conn, guint qos_dscp)
|
|||||||
{
|
{
|
||||||
union gst_sockaddr
|
union gst_sockaddr
|
||||||
{
|
{
|
||||||
struct sockaddr_storage sa_s;
|
struct sockaddr sa;
|
||||||
struct sockaddr_in6 saddr6;
|
struct sockaddr_in6 sa_in6;
|
||||||
|
struct sockaddr_storage sa_stor;
|
||||||
} sa;
|
} sa;
|
||||||
socklen_t sa_sl = sizeof (sa);
|
socklen_t slen = sizeof (sa);
|
||||||
gint af;
|
gint af;
|
||||||
gint tos;
|
gint tos;
|
||||||
|
|
||||||
g_return_val_if_fail (conn != NULL, GST_RTSP_EINVAL);
|
g_return_val_if_fail (conn != NULL, GST_RTSP_EINVAL);
|
||||||
g_return_val_if_fail (conn->fd.fd >= 0, GST_RTSP_EINVAL);
|
g_return_val_if_fail (conn->fd.fd >= 0, GST_RTSP_EINVAL);
|
||||||
|
|
||||||
if (getsockname (conn->fd.fd, (struct sockaddr *) &sa.sa_s, &sa_sl) < 0)
|
if (getsockname (conn->fd.fd, &sa.sa, &slen) < 0)
|
||||||
goto no_getsockname;
|
goto no_getsockname;
|
||||||
|
|
||||||
af = sa.sa_s.ss_family;
|
af = sa.sa_s.ss_family;
|
||||||
@ -1787,7 +1788,7 @@ gst_rtsp_connection_set_qos_dscp (GstRTSPConnection * conn, guint qos_dscp)
|
|||||||
/* if this is an IPv4-mapped address then do IPv4 QoS */
|
/* if this is an IPv4-mapped address then do IPv4 QoS */
|
||||||
if (af == AF_INET6) {
|
if (af == AF_INET6) {
|
||||||
|
|
||||||
if (IN6_IS_ADDR_V4MAPPED (&sa.saddr6.sin6_addr))
|
if (IN6_IS_ADDR_V4MAPPED (&sa.sa_in6.sin6_addr))
|
||||||
af = AF_INET;
|
af = AF_INET;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -703,8 +703,9 @@ setup_dscp_client (GstMultiFdSink * sink, GstTCPClient * client)
|
|||||||
gint ret;
|
gint ret;
|
||||||
union gst_sockaddr
|
union gst_sockaddr
|
||||||
{
|
{
|
||||||
struct sockaddr_storage ssaddr;
|
struct sockaddr sa;
|
||||||
struct sockaddr_in6 saddr6;
|
struct sockaddr_in6 sa_in6;
|
||||||
|
struct sockaddr_storage sa_stor;
|
||||||
} sa;
|
} sa;
|
||||||
socklen_t slen = sizeof (sa);
|
socklen_t slen = sizeof (sa);
|
||||||
gint af;
|
gint af;
|
||||||
@ -713,20 +714,18 @@ setup_dscp_client (GstMultiFdSink * sink, GstTCPClient * client)
|
|||||||
if (sink->qos_dscp < 0)
|
if (sink->qos_dscp < 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if ((ret =
|
if ((ret = getsockname (client->fd.fd, &sa.sa, &slen)) < 0) {
|
||||||
getsockname (client->fd.fd, (struct sockaddr *) &sa.ssaddr,
|
|
||||||
&slen)) < 0) {
|
|
||||||
GST_DEBUG_OBJECT (sink, "could not get sockname: %s", g_strerror (errno));
|
GST_DEBUG_OBJECT (sink, "could not get sockname: %s", g_strerror (errno));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
af = sa.ssaddr.ss_family;
|
af = sa.sa.sa_family;
|
||||||
|
|
||||||
/* if this is an IPv4-mapped address then do IPv4 QoS */
|
/* if this is an IPv4-mapped address then do IPv4 QoS */
|
||||||
if (af == AF_INET6) {
|
if (af == AF_INET6) {
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (sink, "check IP6 socket");
|
GST_DEBUG_OBJECT (sink, "check IP6 socket");
|
||||||
if (IN6_IS_ADDR_V4MAPPED (&(sa.saddr6.sin6_addr))) {
|
if (IN6_IS_ADDR_V4MAPPED (&(sa.sa_in6.sin6_addr))) {
|
||||||
GST_DEBUG_OBJECT (sink, "mapped to IPV4");
|
GST_DEBUG_OBJECT (sink, "mapped to IPV4");
|
||||||
af = AF_INET;
|
af = AF_INET;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user