[Live-devel] new rtspclient implementation question

Rachit Biyani rachitbiyani at gmail.com
Mon Jul 5 10:52:13 PDT 2010


Hello,

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. However, without this statement, the printOptions and
printDescribe functions dont output anything. This would have probably
worked fine without the last statement if blocking sockets were used.

Is there a way for the printOptions/Describe functions to be called without
using the env->taskScheduler().doEventLoop() statement?

I tried looking through the UsageEnvironment and TaskScheduler classes, but
I'm not as comfortable with C++ as I am with C, so I would really appreciate
any help/suggestions I could get.

Thanks,
Rachit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20100705/09baa69c/attachment.html>


More information about the live-devel mailing list