[Live-devel] Lost consideration about SSM on Windows XP with VS6.

Brain Lai brainlai at gmail.com
Wed Nov 21 20:13:25 PST 2007


2007/11/22, Ross Finlayson <finlayson at live555.com>:
>
> I don't follow this.  The "forceMulticastOnUnspecified" hack - which
> is used only if a multicast address was *not* specified in SDP -
> cannot possibly be expected to work for SSM sessions, because, for
> such sessions, the source filter address can only be specified within
> a SDP description.
>
I have no plans to change the existing code at this time.
>
>
Do you mean according to RFC 2326 that an RTSP server should or must
explicitly specify whether the session is unicast or multicast (by providing
a multicast address) rather than give the client a chance to choose either?

And if the server doesn't specify the multicast address in its SDP, the
client should only try a regular multicast setup(join/leave) even if the SDP
has source-filter attribute?

>Besides, the ws2tcpip.h provided in a newly installed Visual Studio
> >C++ 6 doesn't define IP_ADD_SOURCE_MEMBERSHIP and
> >IP_DROP_SOURCE_MEMBERSHIP so the following conditional macro in
> >GroupHelper.cpp wiill  define them as wrong values on  Windows.
> >
> >#ifdef LINUX
> >#define IP_ADD_SOURCE_MEMBERSHIP   39
> >#define IP_DROP_SOURCE_MEMBERSHIP 40
> >#else
> >#define IP_ADD_SOURCE_MEMBERSHIP   25   // should be 15 on Windows
> >#define IP_DROP_SOURCE_MEMBERSHIP 26  // should be 16 on Windows
> >#endif
> >
> >Therefore, I suggest modify the above as the following:
> >
> >#ifdef LINUX
> >#define IP_ADD_SOURCE_MEMBERSHIP   39
> >#define IP_DROP_SOURCE_MEMBERSHIP 40
> >#elif defined(WINNT) || defined(_WINNT)
> >#define IP_ADD_SOURCE_MEMBERSHIP  15 /* join IP group/source */
> >#define IP_DROP_SOURCE_MEMBERSHIP 16 /* leave IP group/source */
> >#else
> >#define IP_ADD_SOURCE_MEMBERSHIP   25
> >#define IP_DROP_SOURCE_MEMBERSHIP 26
> >#endif
>
> Can anyone else (preferably someone who doesn't use a @gmail.com
> email address :-) confirm that Windows uses the values 25 and 26 for
> IP_ADD_SOURCE_MEMBERSHIP and IP_DROP_SOURCE_MEMBERSHIP?  (But why
> doesn't WIndows actually define those constants??)


Sorry, I am that guy using a @gmail ^_~

It's easy to reason.
MSDN<http://msdn2.microsoft.com/en-us/library/ms738586.aspx>tells that
MS supports IP_ADD_SOURCE_MEMBERSHIP and
IP_DROP_SOURCE_MEMBERSHIP since Windows XP but Visual C++ 6.0 was release
early(1998) before XP(2001). The ws2tcpip.h is updated in newer versions of
Visual Studio or the Platform SDK.

See ws2tcpip.h<http://www.cs.colorado.edu/%7Emain/cs1300/include/ws2tcpip.h>provided
by mingw or
that <http://source.winehq.org/source/include/ws2tcpip.h> by wine online for
their values for Windows.

>#define IP_BLOCK_SOURCE           17 /* block IP group/source */
> >#define IP_UNBLOCK_SOURCE         18 /* unblock IP group/source */
> >#define IP_PKTINFO                19 /* receive packet information for
> ipv4*/
> >#define IP_RECEIVE_BROADCAST      22 /* allow/block broadcast reception
> */
>
> No, I won't be defining those, because they're not used anywhere in our
> code.
> --


They are mentioned just in case. It's welcome to ignore them currently.

BR.
Brain Lai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.live555.com/pipermail/live-devel/attachments/20071121/3b1fafa0/attachment.html 


More information about the live-devel mailing list