[Live-devel] Need Help with test*Streamer From a Live Source

Ross Finlayson finlayson at live555.com
Mon Dec 28 04:15:26 PST 2009


>- 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/


More information about the live-devel mailing list