[Live-devel] RTSP MediaSession.cpp patch for RTP/RTCP for multicast
finlayson at live555.com
Fri Jan 15 14:46:54 PST 2010
>I am using VLC 0.9.10 with live555 snapshot live.2010.01.13.tar.gz
Are you sure? VLC disagrees:
>User-Agent: VLC media player (LIVE555 Streaming Media v2009.07.27)
Nonetheless, the problem you describe applies even to newer versions:
>BasicTaskScheduler::SingleStep(): select() fails: Bad file descriptor
> main decoder debug: thread started
>By turning on debugging I was able to ascertain that the problem was
>that the fd_set socket handle mask for the 'select()' call was not
>getting updated when RTP and RTCP sockets were closed and reopened
>with different file descriptor values because of a multicast
>address/port changed flagged by the RTSP stack.
Yes, you're right - you identified a bug. (This arose because your
server is doing something rather unusual (but still legal): define
the destination multicast address in the RTSP "SETUP" response.)
The problem was our implementation of the "changePort()" function. I
have now changed this so that it calls "bind()" directly, rather than
indirectly via closing and reopening sockets.
I have installed a new version (2010.01.15) of the code that - I hope
fixes this problem.
Live Networks, Inc.
More information about the live-devel