[SCM] libav/experimental: Convert ff_is_multicast_address to take a struct sockaddr parameter

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:17:12 UTC 2013


The following commit has been merged in the experimental branch:
commit 55b6bd1c01be167f0fcea2ec181d644e24c31454
Author: Martin Storsjö <martin at martin.st>
Date:   Thu Oct 7 07:58:56 2010 +0000

    Convert ff_is_multicast_address to take a struct sockaddr parameter
    
    Not all users of this function will have a full struct sockaddr_storage
    available, and casting other sockaddrs to sockaddr_storage is wrong,
    while any sockaddr can be cast to a base sockaddr.
    
    Originally committed as revision 25388 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/network.h b/libavformat/network.h
index 1ad7319..d6aee93 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -162,13 +162,13 @@ const char *ff_gai_strerror(int ecode);
 #define IN6_IS_ADDR_MULTICAST(a) (((uint8_t *) (a))[0] == 0xff)
 #endif
 
-static inline int ff_is_multicast_address(struct sockaddr_storage *addr)
+static inline int ff_is_multicast_address(struct sockaddr *addr)
 {
-    if (addr->ss_family == AF_INET) {
+    if (addr->sa_family == AF_INET) {
         return IN_MULTICAST(ntohl(((struct sockaddr_in *)addr)->sin_addr.s_addr));
     }
 #if HAVE_STRUCT_SOCKADDR_IN6
-    if (addr->ss_family == AF_INET6) {
+    if (addr->sa_family == AF_INET6) {
         return IN6_IS_ADDR_MULTICAST(&((struct sockaddr_in6 *)addr)->sin6_addr);
     }
 #endif
diff --git a/libavformat/udp.c b/libavformat/udp.c
index bfb9b77..2a4a885 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -254,7 +254,7 @@ int udp_set_remote_url(URLContext *h, const char *uri)
     if (s->dest_addr_len < 0) {
         return AVERROR(EIO);
     }
-    s->is_multicast = ff_is_multicast_address(&s->dest_addr);
+    s->is_multicast = ff_is_multicast_address((struct sockaddr*) &s->dest_addr);
 
     return 0;
 }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list