[Live-devel] feedback from receiver

Ross Finlayson finlayson at live.com
Mon May 2 08:02:30 PDT 2005


>I am streaming audio with testWavAudioStreamer and receiving it with VLC 
>Media Player.  If the receiving side is receiving the audio with much 
>loss, I want to stop the stream and start a new one with lower quality (I 
>assume it will decrease the loss rate). In testmp3Streamer.cpp , I had 
>done this decision in afterplaying() function using transmissionStats. 
>Using WindowsAuidoInputDevice as audio source , the afterplaying() 
>function  in testWavAudioStreamer  is never been called.

That's because - in thie case - your input source never ends/closes.  The 
'after playing' function is called when the input source closes.

>  Is there any way to call it according to the RTCP RR reports received. 
> Maybe I should change the noteIncomingRR() function in  RTPSink.cpp but I 
> could not manage it. (I think the decision of changing the codec 
> parameters must be done before calling the stopPlaying function )
>I will be so glad if you advise me how could I do it.

I suggest scheduling a task (using 
"env->taskScheduler().scheduleDelayedTask()") that periodically (e.g., 
every second or so) checks the "RTPTransmissionStats" from your "RTPSink" 
object.

E.g., see the code for "scheduleNextQOSMeasurement()" in "playCommon.cpp", 
which does something similar (except with *reception* statistics).


	Ross Finlayson
	LIVE.COM
	<http://www.live.com/>



More information about the live-devel mailing list