[Live-devel] Building Mac RTSP Client Application

Ross Finlayson finlayson at live555.com
Fri Nov 7 21:51:34 PST 2014


> - TaskScheduler? 
> From what I see in the example and the library code, it's not clear to me why BasicTaskScheduler wouldn't be appropriate to use. I guess some info on when TaskScheduler needs subclassing would be helpful.

“BasicTaskScheduler” turns out to be good enough for most people don’t need to.  Defining your own subclass of “TaskScheduler” is usually something that you’d do only if you wanted to embed LIVE555-based code in some other existing event-loop framework.

 
> - RTSPClient
> Following the example code, since we want to handle multiple streams.

You should use the “testRTSPClient” code as a model for how to do this.


> - MediaSink (or FileSink?)
> The example makes it clear that instead of DummySink we'll be creating our own. The plan is to implement an AVAssetWriter-based solution. We have other parts of our app that use this, and the work in this case will involve properly describing the NAL units (and audio samples) to pass the data to those classes. Such details are clearly outside of this list's scope, but my question is whether it would be more appropriate to be subclassing MediaSink or FileSink.

Because you’re planning on recording MP4-format files, you should use “QuickTimeFileSink”, as is done by “openRTSP” (“testProgs/playCommon.cpp”).


> I'm unsure about how we'd signal from outside the event loop that it's time to stop a particular stream and close up it's file. Would that be best done via the "EventTrigger" mechanism the faq mentions? Is there some more info, or example code, on that?

See “liveMedia/DeviceSource.cpp”.


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/20141107/46675b5f/attachment.html>


More information about the live-devel mailing list