Skip to content

Commit

Permalink
Fix for incorrect currenttime if media duration is infinity
Browse files Browse the repository at this point in the history
Returned last played time if media duration is infinity.
And modified WMPI unit test "InfiniteDuration".

Bug: 766732,409280
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ic5b2554cb7fddd6938309f08dfd5746bc89c56b4
Reviewed-on: https://chromium-review.googlesource.com/750526
Commit-Queue: srirama chandra sekhar <srirama.m@samsung.com>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516645}
  • Loading branch information
josephlolak authored and Commit Bot committed Nov 15, 2017
1 parent 1e578eb commit 918863b
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 3 deletions.
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,7 @@ Jongsoo Lee <leejongsoo@gmail.com>
Joone Hur <joone.hur@intel.com>
Jorge Villatoro <jorge@tomatocannon.com>
Joseph Gentle <josephg@gmail.com>
Joseph Lolak <joseph.lolak@samsung.com>
Josh Triplett <josh@joshtriplett.org>
Josh Triplett <josh.triplett@intel.com>
Joshua Lock <joshua.lock@intel.com>
Expand Down
4 changes: 3 additions & 1 deletion media/blink/webmediaplayer_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -904,7 +904,9 @@ double WebMediaPlayerImpl::CurrentTime() const {
// TODO(scherkus): Replace with an explicit ended signal to HTMLMediaElement,
// see http://crbug.com/409280
// Note: Duration() may be infinity.
return ended_ ? Duration() : GetCurrentTimeInternal().InSecondsF();
return (ended_ && !std::isinf(Duration()))
? Duration()
: GetCurrentTimeInternal().InSecondsF();
}

WebMediaPlayer::NetworkState WebMediaPlayerImpl::GetNetworkState() const {
Expand Down
4 changes: 2 additions & 2 deletions media/blink/webmediaplayer_impl_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1001,12 +1001,12 @@ TEST_F(WebMediaPlayerImplTest, InfiniteDuration) {
EXPECT_EQ(base::TimeDelta(), GetCurrentTimeInternal());

SetEnded(true);
EXPECT_EQ(std::numeric_limits<double>::infinity(), wmpi_->CurrentTime());
EXPECT_EQ(0, wmpi_->CurrentTime());
EXPECT_EQ(base::TimeDelta(), GetCurrentTimeInternal());

// Pause should not pick up infinity for the current time.
wmpi_->Pause();
EXPECT_EQ(std::numeric_limits<double>::infinity(), wmpi_->CurrentTime());
EXPECT_EQ(0, wmpi_->CurrentTime());
EXPECT_EQ(base::TimeDelta(), GetCurrentTimeInternal());
}

Expand Down

0 comments on commit 918863b

Please sign in to comment.