Updating delay for first value

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3865 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
mikhal@webrtc.org
2013-04-17 16:23:22 +00:00
parent 48c5882f2a
commit dbd6a6d653
3 changed files with 19 additions and 14 deletions

View File

@ -420,6 +420,8 @@ int VCMReceiver::SetMinReceiverDelay(int desired_delay_ms) {
jitter_buffer_.SetMaxJitterEstimate(desired_delay_ms);
max_video_delay_ms_ = desired_delay_ms + kMaxVideoDelayMs;
timing_->SetMaxVideoDelay(max_video_delay_ms_);
// Initializing timing to the desired delay.
timing_->SetRequiredDelay(desired_delay_ms);
return 0;
}

View File

@ -108,6 +108,10 @@ VCMTiming::SetRequiredDelay(uint32_t requiredDelayMs)
"Desired jitter buffer level: %u ms", requiredDelayMs);
}
_requiredDelayMs = requiredDelayMs;
// When in initial state, set current delay to minimum delay.
if (_currentDelayMs == 0) {
_currentDelayMs = _requiredDelayMs;
}
}
}
@ -270,7 +274,6 @@ VCMTiming::RenderTimeMsInternal(uint32_t frameTimestamp, int64_t nowMs) const
{
estimatedCompleteTimeMs = nowMs;
}
return estimatedCompleteTimeMs + _currentDelayMs;
}

View File

@ -95,19 +95,19 @@ protected:
uint32_t TargetDelayInternal() const;
private:
CriticalSectionWrapper* _critSect;
int32_t _vcmId;
Clock* _clock;
int32_t _timingId;
bool _master;
VCMTimestampExtrapolator* _tsExtrapolator;
VCMCodecTimer _codecTimer;
uint32_t _renderDelayMs;
uint32_t _minTotalDelayMs;
uint32_t _requiredDelayMs;
uint32_t _currentDelayMs;
uint32_t _prevFrameTimestamp;
int _maxVideoDelayMs;
CriticalSectionWrapper* _critSect;
int32_t _vcmId;
Clock* _clock;
int32_t _timingId;
bool _master;
VCMTimestampExtrapolator* _tsExtrapolator;
VCMCodecTimer _codecTimer;
uint32_t _renderDelayMs;
uint32_t _minTotalDelayMs;
uint32_t _requiredDelayMs;
uint32_t _currentDelayMs;
uint32_t _prevFrameTimestamp;
int _maxVideoDelayMs;
};
} // namespace webrtc