Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(708)

Unified Diff: media/base/pipeline.cc

Issue 375003002: Remove duration from media::Clock. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix android Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/pipeline.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
}
}
« no previous file with comments | « media/base/pipeline.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698