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,
: playback_rate_(playback_rate),
duration_(duration),
position_(position),
last_updated_time_(base::Time::Now()) {
last_updated_time_(base::TimeTicks::Now()) {
DCHECK(duration_ >= base::TimeDelta::FromSeconds(0));
DCHECK(position_ >= base::TimeDelta::FromSeconds(0));
DCHECK(position_ <= duration_);
......@@ -32,15 +32,15 @@ double MediaPosition::playback_rate() const {
return playback_rate_;
}
base::Time MediaPosition::last_updated_time() const {
base::TimeTicks MediaPosition::last_updated_time() const {
return last_updated_time_;
}
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_);
base::TimeDelta elapsed_time = playback_rate_ * (time - last_updated_time_);
......@@ -60,7 +60,7 @@ bool MediaPosition::operator==(const MediaPosition& other) const {
if (playback_rate_ != other.playback_rate_ || duration_ != other.duration_)
return false;
base::Time now = base::Time::Now();
base::TimeTicks now = base::TimeTicks::Now();
return GetPositionAtTime(now) == other.GetPositionAtTime(now);
}
......
......@@ -38,11 +38,11 @@ struct COMPONENT_EXPORT(MEDIA_SESSION_BASE_CPP) MediaPosition {
double playback_rate() const;
// 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
// |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;
......@@ -76,7 +76,7 @@ struct COMPONENT_EXPORT(MEDIA_SESSION_BASE_CPP) MediaPosition {
base::TimeDelta position_;
// Last time |position_| was updated.
base::Time last_updated_time_;
base::TimeTicks last_updated_time_;
};
} // namespace media_session
......
......@@ -15,7 +15,8 @@ TEST_F(MediaPositionTest, TestPositionUpdated) {
1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
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);
EXPECT_EQ(updated_position.InSeconds(), 400);
......@@ -26,7 +27,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedTwice) {
1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
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);
EXPECT_EQ(updated_position.InSeconds(), 300);
......@@ -42,7 +44,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedPastDuration) {
1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
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);
// Verify that the position has been updated to the end of the total duration.
......@@ -64,7 +67,8 @@ TEST_F(MediaPositionTest, TestNegativePosition) {
-1 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
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);
// Verify that the position does not go below 0.
......@@ -88,7 +92,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedFasterPlayback) {
2 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
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);
EXPECT_EQ(updated_position.InSeconds(), 500);
......@@ -99,7 +104,8 @@ TEST_F(MediaPositionTest, TestPositionUpdatedSlowerPlayback) {
.5 /* playback_rate */, base::TimeDelta::FromSeconds(600) /* duration */,
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);
EXPECT_EQ(updated_position.InSeconds(), 400);
......
......@@ -91,7 +91,7 @@ struct StructTraits<media_session::mojom::MediaPositionDataView,
return media_position.position_;
}
static base::Time last_updated_time(
static base::TimeTicks last_updated_time(
const media_session::MediaPosition& media_position) {
return media_position.last_updated_time_;
}
......
......@@ -74,7 +74,7 @@ struct MediaPosition {
double playback_rate;
mojo_base.mojom.TimeDelta duration;
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.
......
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