[Live-devel] multicast issues on windows xp?

Alessandro Gaiarin alessandro.gaiarin at radiotrevisan.com
Fri Oct 29 12:27:20 PDT 2004


Hi,

Sorry for previously posted mail without a usefull object...

i followed your suggestion and downloaded the la latest release. 
unfortunately it still doesn't work:it doesn't receive any rtcp packets and
so when connection is closed by server it doesn't get rtcp BYE. It receives
only the "destination unreachable" ICMP packets sent by server IN THE SAME
RTCP PORT. It doesn't seems to be a socket problem because both ICMP and
RTCP packets are UDP packets on the same port. The only difference i noticed
is that rtcp packets are sent to multicast address, while ICMP packets are
sent directly to UNICAST client address. It's a strange behaviour, because
the rtp packets are sent in the same way as  the rtcp packet but the only
thing i receive are the rtp packets! Using Ethereal network sniffer utility,
i can see both rtp and rtcp packets arriving from the server so it doesn't
seems to be a network problem. Is there any known issues re multicast or
tcp/ip stack on Windows XP? Or, should I define two different multicast
addresses for RTP and RTCP? is there something wrong with the Windows XP
configuration??

-----Messaggio originale-----
Da: live-devel-bounces at ns.live.com [mailto:live-devel-bounces at ns.live.com]
Per conto di live-devel-request at ns.live.com
Inviato: giovedì 28 ottobre 2004 21.00
A: live-devel at ns.live.com
Oggetto: live-devel Digest, Vol 12, Issue 31

Send live-devel mailing list submissions to
	live-devel at lists.live.com

To subscribe or unsubscribe via the World Wide Web, visit
	http://lists.live.com/mailman/listinfo/live-devel
or, via email, send a message with subject or body 'help' to
	live-devel-request at lists.live.com

You can reach the person managing the list at
	live-devel-owner at lists.live.com

When replying, please edit your Subject line so it is more specific
than "Re: Contents of live-devel digest..."


Today's Topics:

   1. win select() problem (Alessandro Gaiarin)
   2. Re: win select() problem (Ross Finlayson)
   3. multicast issues on windows xp? (Alessandro Gaiarin)
   4. Re: multicast issues on windows xp? (Ross Finlayson)


----------------------------------------------------------------------

Message: 1
Date: Thu, 28 Oct 2004 12:45:06 +0200
From: "Alessandro Gaiarin" <alessandro.gaiarin at radiotrevisan.com>
Subject: [Live-devel] win select() problem
To: <live-devel at ns.live.com>
Message-ID: <000001c4bcdb$31fb29a0$3f00a8c0 at Alessandro>
Content-Type: text/plain; charset="us-ascii"

Hi all

 

i've used your playcommon test program to receive an audio streming. I
compiled it both in windows and in linux 

and i noted that in linux it works perfectly while in windows it seems not
to manage rtcp packets. So i can manage 

an rtcp BYE in windows: the program contiue cycling in doeventloop() and
doesn't stop.

