[Live-devel] new rtspclient implementation question
Ross Finlayson
finlayson at live555.com
Mon Jul 5 22:37:55 PDT 2010
>I just recently started developing some code to implement a simple
>RTSP client.
>
>I have been using the new RTSPClient implementation. (the one with
>the non blocking sockets)
>
>Below is an excerpt from my code:
>
>
> rtspclient =
>RTSPClient::createNew(*env,link,verbosity_level,app_name,tunnel);
>
> *env << "created rtsp client\n";
>
> RTSPClient::responseHandler *fun = &printOptions; //printOptions
>prints the options response to stdout
> cseq = rtspclient->sendOptionsCommand(fun,NULL);
> *env << "Options Cseq = "<< cseq << "\n";
>
> fun = &printDescribe;//printDescribe prints the sdp description to stdout
> cseq = rtspclient->sendDescribeCommand(fun,NULL);
> *env << "Describe Cseq = " << cseq << "\n";
>
> env->taskScheduler().doEventLoop();
>
>
>Now, I know that the last statement effectively terminates the
>current thread of execution.
No it doesn't - it just moves the "current thread of execution" into
the event loop.
And that's exactly what should be happening. The handling of
incoming RTSP responses - and the subsequent calling of the response
handler function for each response - takes place within the event
loop. Note that LIVE555 applications are event-driven.
If you set the "verbosity_level" parameter to 1, you should see more
information about what's happening.
I notice, though, that you're trying to send 'pipelined' requests:
I.e., you're sending a "DESCRIBE" command before you receive a
response to the previous "OPTIONS" command. This is something that
RTSP allows, and which our RTSP client software supports (though it
has not been extensively tested yet). However, it's possible that
your server does not support it.
So, at least at first, I suggest that you don't try to pipeline
requests. In particular, I suggest that you move the call to
"doEventLoop()" after the call to "sendOptionsCommand()" (and then
move the call to "sendDescribeCommand()" to the end of the
"printOptions" response handler).
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20100705/e51343c3/attachment.html>
More information about the live-devel
mailing list