> Mjpeg streaming and encoding is done in separate thread and the output > AVPackets are stored in a que > > FramedSource::doGetNextFrame check if there is any packet in the que and > deliver it, otherwise schedule a delayed call on > FramedSource::doGetNextFrameStatic to do frame checking again.
This is inefficient. A much better solution is to use 'event triggers', and whenever a new encoded frame has been completed, have the encoding thread call "triggerEvent()" (the only LIVE555 function that can be called from a non-LIVE555 thread) to tell the LIVE555 thread that a new frame is available for delivery. For an illustration of how to do this, see the model code in "liveMedia/DeviceSource.cpp". 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