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
diff --git a/webrtc/modules/video_coding/main/source/receiver.cc b/webrtc/modules/video_coding/main/source/receiver.cc
index 5155ee5..2595fb2 100644
--- a/webrtc/modules/video_coding/main/source/receiver.cc
+++ b/webrtc/modules/video_coding/main/source/receiver.cc
@@ -420,6 +420,8 @@
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;
}
diff --git a/webrtc/modules/video_coding/main/source/timing.cc b/webrtc/modules/video_coding/main/source/timing.cc
index 2a381bd..1146223 100644
--- a/webrtc/modules/video_coding/main/source/timing.cc
+++ b/webrtc/modules/video_coding/main/source/timing.cc
@@ -108,6 +108,10 @@
"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 @@
{
estimatedCompleteTimeMs = nowMs;
}
-
return estimatedCompleteTimeMs + _currentDelayMs;
}
diff --git a/webrtc/modules/video_coding/main/source/timing.h b/webrtc/modules/video_coding/main/source/timing.h
index 74bec72..ae0bd57 100644
--- a/webrtc/modules/video_coding/main/source/timing.h
+++ b/webrtc/modules/video_coding/main/source/timing.h
@@ -95,19 +95,19 @@
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