| Index: media/filters/audio_renderer_base.cc
|
| diff --git a/media/filters/audio_renderer_base.cc b/media/filters/audio_renderer_base.cc
|
| index 2528a70f5a6608d71a4a4e6eca51d66b6ef269ca..7960b07e7db3a5c0e02cb1cb68157c4b2a463752 100644
|
| --- a/media/filters/audio_renderer_base.cc
|
| +++ b/media/filters/audio_renderer_base.cc
|
| @@ -147,8 +147,11 @@ void AudioRendererBase::ResumeAfterUnderflow(bool buffer_more_audio) {
|
| void AudioRendererBase::ConsumeAudioSamples(scoped_refptr<Buffer> buffer_in) {
|
| base::AutoLock auto_lock(lock_);
|
| DCHECK(state_ == kPaused || state_ == kSeeking || state_ == kPlaying ||
|
| - state_ == kUnderflow || state_ == kRebuffering);
|
| - DCHECK_GT(pending_reads_, 0u);
|
| + state_ == kUnderflow || state_ == kRebuffering ||
|
| + state_ == kStopped);
|
| + if (!pending_reads_)
|
| + return;
|
| +
|
| --pending_reads_;
|
|
|
| // TODO(scherkus): this happens due to a race, primarily because Stop() is a
|
|
|