| Index: media/base/pipeline.cc
|
| diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
|
| index a393cc862324d3b5602358a73ca1e990e86ef6c8..90444c446506d4409989ff13da85b048f39d16a0 100644
|
| --- a/media/base/pipeline.cc
|
| +++ b/media/base/pipeline.cc
|
| @@ -156,7 +156,7 @@ void Pipeline::SetVolume(float volume) {
|
|
|
| TimeDelta Pipeline::GetMediaTime() const {
|
| base::AutoLock auto_lock(lock_);
|
| - return clock_->Elapsed();
|
| + return std::min(clock_->Elapsed(), duration_);
|
| }
|
|
|
| Ranges<TimeDelta> Pipeline::GetBufferedTimeRanges() const {
|
| @@ -166,7 +166,7 @@ Ranges<TimeDelta> Pipeline::GetBufferedTimeRanges() const {
|
|
|
| TimeDelta Pipeline::GetMediaDuration() const {
|
| base::AutoLock auto_lock(lock_);
|
| - return clock_->Duration();
|
| + return duration_;
|
| }
|
|
|
| bool Pipeline::DidLoadingProgress() {
|
| @@ -324,7 +324,7 @@ void Pipeline::SetDuration(TimeDelta duration) {
|
| UMA_HISTOGRAM_LONG_TIMES("Media.Duration", duration);
|
|
|
| base::AutoLock auto_lock(lock_);
|
| - clock_->SetDuration(duration);
|
| + duration_ = duration;
|
| if (!duration_change_cb_.is_null())
|
| duration_change_cb_.Run();
|
| }
|
| @@ -707,7 +707,7 @@ void Pipeline::DoAudioRendererEnded() {
|
| // Start clock since there is no more audio to trigger clock updates.
|
| {
|
| base::AutoLock auto_lock(lock_);
|
| - clock_->SetMaxTime(clock_->Duration());
|
| + clock_->SetMaxTime(duration_);
|
| StartClockIfWaitingForTimeUpdate_Locked();
|
| }
|
|
|
| @@ -753,7 +753,7 @@ void Pipeline::RunEndedCallbackIfNeeded() {
|
| {
|
| base::AutoLock auto_lock(lock_);
|
| PauseClockAndStopRendering_Locked();
|
| - clock_->SetTime(clock_->Duration(), clock_->Duration());
|
| + clock_->SetTime(duration_, duration_);
|
| }
|
|
|
| DCHECK_EQ(status_, PIPELINE_OK);
|
| @@ -883,7 +883,7 @@ void Pipeline::StartPlayback() {
|
| } else {
|
| base::AutoLock auto_lock(lock_);
|
| clock_state_ = CLOCK_PLAYING;
|
| - clock_->SetMaxTime(clock_->Duration());
|
| + clock_->SetMaxTime(duration_);
|
| clock_->Play();
|
| }
|
| }
|
|
|