Index: webrtc/modules/video_coding/timing.cc |
diff --git a/webrtc/modules/video_coding/timing.cc b/webrtc/modules/video_coding/timing.cc |
index f30976fd443dd56cc381636d19309690ce0fa155..21f4a3dc71159f99e0e93a129998cff2186e62fe 100644 |
--- a/webrtc/modules/video_coding/timing.cc |
+++ b/webrtc/modules/video_coding/timing.cc |
@@ -21,22 +21,21 @@ |
namespace webrtc { |
VCMTiming::VCMTiming(Clock* clock, VCMTiming* master_timing) |
- : crit_sect_(CriticalSectionWrapper::CreateCriticalSection()), |
- clock_(clock), |
- master_(false), |
- ts_extrapolator_(), |
- codec_timer_(new VCMCodecTimer()), |
- render_delay_ms_(kDefaultRenderDelayMs), |
- min_playout_delay_ms_(0), |
- max_playout_delay_ms_(10000), |
- jitter_delay_ms_(0), |
- current_delay_ms_(0), |
- last_decode_ms_(0), |
- prev_frame_timestamp_(0), |
- num_decoded_frames_(0), |
- num_delayed_decoded_frames_(0), |
- first_decoded_frame_ms_(-1), |
- sum_missed_render_deadline_ms_(0) { |
+ : clock_(clock), |
+ master_(false), |
+ ts_extrapolator_(), |
+ codec_timer_(new VCMCodecTimer()), |
+ render_delay_ms_(kDefaultRenderDelayMs), |
+ min_playout_delay_ms_(0), |
+ max_playout_delay_ms_(10000), |
+ jitter_delay_ms_(0), |
+ current_delay_ms_(0), |
+ last_decode_ms_(0), |
+ prev_frame_timestamp_(0), |
+ num_decoded_frames_(0), |
+ num_delayed_decoded_frames_(0), |
+ first_decoded_frame_ms_(-1), |
+ sum_missed_render_deadline_ms_(0) { |
if (master_timing == NULL) { |
master_ = true; |
ts_extrapolator_ = new TimestampExtrapolator(clock_->TimeInMilliseconds()); |
@@ -50,11 +49,10 @@ VCMTiming::~VCMTiming() { |
if (master_) { |
delete ts_extrapolator_; |
} |
- delete crit_sect_; |
} |
void VCMTiming::UpdateHistograms() const { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
if (num_decoded_frames_ == 0) { |
return; |
} |
@@ -77,7 +75,7 @@ void VCMTiming::UpdateHistograms() const { |
} |
void VCMTiming::Reset() { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
ts_extrapolator_->Reset(clock_->TimeInMilliseconds()); |
codec_timer_.reset(new VCMCodecTimer()); |
render_delay_ms_ = kDefaultRenderDelayMs; |
@@ -88,37 +86,37 @@ void VCMTiming::Reset() { |
} |
void VCMTiming::ResetDecodeTime() { |
- CriticalSectionScoped lock(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
codec_timer_.reset(new VCMCodecTimer()); |
} |
void VCMTiming::set_render_delay(int render_delay_ms) { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
render_delay_ms_ = render_delay_ms; |
} |
void VCMTiming::set_min_playout_delay(int min_playout_delay_ms) { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
min_playout_delay_ms_ = min_playout_delay_ms; |
} |
int VCMTiming::min_playout_delay() { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
return min_playout_delay_ms_; |
} |
void VCMTiming::set_max_playout_delay(int max_playout_delay_ms) { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
max_playout_delay_ms_ = max_playout_delay_ms; |
} |
int VCMTiming::max_playout_delay() { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
return max_playout_delay_ms_; |
} |
void VCMTiming::SetJitterDelay(int jitter_delay_ms) { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
if (jitter_delay_ms != jitter_delay_ms_) { |
jitter_delay_ms_ = jitter_delay_ms; |
// When in initial state, set current delay to minimum delay. |
@@ -129,7 +127,7 @@ void VCMTiming::SetJitterDelay(int jitter_delay_ms) { |
} |
void VCMTiming::UpdateCurrentDelay(uint32_t frame_timestamp) { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
int target_delay_ms = TargetDelayInternal(); |
if (current_delay_ms_ == 0) { |
@@ -171,7 +169,7 @@ void VCMTiming::UpdateCurrentDelay(uint32_t frame_timestamp) { |
void VCMTiming::UpdateCurrentDelay(int64_t render_time_ms, |
int64_t actual_decode_time_ms) { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
uint32_t target_delay_ms = TargetDelayInternal(); |
int64_t delayed_ms = |
actual_decode_time_ms - |
@@ -190,7 +188,7 @@ int32_t VCMTiming::StopDecodeTimer(uint32_t time_stamp, |
int32_t decode_time_ms, |
int64_t now_ms, |
int64_t render_time_ms) { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
codec_timer_->AddTiming(decode_time_ms, now_ms); |
assert(decode_time_ms >= 0); |
last_decode_ms_ = decode_time_ms; |
@@ -209,13 +207,13 @@ int32_t VCMTiming::StopDecodeTimer(uint32_t time_stamp, |
} |
void VCMTiming::IncomingTimestamp(uint32_t time_stamp, int64_t now_ms) { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
ts_extrapolator_->Update(now_ms, time_stamp); |
} |
int64_t VCMTiming::RenderTimeMs(uint32_t frame_timestamp, |
int64_t now_ms) const { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
const int64_t render_time_ms = RenderTimeMsInternal(frame_timestamp, now_ms); |
return render_time_ms; |
} |
@@ -249,7 +247,7 @@ int VCMTiming::RequiredDecodeTimeMs() const { |
uint32_t VCMTiming::MaxWaitingTime(int64_t render_time_ms, |
int64_t now_ms) const { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
const int64_t max_wait_time_ms = |
render_time_ms - now_ms - RequiredDecodeTimeMs() - render_delay_ms_; |
@@ -262,7 +260,7 @@ uint32_t VCMTiming::MaxWaitingTime(int64_t render_time_ms, |
bool VCMTiming::EnoughTimeToDecode( |
uint32_t available_processing_time_ms) const { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
int64_t required_decode_time_ms = RequiredDecodeTimeMs(); |
if (required_decode_time_ms < 0) { |
// Haven't decoded any frames yet, try decoding one to get an estimate |
@@ -279,7 +277,7 @@ bool VCMTiming::EnoughTimeToDecode( |
} |
int VCMTiming::TargetVideoDelay() const { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
return TargetDelayInternal(); |
} |
@@ -295,7 +293,7 @@ bool VCMTiming::GetTimings(int* decode_ms, |
int* jitter_buffer_ms, |
int* min_playout_delay_ms, |
int* render_delay_ms) const { |
- CriticalSectionScoped cs(crit_sect_); |
+ rtc::CritScope cs(&crit_sect_); |
*decode_ms = last_decode_ms_; |
*max_decode_ms = RequiredDecodeTimeMs(); |
*current_delay_ms = current_delay_ms_; |