- I run liveMedia in one thread, and the video source FIFO in another. When I call deliverFrame() it is from the FIFO thread, not the liveMedia thread. Is this a no-no?

Yes. 'liveMedia' code *must* be called from within one thread only. The only liveMedia-related thing that you can do with the other thread is set a global variable that can (for example) be seen by the other (i.e., liveMedia event loop) thread to indicate an event. For example, if you are using the "doEventLoop()" 'watchVariable' feature, you can set the 'watchVariable' from within the second thread.


- My card doesn't support more than 22 frame buffers. Once these fill up dropped frames are to be expected. Will I have to add intermediate buffering? Does liveMedia take some time to digest the initial start of the stream, or can I expect deliverFrame() to be called with low latency at most times?

If you are using "MPEG4VideoStreamDiscreteFramer" (instead of "MPEG4VideoStreamFramer") between your input source object and your "MPEG4ESVideoRTPSink" object, then the right thing should happen.
--

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to