| Index: media/base/pipeline.cc
|
| diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
|
| index cb4469bf893ff0934d6dd4e25b176072a1321d6d..841a49bab5bf88796ee2b0fa824daa4c4afde2c1 100644
|
| --- a/media/base/pipeline.cc
|
| +++ b/media/base/pipeline.cc
|
| @@ -197,7 +197,7 @@
|
| creation_time_ = base::TimeTicks();
|
| }
|
|
|
| - DVLOG(1) << GetStateString(state_) << " -> " << GetStateString(next_state);
|
| + DVLOG(2) << GetStateString(state_) << " -> " << GetStateString(next_state);
|
|
|
| state_ = next_state;
|
| media_log_->AddEvent(media_log_->CreatePipelineStateChangedEvent(next_state));
|
| @@ -483,6 +483,10 @@
|
| SerialRunner::Queue bound_fns;
|
|
|
| // Pause.
|
| + if (audio_renderer_) {
|
| + bound_fns.Push(base::Bind(
|
| + &AudioRenderer::Pause, base::Unretained(audio_renderer_.get())));
|
| + }
|
| if (text_renderer_) {
|
| bound_fns.Push(base::Bind(
|
| &TextRenderer::Pause, base::Unretained(text_renderer_.get())));
|
| @@ -753,9 +757,6 @@
|
|
|
| // Kick off seeking!
|
| {
|
| - if (audio_renderer_)
|
| - audio_renderer_->StopRendering();
|
| -
|
| base::AutoLock auto_lock(lock_);
|
| if (clock_->IsPlaying())
|
| clock_->Pause();
|
| @@ -927,31 +928,29 @@
|
| }
|
|
|
| void Pipeline::StartWaitingForEnoughData() {
|
| - DVLOG(1) << __FUNCTION__;
|
| DCHECK_EQ(state_, kPlaying);
|
| DCHECK(WaitingForEnoughData());
|
|
|
| if (audio_renderer_)
|
| - audio_renderer_->StopRendering();
|
| + audio_renderer_->Pause();
|
|
|
| base::AutoLock auto_lock(lock_);
|
| clock_->Pause();
|
| }
|
|
|
| void Pipeline::StartPlayback() {
|
| - DVLOG(1) << __FUNCTION__;
|
| DCHECK_EQ(state_, kPlaying);
|
| DCHECK(!WaitingForEnoughData());
|
|
|
| if (audio_renderer_) {
|
| + audio_renderer_->Play();
|
| +
|
| + base::AutoLock auto_lock(lock_);
|
| // We use audio stream to update the clock. So if there is such a
|
| // stream, we pause the clock until we receive a valid timestamp.
|
| - base::AutoLock auto_lock(lock_);
|
| waiting_for_clock_update_ = true;
|
| - audio_renderer_->StartRendering();
|
| } else {
|
| base::AutoLock auto_lock(lock_);
|
| - DCHECK(!waiting_for_clock_update_);
|
| clock_->SetMaxTime(clock_->Duration());
|
| clock_->Play();
|
| }
|
|
|