[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
>error
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
resolved.
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
More information about the vlc-devel
mailing list