Index: media/base/audio_discard_helper.cc |
diff --git a/media/base/audio_discard_helper.cc b/media/base/audio_discard_helper.cc |
index ee415bf0aad8a6e82d67ee8b222b0af607f8c034..e932c44ab58c43026e5c9208960998c637c7bf0c 100644 |
--- a/media/base/audio_discard_helper.cc |
+++ b/media/base/audio_discard_helper.cc |
@@ -22,13 +22,15 @@ static void WarnOnNonMonotonicTimestamps(base::TimeDelta last_timestamp, |
<< " diff " << diff.InMicroseconds() << " us"; |
} |
-AudioDiscardHelper::AudioDiscardHelper(int sample_rate, size_t decoder_delay) |
+AudioDiscardHelper::AudioDiscardHelper(int sample_rate, |
+ size_t decoder_delay, |
+ bool delayed_discard) |
: sample_rate_(sample_rate), |
decoder_delay_(decoder_delay), |
timestamp_helper_(sample_rate_), |
discard_frames_(0), |
last_input_timestamp_(kNoTimestamp), |
- delayed_discard_(false), |
+ delayed_discard_(delayed_discard), |
delayed_end_discard_(0) { |
DCHECK_GT(sample_rate_, 0); |
} |
@@ -45,7 +47,6 @@ void AudioDiscardHelper::Reset(size_t initial_discard) { |
discard_frames_ = initial_discard; |
last_input_timestamp_ = kNoTimestamp; |
timestamp_helper_.SetBaseTimestamp(kNoTimestamp); |
- delayed_discard_ = false; |
delayed_discard_padding_ = DecoderBuffer::DiscardPadding(); |
} |
@@ -62,8 +63,7 @@ bool AudioDiscardHelper::ProcessBuffers( |
last_input_timestamp_ = encoded_buffer->timestamp(); |
// If this is the first buffer seen, setup the timestamp helper. |
- const bool first_buffer = !initialized(); |
- if (first_buffer) { |
+ if (!initialized()) { |
// Clamp the base timestamp to zero. |
timestamp_helper_.SetBaseTimestamp( |
std::max(base::TimeDelta(), encoded_buffer->timestamp())); |
@@ -73,10 +73,8 @@ bool AudioDiscardHelper::ProcessBuffers( |
if (!decoded_buffer.get()) { |
// If there's a one buffer delay for decoding, we need to save it so it can |
// be processed with the next decoder buffer. |
- if (first_buffer) { |
- delayed_discard_ = true; |
+ if (delayed_discard_) |
delayed_discard_padding_ = encoded_buffer->discard_padding(); |
- } |
return false; |
} |