Commit 78246a45 authored by Becca Hughes's avatar Becca Hughes Committed by Commit Bot

[Media Session] Replace last updated time with TimeTicks

This is follow up from https://crrev.com/c/1706777

Replaces last updated time with base::TimeTicks.

BUG=986542

Change-Id: Icfda207848085a7b7d15c87b3fcf94c87eee3609
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715504
Commit-Queue: Becca Hughes <beccahughes@chromium.org>
Reviewed-by: default avatarChrome Cunningham <chcunningham@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#680460}
parent acd9a3a8
...@@ -16,7 +16,7 @@ MediaPosition::MediaPosition(double playback_rate, ...@@ -16,7 +16,7 @@ MediaPosition::MediaPosition(double playback_rate,
: playback_rate_(playback_rate), : playback_rate_(playback_rate),
duration_(duration), duration_(duration),
position_(position), position_(position),
last_updated_time_(base::Time::Now()) { last_updated_time_(base::TimeTicks::Now()) {
DCHECK(duration_ >= base::TimeDelta::FromSeconds(0)); DCHECK(duration_ >= base::TimeDelta::FromSeconds(0));
DCHECK(position_ >= base::TimeDelta::FromSeconds(0)); DCHECK(position_ >= base::TimeDelta::FromSeconds(0));
DCHECK(position_ <= duration_); DCHECK(position_ <= duration_);
...@@ -32,15 +32,15 @@ double MediaPosition::playback_rate() const { ...@@ -32,15 +32,15 @@ double MediaPosition::playback_rate() const {
return playback_rate_; return playback_rate_;
} }
base::Time MediaPosition::last_updated_time() const { base::TimeTicks MediaPosition::last_updated_time() const {
return last_updated_time_; return last_updated_time_;
} }
base::TimeDelta MediaPosition::GetPosition() const { base::TimeDelta MediaPosition::GetPosition() const {
return GetPositionAtTime(base::Time::Now()); return GetPositionAtTime(base::TimeTicks::Now());
} }
base::TimeDelta MediaPosition::GetPositionAtTime(base::Time time) const { base::TimeDelta MediaPosition::GetPositionAtTime(base::TimeTicks time) const {
DCHECK(time >= last_updated_time_); DCHECK(time >= last_updated_time_);
base::TimeDelta elapsed_time = playback_rate_ * (time - last_updated_time_); base::TimeDelta elapsed_time = playback_rate_ * (time - last_updated_time_);
...@@ -60,7 +60,7 @@ bool MediaPosition::operator==(const MediaPosition& other) const { ...@@ -60,7 +60,7 @@ bool MediaPosition::operator==(const MediaPosition& other) const {
if (playback_rate_ != other.playback_rate_ || duration_ != other.duration_) if (playback_rate_ != other.playback_rate_ || duration_ != other.duration_)
return false; return false;
base::Time now = base::Time::Now(); base::TimeTicks now = base::TimeTicks::Now();
return GetPositionAtTime(now) == other.GetPositionAtTime(now); return GetPositionAtTime(now) == other.GetPositionAtTime(now);
} }
......
...@@ -38,11 +38,11 @@ struct COMPONENT_EXPORT(MEDIA_SESSION_BASE_CPP) MediaPosition { ...@@ -38,11 +38,11 @@ struct COMPONENT_EXPORT(MEDIA_SESSION_BASE_CPP) MediaPosition {
double playback_rate() const; double playback_rate() const;
// Return the time the position state was last updated. // Return the time the position state was last updated.
base::Time last_updated_time() const; base::TimeTicks last_updated_time() const;
// Return the updated position of the media, assuming current time is // Return the updated position of the media, assuming current time is
// |time|. // |time|.
base::TimeDelta GetPositionAtTime(base::Time time) const; base::TimeDelta GetPositionAtTime(base::TimeTicks time) const;
bool operator==(const MediaPosition&) const; bool operator==(const MediaPosition&) const;
bool operator!=(const MediaPosition&) const; bool operator!=(const MediaPosition&) const;
...@@ -76,7 +76,7 @@ struct COMPONENT_EXPORT(MEDIA_SESSION_BASE_CPP) MediaPosition { ...@@ -76,7 +76,7 @@ struct COMPONENT_EXPORT(MEDIA_SESSION_BASE_CPP) MediaPosition {
base::TimeDelta position_; base::TimeDelta position_;
// Last time |position_| was updated. // Last time |position_| was updated.
base::Time last_updated_time_; base::TimeTicks last_updated_time_;
}; };
} // namespace media_session } // namespace media_session
......
...@@ -15,7 +15,8 @@ TEST_F(MediaPositionTest, TestPositionUpdated) { ...@@ -15,7 +15,8 @@ TEST_F(MediaPositionTest, TestPositionUpdated) {
1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */, 1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
base::TimeDelta::FromSeconds(300) /* position */); base::TimeDelta::FromSeconds(300) /* position */);
base::Time now = base::Time::Now() + base::TimeDelta::FromSeconds(100); base::TimeTicks now =
base::TimeTicks::Now() + base::TimeDelta::FromSeconds(100);
base::TimeDelta updated_position = media_position.GetPositionAtTime(now); base::TimeDelta updated_position = media_position.GetPositionAtTime(now);
EXPECT_EQ(updated_position.InSeconds(), 400); EXPECT_EQ(updated_position.InSeconds(), 400);
...@@ -26,7 +27,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedTwice) { ...@@ -26,7 +27,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedTwice) {
1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */, 1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
base::TimeDelta::FromSeconds(200) /* position */); base::TimeDelta::FromSeconds(200) /* position */);
base::Time now = base::Time::Now() + base::TimeDelta::FromSeconds(100); base::TimeTicks now =
base::TimeTicks::Now() + base::TimeDelta::FromSeconds(100);
base::TimeDelta updated_position = media_position.GetPositionAtTime(now); base::TimeDelta updated_position = media_position.GetPositionAtTime(now);
EXPECT_EQ(updated_position.InSeconds(), 300); EXPECT_EQ(updated_position.InSeconds(), 300);
...@@ -42,7 +44,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedPastDuration) { ...@@ -42,7 +44,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedPastDuration) {
1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */, 1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
base::TimeDelta::FromSeconds(300) /* position */); base::TimeDelta::FromSeconds(300) /* position */);
base::Time now = base::Time::Now() + base::TimeDelta::FromSeconds(400); base::TimeTicks now =
base::TimeTicks::Now() + base::TimeDelta::FromSeconds(400);
base::TimeDelta updated_position = media_position.GetPositionAtTime(now); base::TimeDelta updated_position = media_position.GetPositionAtTime(now);
// Verify that the position has been updated to the end of the total duration. // Verify that the position has been updated to the end of the total duration.
...@@ -64,7 +67,8 @@ TEST_F(MediaPositionTest, TestNegativePosition) { ...@@ -64,7 +67,8 @@ TEST_F(MediaPositionTest, TestNegativePosition) {
-1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */, -1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
base::TimeDelta::FromSeconds(300) /* position */); base::TimeDelta::FromSeconds(300) /* position */);
base::Time now = base::Time::Now() + base::TimeDelta::FromSeconds(400); base::TimeTicks now =
base::TimeTicks::Now() + base::TimeDelta::FromSeconds(400);
base::TimeDelta updated_position = media_position.GetPositionAtTime(now); base::TimeDelta updated_position = media_position.GetPositionAtTime(now);
// Verify that the position does not go below 0. // Verify that the position does not go below 0.
...@@ -88,7 +92,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedFasterPlayback) { ...@@ -88,7 +92,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedFasterPlayback) {
2 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */, 2 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
base::TimeDelta::FromSeconds(300) /* position */); base::TimeDelta::FromSeconds(300) /* position */);
base::Time now = base::Time::Now() + base::TimeDelta::FromSeconds(100); base::TimeTicks now =
base::TimeTicks::Now() + base::TimeDelta::FromSeconds(100);
base::TimeDelta updated_position = media_position.GetPositionAtTime(now); base::TimeDelta updated_position = media_position.GetPositionAtTime(now);
EXPECT_EQ(updated_position.InSeconds(), 500); EXPECT_EQ(updated_position.InSeconds(), 500);
...@@ -99,7 +104,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedSlowerPlayback) { ...@@ -99,7 +104,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedSlowerPlayback) {
.5 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */, .5 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
base::TimeDelta::FromSeconds(300) /* position */); base::TimeDelta::FromSeconds(300) /* position */);
base::Time now = base::Time::Now() + base::TimeDelta::FromSeconds(200); base::TimeTicks now =
base::TimeTicks::Now() + base::TimeDelta::FromSeconds(200);
base::TimeDelta updated_position = media_position.GetPositionAtTime(now); base::TimeDelta updated_position = media_position.GetPositionAtTime(now);
EXPECT_EQ(updated_position.InSeconds(), 400); EXPECT_EQ(updated_position.InSeconds(), 400);
......
...@@ -91,7 +91,7 @@ struct StructTraits<media_session::mojom::MediaPositionDataView, ...@@ -91,7 +91,7 @@ struct StructTraits<media_session::mojom::MediaPositionDataView,
return media_position.position_; return media_position.position_;
} }
static base::Time last_updated_time( static base::TimeTicks last_updated_time(
const media_session::MediaPosition& media_position) { const media_session::MediaPosition& media_position) {
return media_position.last_updated_time_; return media_position.last_updated_time_;
} }
......
...@@ -74,7 +74,7 @@ struct MediaPosition { ...@@ -74,7 +74,7 @@ struct MediaPosition {
double playback_rate; double playback_rate;
mojo_base.mojom.TimeDelta duration; mojo_base.mojom.TimeDelta duration;
mojo_base.mojom.TimeDelta position; mojo_base.mojom.TimeDelta position;
mojo_base.mojom.Time last_updated_time; mojo_base.mojom.TimeTicks last_updated_time;
}; };
// Contains state information about a MediaSession. // Contains state information about a MediaSession.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment