[Live-devel] Question about Recursive TaskScheduler::doEventLoop Call

Mit Shan shanmingming at itssky.com
Sun Jan 10 23:56:01 PST 2021


I want to achieve the following function in live555 RTSP server:

(a). Block for some time in the method 
"GenericMediaServer::lookupServerMediaSession", when processing the 
"DESCRIBE" request (and before we response to it), while having live555 
RTSP server running normally with other streams data sent without block.

One solution, from previous mailing list, is call 
"TaskScheduler::doEventLoop" with a watch variable in 
"GenericMediaServer::lookupServerMediaSession", to block current 
process, and resume from here when watch variable set.

But I find a problem here: there may be several operation (a) at the 
same time, which means "TaskScheduler::doEventLoop" is called 
recursively multiple times, with several watch variable. And earlier 
used watch variable can only be detected after inner call of 
"TaskScheduler::doEventLoop" function returns.

Is my understanding correct? Or is there any solution to the desired 
scenery here?

Glad to get answers!





More information about the live-devel mailing list