diff --git a/libav/udp.c b/libav/udp.c index 8df93a8a8a..3d159ef4f8 100644 --- a/libav/udp.c +++ b/libav/udp.c @@ -141,13 +141,13 @@ static int udp_open(URLContext *h, const char *uri, int flags) if (udp_fd < 0) goto fail; + my_addr.sin_family = AF_INET; + my_addr.sin_addr.s_addr = htonl (INADDR_ANY); if (s->is_multicast && !(h->flags & URL_WRONLY)) { - /* special case: the bind must be done on the multicast address */ - my_addr = s->dest_addr; + /* special case: the bind must be done on the multicast address port */ + my_addr.sin_port = s->dest_addr.sin_port; } else { - my_addr.sin_family = AF_INET; my_addr.sin_port = htons(s->local_port); - my_addr.sin_addr.s_addr = htonl (INADDR_ANY); } /* the bind is needed to give a port to the socket now */