[vlc-devel] LIVE555 RTSPClient asynchronous interface (was: Arggh! I fucked up. LIVE555 breaks VLC 1.1.6)

Ross Finlayson finlayson at live555.com
Mon Jan 24 16:46:01 CET 2011

Perhaps this discussion should be taken off the "vlc-devel" mailing 
list, because it's of interest only to me, and whoever on the VLC 
team is working on adapting the VLC "live555.cpp" interface code to 
use the new "RTSPClient" asynchronous interface ??

>  > >By the way the way we use the asynchronous interface is totally broken,
>>  >requests and responses are not even processed in order.
>>  I'm not sure I understand this.  If you're running a single LIVE555
>>  event loop (i.e., in just one thread), as you should, then RTSP
>>  responses will be processed in the order that they arrive.
>doEventLoop() is used to wait for both RTSP responses and incoming RTP
>packets. So there is a bug where for example you issue a seek request,
>and while waiting for the PAUSE response a packet is received, which
>causes the module to think that the PAUSE response came back with an

No, that sort of thing shouldn't happen, because incoming RTP (or 
RTCP) packets are received on a different socket from incoming RTSP 
responses, and are handled by different event handlers.

Even if RTP/RTCP-over-TCP streaming is being used, there should not 
be a problem, because even though (in this case) incoming RTP and 
RTCP packets are multiplexed together (along with RTSP responses) on 
the RTSP TCP socket, the LIVE555 library will demultiplex them and 
deliver the demultiplexed data to the appropriate event handling code.

I suspect that you might not be using the new "RTSPClient" interface 
correctly.  I recommend that you take a look at how our "openRTSP" 
demo client application uses it.  See "testProgs/playCommon.cpp" and 
"testProgs/openRTSP.cpp".  Of course, don't hesitate to let me know 
if you have any questions about this; I'm eager to help get it 

Ross Finlayson
Live Networks, Inc.

More information about the vlc-devel mailing list