Assume 200 ms RTT if we're only receiving.

BUG=
TEST=

Review URL: https://webrtc-codereview.appspot.com/396012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1730 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
stefan@webrtc.org 2012-02-20 09:53:55 +00:00
parent 20aabbb0be
commit a475556f5a

View File

@ -2221,8 +2221,14 @@ bool ViEChannel::ChannelDecodeProcess() {
if (rtp_rtcp_.RTT(rtp_rtcp_.RemoteSSRC(), &RTT, &avgRTT, &minRTT, &maxRTT)
== 0) {
vcm_.SetReceiveChannelParameters(RTT);
}
vcm_rttreported_ = TickTime::Now();
} else if (!rtp_rtcp_.Sending() &&
(TickTime::Now() - vcm_rttreported_).Milliseconds() > 5000) {
// Wait at least 5 seconds before faking a 200 ms RTT. This is to
// make sure we have a chance to start sending before we decide to fake.
vcm_.SetReceiveChannelParameters(200);
vcm_rttreported_ = TickTime::Now();
}
}
return true;
}
@ -2251,6 +2257,10 @@ WebRtc_Word32 ViEChannel::StartDecodeThread() {
return -1;
}
// Used to make sure that we don't give the VCM a faked RTT
// too early.
vcm_rttreported_ = TickTime::Now();
WEBRTC_TRACE(kTraceInfo, kTraceVideo, ViEId(engine_id_, channel_id_),
"%s: decode thread with id %u started", __FUNCTION__);
return 0;