[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