Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(429)

Side by Side Diff: media/filters/audio_timestamp_validator.cc

Issue 2815303006: Convert MediaLog from being ref counted to owned by WebMediaPlayer. (Closed)
Patch Set: Rebase. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/filters/audio_timestamp_validator.h" 5 #include "media/filters/audio_timestamp_validator.h"
6 6
7 namespace media { 7 namespace media {
8 8
9 // Defines how many milliseconds of DecoderBuffer timestamp gap will be allowed 9 // Defines how many milliseconds of DecoderBuffer timestamp gap will be allowed
10 // before warning the user. See CheckForTimestampGap(). Value of 50 chosen, as 10 // before warning the user. See CheckForTimestampGap(). Value of 50 chosen, as
11 // this is low enough to catch issues early, but high enough to avoid noise for 11 // this is low enough to catch issues early, but high enough to avoid noise for
12 // containers like WebM that default to low granularity timestamp precision. 12 // containers like WebM that default to low granularity timestamp precision.
13 const int kGapWarningThresholdMsec = 50; 13 const int kGapWarningThresholdMsec = 50;
14 14
15 // Limits the number of adjustments to |audio_ts_offset_| in order to reach a 15 // Limits the number of adjustments to |audio_ts_offset_| in order to reach a
16 // stable state where gaps between encoded timestamps match decoded output 16 // stable state where gaps between encoded timestamps match decoded output
17 // intervals. See CheckForTimestampGap(). 17 // intervals. See CheckForTimestampGap().
18 const int kLimitTriesForStableTiming = 5; 18 const int kLimitTriesForStableTiming = 5;
19 19
20 // Limits the milliseconds of difference between expected and actual timestamps 20 // Limits the milliseconds of difference between expected and actual timestamps
21 // gaps to consider timestamp expectations "stable". 1 chosen because some 21 // gaps to consider timestamp expectations "stable". 1 chosen because some
22 // containers (WebM) default to millisecond timestamp precision. See 22 // containers (WebM) default to millisecond timestamp precision. See
23 // CheckForTimestampGap(). 23 // CheckForTimestampGap().
24 const int kStableTimeGapThrsholdMsec = 1; 24 const int kStableTimeGapThrsholdMsec = 1;
25 25
26 AudioTimestampValidator::AudioTimestampValidator( 26 AudioTimestampValidator::AudioTimestampValidator(
27 const AudioDecoderConfig& decoder_config, 27 const AudioDecoderConfig& decoder_config,
28 const scoped_refptr<MediaLog>& media_log) 28 MediaLog* media_log)
29 : has_codec_delay_(decoder_config.codec_delay() > 0), 29 : has_codec_delay_(decoder_config.codec_delay() > 0),
30 media_log_(media_log), 30 media_log_(media_log),
31 audio_base_ts_(kNoTimestamp), 31 audio_base_ts_(kNoTimestamp),
32 reached_stable_state_(false), 32 reached_stable_state_(false),
33 num_unstable_audio_tries_(0), 33 num_unstable_audio_tries_(0),
34 limit_unstable_audio_tries_(kLimitTriesForStableTiming), 34 limit_unstable_audio_tries_(kLimitTriesForStableTiming),
35 drift_warning_threshold_msec_(kGapWarningThresholdMsec) { 35 drift_warning_threshold_msec_(kGapWarningThresholdMsec) {
36 DCHECK(decoder_config.IsValidConfig()); 36 DCHECK(decoder_config.IsValidConfig());
37 } 37 }
38 38
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 audio_output_ts_helper_.reset( 135 audio_output_ts_helper_.reset(
136 new AudioTimestampHelper(audio_buffer->sample_rate())); 136 new AudioTimestampHelper(audio_buffer->sample_rate()));
137 audio_output_ts_helper_->SetBaseTimestamp(audio_base_ts_); 137 audio_output_ts_helper_->SetBaseTimestamp(audio_base_ts_);
138 } 138 }
139 139
140 DVLOG(3) << __func__ << " " << audio_buffer->frame_count() << " frames"; 140 DVLOG(3) << __func__ << " " << audio_buffer->frame_count() << " frames";
141 audio_output_ts_helper_->AddFrames(audio_buffer->frame_count()); 141 audio_output_ts_helper_->AddFrames(audio_buffer->frame_count());
142 } 142 }
143 143
144 } // namespace media 144 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/audio_timestamp_validator.h ('k') | media/filters/audio_timestamp_validator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698