[FFmpeg-devel] UDP multicasts mixed up on receive due to wrong	bind()
    Joakim Plate 
    elupus
       
    Thu Oct 16 16:19:24 CEST 2008
    
    
  
Joakim Plate <elupus <at> ecce.se> writes:
> 
> Why not just try to bind to the multicast address if that fails bind to any? 
I 
> suspect winsock filters incoming data based on the multicast groups the said 
> socket is said to have a membership in.
> 
> Joakim
> 
Sadly it seems winsock is quite broken for this situation.. Found this tidbit 
on msdn.
<quote>
The memberships associated with a socket do not necessarily determine which 
datagrams are received by that socket. Incoming multicast packets are accepted 
by the kernel IP layer if any socket has claimed a membership in the 
destination group of the datagram; however, delivery of a multicast datagram 
to a particular socket is based on the destination port (or protocol type, for 
raw sockets), just as with unicast datagrams. To receive multicast datagrams 
sent to a particular port, it is necessary to bind to that local port, leaving 
the local address unspecified (that is, INADDR_ANY). 
</quote>
Joakim
    
    
More information about the ffmpeg-devel
mailing list