The default bug view has changed. See this FAQ.

Final video frame is not displayed when seeking to end

RESOLVED FIXED in mozilla10

Status

()

Core
Audio/Video
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: kinetik, Assigned: cajbir)

Tracking

Trunk
mozilla10
Points:
---
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(2 attachments)

(Reporter)

Description

6 years ago
Open testcase.  Click "jump to 6 seconds".  Tab into the video.  Hit "end".  The currentTime is reported correctly, but the displayed frame (and frame grabbed by canvas) are still at 6 seconds.

Updated

6 years ago
Component: Spelling checker → Video/Audio
QA Contact: spelling-checker → video.audio
(Assignee)

Comment 1

6 years ago
Created attachment 562654 [details] [diff] [review]
Fix

When decoding to target, ensure last frame is kept when we hit eof so it can be displayed.
Assignee: nobody → chris.double
Status: NEW → ASSIGNED
Attachment #562654 - Flags: review?(kinetik)
(Reporter)

Updated

6 years ago
Attachment #562654 - Flags: review?(kinetik) → review+
(Assignee)

Comment 2

6 years ago
Created attachment 563314 [details] [diff] [review]
Test

Test implemented as a reftest. It compares a seek to the end vs a play to the end.
Attachment #563314 - Flags: review?(kinetik)
(Reporter)

Comment 3

6 years ago
Comment on attachment 563314 [details] [diff] [review]
Test

Review of attachment 563314 [details] [diff] [review]:
-----------------------------------------------------------------

::: layout/reftests/webm-video/bug686957-ref.html
@@ +3,5 @@
> +<body style="background:white;">
> +<!-- Test that if we seek to the end of a video we get the last frame displayed -->
> +<video src="frames.webm"
> +       preload="auto"
> +       autoplay

I'm slightly concerned that autoplay could cause the video to play to the end before the loadedmetadata handler had run, causing two ended events, of which the first would run immediately after seeking back 1 second.  The test should be more reliable if play() is called in the loadedmetadata handler after the seek request, I think.
Attachment #563314 - Flags: review?(kinetik) → review+
Comment on attachment 563314 [details] [diff] [review]
Test

Review of attachment 563314 [details] [diff] [review]:
-----------------------------------------------------------------

::: layout/reftests/webm-video/bug686957-ref.html
@@ +1,5 @@
> +<!DOCTYPE HTML>
> +<html class="reftest-wait">
> +<body style="background:white;">
> +<!-- Test that if we seek to the end of a video we get the last frame displayed -->
> +<video src="frames.webm"

Does frames.webm contain only keyframes? If skip-to-keyframe kicked in, we could end up dropping frames, causing the test to fail?
(Assignee)

Comment 5

6 years ago
(In reply to Chris Pearce (:cpearce) (Mozilla Corporation) from comment #4)
> Does frames.webm contain only keyframes? If skip-to-keyframe kicked in, we
> could end up dropping frames, causing the test to fail?

We should still show the last frame even if skip-to-keyframe happens shouldn't we? It seems to me the last frame should be shown always if we hit the end of the video via playback.
(Assignee)

Comment 6

6 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/6bbcc8bb5833
https://hg.mozilla.org/integration/mozilla-inbound/rev/532c01d1ca0e
Flags: in-testsuite+
OS: Linux → All
Hardware: x86_64 → All
Target Milestone: --- → mozilla10
https://hg.mozilla.org/mozilla-central/rev/6bbcc8bb5833
https://hg.mozilla.org/mozilla-central/rev/532c01d1ca0e
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.