[Live-devel] Transmitting just one frame
Ross Finlayson
finlayson at live.com
Sat Mar 5 11:53:35 PST 2005
>- I assume that since I need the RTP transmission program to return I
>should put tline
>
>env->taskScheduler().doEventLoop(); // does not return
>
>
>
>in a seperate thread
You assume (very) incorrectly. Read
<http://www.live.com/liveMedia/faq.html#control-flow>,
<http://www.live.com/liveMedia/faq.html#exiting-event-loop>, and
<http://www.live.com/liveMedia/faq.html#threads>
Also, if you want to send just one frame at a time, 'on demand' (note that
you didn't say what this 'demand' actually is), then you will need to
modify the 'sink' module that you pass to "startPlaying()". (Don't modify
the "afterPlaying" parameter; that function gets called only if the input
source ends.)
In particular, you will need to modify "MultiFramedRTPSink", at the point
where it decides when to ask for new input data after sending a
packet. Note the code at the end of
"MultiFramedRTPSink::sendPacketIfNecessary()".
As with all custom modifications to the code, you're going to be pretty
much on your own here. But Remember, You Have Complete Source Code.
Ross Finlayson
LIVE.COM
<http://www.live.com/>
More information about the live-devel
mailing list