I noted that when you arrive here:

 

  while ((handler = iter.next()) != NULL) {

 

    if (FD_ISSET(handler->socketNum, &readSet) &&
 FD_ISSET(handler->socketNum, &fReadSet) /* sanity check */ &&
 handler->handlerProc != NULL) {
      (*handler->handlerProc)(handler->clientData, SOCKET_READABLE);
    }

 

 

variables readSet and fReadSet  are different so when you have to handle
rtcp socket, it doesn't find it in readSet and the if clause is

never true for this socket. The two variables are diffeent because select()
modifies the readSet fd_set...

I modified that code to avoid checking  readSet ; in this way the program
blocks when it uses select() with the socket associate to the rtct port.

Has anybody experienced the same problem?

 

Thank you

 

 

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.live.com/pipermail/live-devel/attachments/20041028/570f2866/att
achment-0001.html

------------------------------

Message: 2
Date: Thu, 28 Oct 2004 09:01:07 -0700
From: Ross Finlayson <finlayson at live.com>
Subject: Re: [Live-devel] win select() problem
To: "LIVE.COM Streaming Media - development & use"
	<live-devel at ns.live.com>
Message-ID: <6.1.2.0.1.20041028085202.02460ad0 at localhost>
Content-Type: text/plain; charset="us-ascii"; format=flowed


>I noted that when you arrive here:

FYI, you're referring to "BasicTaskScheduler::SingleStep()"

>  while ((handler = iter.next()) != NULL) {
>     if (FD_ISSET(handler->socketNum, &readSet) &&
>  FD_ISSET(handler->socketNum, &fReadSet) /* sanity check */ &&
>  handler->handlerProc != NULL) {
>       (*handler->handlerProc)(handler->clientData, SOCKET_READABLE);
>     }
>
>variables readSet and fReadSet  are different

That's correct.  "fReadSet" is the actual set of readable sockets (i.e., 
for which we have a handler function).  It is copied to "readSet" before 
"select()" is called.  The "select()" call then modifies "readSet" to be 
the subset of those readable sockets on which there are currently data 
available.  Note: from "man select":

         "On return, select() replaces the given descriptor sets with 
subsets consisting of those descriptors that are ready for the requested 
operation."

That's why "readSet" is tested.  Note, however, that - as a sanity check - 
we also test "fReadSet", to make sure that a socket marked by "select()" as 
having available data was really one of the readable sockets.  I.e., we 
test that "readSet" (as set by "select()") really is a subset of "fReadSet".

>  so when you have to handle rtcp socket, it doesn't find it in readSet

If this is the case, then your OS's implementation of "select()" is broken.

The current code is correct.


	Ross Finlayson
	LIVE.COM
	<http://www.live.com/>


------------------------------

Message: 3
Date: Thu, 28 Oct 2004 18:12:53 +0200
From: "Alessandro Gaiarin" <alessandro.gaiarin at radiotrevisan.com>
Subject: [Live-devel] multicast issues on windows xp?
To: <live-devel at ns.live.com>
Message-ID: <000001c4bd08$faaa9d90$3f00a8c0 at Alessandro>
Content-Type: text/plain; charset="us-ascii"

Hi,

 

I wonder if somebody can help here.. Basically, have a WAV streamer using
mutlicast. In this context have two sockets for the RTP and RTCP protocols
on two different ports (RTP port <n>, RTCP port <n+1>), same multicast
address. Now, I'm working on the client side and have observed that the
client is not receiving any data from the RTCP port (well, have noticed that
my client didn't see the termination of the audio stream  (i.e. RTCP BYE
packet not received!). However, it does receive data from the RTP port. Have
Even running the test applications testWAVStreamer and openRTSP I'm
experiencing the same problem. Have installed a TCP/IP snooper and can
actually see UDP packets coming from the server RTP and RTCP ports.
Debugging the code, the select gets only awaken for network data coming from
the RTP port. Is there any known issues re multicast or tcp/ip stack on
Windows XP? Or, should I define two different mutlicast addresses for RTP
and RTCP? is there something wrong with the Windows XP configuration??

 

I'm using liveMedia source code downloaded a month ago (20/09)

 

Thanks a million,

 

 

Alessandro

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.live.com/pipermail/live-devel/attachments/20041028/65c0c27a/att
achment-0001.html

------------------------------

Message: 4
Date: Thu, 28 Oct 2004 09:32:07 -0700
From: Ross Finlayson <finlayson at live.com>
Subject: Re: [Live-devel] multicast issues on windows xp?
To: "LIVE.COM Streaming Media - development & use"
	<live-devel at ns.live.com>
Message-ID: <6.1.2.0.1.20041028093110.0359b3b0 at localhost>
Content-Type: text/plain; charset="us-ascii"; format=flowed


>I'm using liveMedia source code downloaded a month ago (20/09)

Don't do this.  Please upgrade to the latest version of the code.  No 
support will be given for people who are using old versions of the code.


	Ross Finlayson
	LIVE.COM
	<http://www.live.com/>


------------------------------

_______________________________________________
live-devel mailing list
live-devel at lists.live.com
http://lists.live.com/mailman/listinfo/live-devel


End of live-devel Digest, Vol 12, Issue 31
******************************************





More information about the live-devel mailing list