[Live-devel] Is it valid to call startPlaying on a MediaSink AFTER TaskScheduler->doEventLoop()?

Ben Rush ben at ben-rush.net
Mon Jun 27 14:20:16 PDT 2016


I hope I'm not asking too many questions on this group. I *am* searching
through the archives, but I'm not always finding the answers I need.

Anyway, standard setup:

_taskScheduler = BasicTaskScheduler::createNew();
    _usageEnvironment = BasicUsageEnvironment::createNew(*_taskScheduler);
.....
_taskScheduler->doEventLoop(&_volatile);

I have walked through the server code some, and I think the answer is yes,
but is it valid to "attach" a RTPSink (SimpleRTPSink, for example) by
calling

_sink->startPlaying(...)

AFTER the doEventLoop has been called? So long as its been initialized with
the same BasicUsageEnvironment which was passed my BasicTaskScheduler, it
should then be hooked up and start executing. Correct?

And if that's okay to do, are there certain points in the pipeline where
doing so would result in the sink NOT playing correctly? I'd like to start
sending RTP packets to the source AFTER I start receiving packets from said
source. So in MediaSink, in afterGettingFrame, I check that I haven't done
so already, and then I spin up an instance of a SimleRTPSink and then call
->startPlaying (to stream back to the source).

Am I doing this in the right points of the pipeline?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20160627/a03f8f8a/attachment.html>


More information about the live-devel mailing list