Closed Bug 1374183 Opened 3 years ago Closed 3 years ago

Reftest for seek operation.

Categories

(Core :: Audio/Video: Playback, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: bechen, Assigned: bechen)

Details

Attachments

(1 file)

We should have some reftests to verify the seek operation.
The code of testcase might be simple, but the most important thing is that we need to select a suitable frame to be the golden sample.
To be a good golden sample means that a frame has more differences compare to previous frame is a better candidate. Because we need add some fuzzy for cross-platform.
Comment on attachment 8887803 [details]
Bug 1374183 - Add a reftest to verify seeking to 0.466667 of street.mp4 should be the 15th frame.

https://reviewboard.mozilla.org/r/158718/#review164010

::: dom/media/test/reftest/generateREF.html:54
(Diff revision 2)
> +  var video = document.getElementById("v1");
> +  video.src = "street.mp4";
> +  video.preload = "metadata";
> +
> +  function checkNthFrame() {
> +    console.log(n+" checkNthFrame\n");

Per offline discussion, we can output the time of the current frame.

::: dom/media/test/reftest/generateREF.html:63
(Diff revision 2)
> +    } else {
> +      video.seekToNextFrame();
> +    }
> +  }
> +  video.addEventListener("loadeddata", checkNthFrame);
> +  video.addEventListener("seeked",checkNthFrame);

nit: space after the comma

::: dom/media/test/reftest/generateREF.html:64
(Diff revision 2)
> +      video.seekToNextFrame();
> +    }
> +  }
> +  video.addEventListener("loadeddata", checkNthFrame);
> +  video.addEventListener("seeked",checkNthFrame);
> +  video.pause();

why we need to call pause()?

::: dom/media/test/reftest/generateREF.html:66
(Diff revision 2)
> +  }
> +  video.addEventListener("loadeddata", checkNthFrame);
> +  video.addEventListener("seeked",checkNthFrame);
> +  video.pause();
> +}
> + 

redundant space.

::: dom/media/test/reftest/street.mp4.seek.html:4
(Diff revision 2)
> +<!DOCTYPE HTML>
> +<html class="reftest-wait">
> +<!--This test testing should match the 15th frame of street.mp4. The
> +15the frame's time is 0.466666, so seek to?

s/15the/15th

::: dom/media/test/reftest/street.mp4.seek.html:4
(Diff revision 2)
> +<!DOCTYPE HTML>
> +<html class="reftest-wait">
> +<!--This test testing should match the 15th frame of street.mp4. The
> +15the frame's time is 0.466666, so seek to?

"so seek to?"
It seems you forgot to add the following words.
Attachment #8887803 - Flags: review?(alwu) → review+
hg error in cmd: hg push -r . -f try: pushing to ssh://hg.mozilla.org/try
searching for changes
remote: waiting for lock on working directory of /repo/hg/mozilla/try held by process '21037' on host 'hgssh4.dmz.scl3.mozilla.com'
remote: abort: working directory of /repo/hg/mozilla/try: timed out waiting for lock held by hgssh4.dmz.scl3.mozilla.com:21037
abort: stream ended unexpectedly (got 0 bytes, expected 4)
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/d0c8e848fdd2
Add a reftest to verify seeking to 0.466667 of street.mp4 should be the 15th frame. r=alwu
Keywords: checkin-needed
https://treeherder.mozilla.org/#/jobs?repo=try&revision=5005ca899b1253dc4393dc68e167e654cce7bbe7&selectedJob=123525334

This patch shows that why testcase failed, when the script received "seeked event", we can only ensure the frame locate in imageContainer, not shown on the screen.
Flags: needinfo?(bechen)
hg error in cmd: hg push -r . -f try: pushing to ssh://hg.mozilla.org/try
searching for changes
remote: abort: abandoned transaction found!
remote: (run 'hg recover' to clean up transaction)
abort: stream ended unexpectedly (got 0 bytes, expected 4)
hg error in cmd: hg push -r . -f try: pushing to ssh://hg.mozilla.org/try
searching for changes
remote: abort: abandoned transaction found!
remote: (run 'hg recover' to clean up transaction)
abort: stream ended unexpectedly (got 0 bytes, expected 4)
hg error in cmd: hg push -r . -f try: pushing to ssh://hg.mozilla.org/try
searching for changes
remote: abort: abandoned transaction found!
remote: (run 'hg recover' to clean up transaction)
abort: stream ended unexpectedly (got 0 bytes, expected 4)
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/954510ed4857
Add a reftest to verify seeking to 0.466667 of street.mp4 should be the 15th frame. r=alwu
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/954510ed4857
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.