[vlc-devel] Re: vlc: svn commit r17999 (courmisch)

Marian Durkovic md at bts.sk
Fri Nov 24 09:07:18 CET 2006

On Thu, Nov 23, 2006 at 05:06:07PM +0100, R?mi Denis-Courmont wrote:
> Le jeudi 23 novembre 2006 16:07, Marian Durkovic a ?crit :
> > > VLC has never been able to properly filter out ASM sources (and not
> > > even SSM sources in fact, though this is far more theoretical a
> > > problem), since VLC never ever used connect() toward the right
> > > source address when doing multicast. I DO intend to do that in
> > > 0.9.0.
> >
> > This is not true. Under WinXP, if you issue SSM join, the OS properly
> > allows only the specified source. You have just broken this.
> *Perhaps* Winsock does break the customs in yet another manner. Even 
> then, it was still badly broken on anything else. Now it is finally 
> working fine on my decent-IP-stack-given system.

You're completely wrong here. Have you *ever* read RFC3376 ?!
I quote:

    "After a multicast packet has been accepted from an interface by the
     IP layer, its subsequent delivery to the application or process
     listening on a particular socket depends on the multicast reception
     state of that socket"

So the reality is, that Winsock behaves 100% correctly according to RFC
and your "decent-IP-stack" is either not supporting IGMPv3 at all
or is utterly broken.

Now all your efforts are aimed to workaround this defficiency on your
particular system with completely unstandard and non-compliant hacks.
You're NOT supposed to limit the reception state of the socket by
connecting it to specific remote-address. This approach *might* work
with VLC if it only wants to see packets from sigle source IP address,
but RFC3376 provides standardized framework even for applications
that require packet delivery from 2, 3 or more sources at the same time. 
Obviosuly connecting to specific remote address can't work here, so the
standard way is to connect multicast socket to INADDR_ANY and use
IP_ADD_SOURCE_MEBERSHIP to tell the OS to start delivering packets only
from specified source(s).

Moreover, IP_ADD_SOURCE_MEBERSHIP is much more intelligent, since
on IGMPv3 enabled networks, it forwards this information to the multicast
router and instructs it to only deliver packets for the specified source(s).
This way network bandwidth is not wasted by traffic from unwanted sources.

> That's not the point. The fallback is meant for IP stacks that DO NOT 
> support SSM signaling AT ALL. [17999] is about system that DO support 
> SSM signaling but may want to perform source filtering on ASM.

Stacks properly supporting SSM signaling are supposed to do source
filtering without 17999. If it's not the case for yours, complain
at the OS mailinglists.

> You have been complaining loudly about VLC adding the source-filter 
> automatically in SDPs because, you said, it broke ASM by causing 
> receiving VLC to try SSM for ASM-based streams. Now you are complaining 
> that VLC will not try SSM for ASM-based streams, when there is a 
> source-filter. You are contradicting yourself.

No, you again don't fully understand the problem. My complaints were
concerning the fact, that you activated source filtering by default
for ALL streams without properly recognizing the problems of such approach.
This is very different from the situation, where an advanced user 
intentionally instructs VLC to do source filtering in some very
specific environment (and of course takes full responsibility for it).

	With kind regards,


----                                                                  ----
----   Marian Durkovic                       network  manager         ----
----                                                                  ----
----   Slovak Technical University           Tel: +421 2 524 51 301   ----
----   Computer Centre, Nam. Slobody 17      Fax: +421 2 524 94 351   ----
----   812 43 Bratislava, Slovak Republic    E-mail/sip: md at bts.sk    ----
----                                                                  ----

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html

More information about the vlc-devel mailing list