| Index: media/base/pipeline.cc
|
| diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
|
| index 02f30a95d14802a0722f564afd30fb2026a547ee..42a796f07cd550220f555dd54ca9eb5f82b7da57 100644
|
| --- a/media/base/pipeline.cc
|
| +++ b/media/base/pipeline.cc
|
| @@ -158,12 +158,11 @@ void Pipeline::SetVolume(float volume) {
|
| }
|
|
|
| TimeDelta Pipeline::GetMediaTime() const {
|
| + base::AutoLock auto_lock(lock_);
|
| if (!renderer_)
|
| return TimeDelta();
|
|
|
| TimeDelta media_time = renderer_->GetMediaTime();
|
| -
|
| - base::AutoLock auto_lock(lock_);
|
| return std::min(media_time, duration_);
|
| }
|
|
|
| @@ -406,7 +405,10 @@ void Pipeline::DoStop(const PipelineStatusCB& done_cb) {
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| DCHECK(!pending_callbacks_.get());
|
|
|
| - renderer_.reset();
|
| + {
|
| + base::AutoLock auto_lock(lock_);
|
| + renderer_.reset();
|
| + }
|
| text_renderer_.reset();
|
|
|
| if (demuxer_) {
|
| @@ -670,7 +672,10 @@ void Pipeline::InitializeRenderer(const base::Closure& done_cb) {
|
|
|
| if (!demuxer_->GetStream(DemuxerStream::AUDIO) &&
|
| !demuxer_->GetStream(DemuxerStream::VIDEO)) {
|
| - renderer_.reset();
|
| + {
|
| + base::AutoLock auto_lock(lock_);
|
| + renderer_.reset();
|
| + }
|
| OnError(PIPELINE_ERROR_COULD_NOT_RENDER);
|
| return;
|
| }
|
|
|