[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