Closed Bug 686957 Opened 10 years ago Closed 10 years ago

Final video frame is not displayed when seeking to end

Categories

(Core :: Audio/Video, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla10

People

(Reporter: kinetik, Assigned: cajbir)

References

()

Details

Attachments

(2 files)

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.
Component: Spelling checker → Video/Audio
QA Contact: spelling-checker → video.audio
Attached patch FixSplinter Review
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)
Attachment #562654 - Flags: review?(kinetik) → review+
Attached patch TestSplinter Review
Test implemented as a reftest. It compares a seek to the end vs a play to the end.
Attachment #563314 - Flags: review?(kinetik)
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?
(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.
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
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.