| Index: media/base/pipeline.cc
|
| diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
|
| index e1af61130aa392b5c7d4f00cb5821a4afe861b0d..289db4ed53f0c3f3d117914ff7455e6b6b06d9e6 100644
|
| --- a/media/base/pipeline.cc
|
| +++ b/media/base/pipeline.cc
|
| @@ -489,6 +489,9 @@ void Pipeline::DoSeek(
|
| void Pipeline::DoStop(const PipelineStatusCB& done_cb) {
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| DCHECK(!pending_callbacks_.get());
|
| +
|
| + audio_renderer_.reset();
|
| +
|
| SerialRunner::Queue bound_fns;
|
|
|
| if (demuxer_) {
|
| @@ -496,11 +499,6 @@ void Pipeline::DoStop(const PipelineStatusCB& done_cb) {
|
| &Demuxer::Stop, base::Unretained(demuxer_)));
|
| }
|
|
|
| - if (audio_renderer_) {
|
| - bound_fns.Push(base::Bind(
|
| - &AudioRenderer::Stop, base::Unretained(audio_renderer_.get())));
|
| - }
|
| -
|
| if (video_renderer_) {
|
| bound_fns.Push(base::Bind(
|
| &VideoRenderer::Stop, base::Unretained(video_renderer_.get())));
|
| @@ -517,6 +515,7 @@ void Pipeline::DoStop(const PipelineStatusCB& done_cb) {
|
| void Pipeline::OnStopCompleted(PipelineStatus status) {
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| DCHECK_EQ(state_, kStopping);
|
| + DCHECK(!audio_renderer_);
|
| {
|
| base::AutoLock l(lock_);
|
| running_ = false;
|
| @@ -525,7 +524,6 @@ void Pipeline::OnStopCompleted(PipelineStatus status) {
|
| SetState(kStopped);
|
| pending_callbacks_.reset();
|
| filter_collection_.reset();
|
| - audio_renderer_.reset();
|
| video_renderer_.reset();
|
| text_renderer_.reset();
|
| demuxer_ = NULL;
|
|
|