Chromium Code Reviews| Index: media/filters/audio_renderer_impl.cc |
| diff --git a/media/filters/audio_renderer_impl.cc b/media/filters/audio_renderer_impl.cc |
| index 52258426ee1ed3cb6559f9a6a3666e8e3e693a3b..d5aecffa41a6cd4f3c74ee7f7d38c93a3d0fd436 100644 |
| --- a/media/filters/audio_renderer_impl.cc |
| +++ b/media/filters/audio_renderer_impl.cc |
| @@ -216,14 +216,26 @@ void AudioRendererImpl::Stop(const base::Closure& callback) { |
| sink_ = NULL; |
| } |
| + if (decrypting_demuxer_stream_) { |
| + DCHECK(decoder_); |
| + decrypting_demuxer_stream_->Stop( |
| + base::Bind(&AudioRendererImpl::StopDecoder, weak_this_)); |
| + return; |
| + } |
| + |
| if (decoder_) { |
|
ddorwin
2014/02/14 04:30:51
I wonder if it makes sense to just call StopDecode
xhwang
2014/02/14 18:48:06
Done.
|
| - decoder_->Stop(base::ResetAndReturn(&stop_cb_)); |
| + StopDecoder(); |
| return; |
| } |
| task_runner_->PostTask(FROM_HERE, base::ResetAndReturn(&stop_cb_)); |
| } |
| +void AudioRendererImpl::StopDecoder() { |
| + DCHECK(!stop_cb_.is_null()); |
| + decoder_->Stop(base::ResetAndReturn(&stop_cb_)); |
| +} |
| + |
| void AudioRendererImpl::Preroll(base::TimeDelta time, |
| const PipelineStatusCB& cb) { |
| DCHECK(task_runner_->BelongsToCurrentThread()); |