Commit 97b3029b authored by scherkus@chromium.org's avatar scherkus@chromium.org

Fix frame-exact seeking again to stay within duration as opposed to rounding to the closest frame.

Based on discussion from https://bugs.webkit.org/show_bug.cgi?id=52697 to be consistent with other WebKit ports.

BUG=69499
TEST=media_unittests

Review URL: http://codereview.chromium.org/6259012

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72247 0039d316-1c4b-4281-b951-d872f2087c98
parent 533e681e
......@@ -408,7 +408,7 @@ void VideoRendererBase::ConsumeVideoFrame(scoped_refptr<VideoFrame> frame) {
// Discard frames until we reach our desired seek timestamp.
if (state_ == kSeeking && !frame->IsEndOfStream() &&
(frame->GetTimestamp() + frame->GetDuration() / 2) < seek_timestamp_) {
(frame->GetTimestamp() + frame->GetDuration()) <= seek_timestamp_) {
frames_queue_done_.push_back(frame);
ScheduleRead_Locked();
} else {
......
......@@ -243,15 +243,15 @@ TEST_F(VideoRendererBaseTest, Seek_Exact) {
Flush();
}
TEST_F(VideoRendererBaseTest, Seek_RoundUp) {
TEST_F(VideoRendererBaseTest, Seek_RightBefore) {
Initialize();
Flush();
Seek(kDuration * 6 - 1);
ExpectCurrentTimestamp(kDuration * 6);
ExpectCurrentTimestamp(kDuration * 5);
Flush();
}
TEST_F(VideoRendererBaseTest, Seek_RoundDown) {
TEST_F(VideoRendererBaseTest, Seek_RightAfter) {
Initialize();
Flush();
Seek(kDuration * 6 + 1);
......
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