123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <html>
- <head>
- <script src="../../../LayoutTests/media/video-test.js"></script>
- <script>
- var seekedCount = 0;
- var counter = 0;
- function trySeek(seekTo)
- {
- if (isInTimeRanges(video.seekable, seekTo)) {
- if (isInTimeRanges(video.buffered, seekTo)) {
- consoleWrite("Warining: Seeking into buffered region. May not generate waiting or seeking events.");
- }
- run("video.currentTime = " + seekTo);
- } else {
- failTest("Cannot seek to " + seekTo + ". Does engine support seeking into unbuffered region?");
- }
- }
- function seeked()
- {
- ++seekedCount;
- consoleWrite("");
- }
- function scheduleSeek() {
- setTimeout(someTimeLater, 200);
- }
- function someTimeLater()
- {
- consoleWrite("Running scheduled seek");
- testExpected("seekedCount", counter);
- testExpected("video.currentTime", counter, ">=");
- if (counter == 3)
- {
- consoleWrite("");
- return;
- endTest();
- }
- ++counter;
- scheduleSeek();
- trySeek(counter);
- consoleWrite("");
- }
- function start()
- {
- findMediaElement();
- waitForEvent('waiting');
- waitForEvent('seeking');
- waitForEvent('seeked', seeked);
- waitForEvent('play', someTimeLater);
- consoleWrite("Start Load");
- video.src = "http://127.0.0.1:8000/media/video-throttled-load.cgi?name=../../../media/content/test.mp4&throttle=25";
- video.load();
- video.play();
- }
- </script>
- </head>
- <body onload="start()">
- <video controls></video>
- <p>Attempt to seek out of the buffered range. If supported, this
- should cause a waiting and seeking event to be fired for each seek.
- This test makes assumptions on the size of the input file, the bitrate
- of delivery, and the duration of the file.
- </p>
- <p>
- Source is assumed to be about 188k with a uniform bitrate, > 4
- seconds in length, and served at 25kb/s. This should make seeking one
- second ahead every 200ms always leave the buffered region.
- </p>
- </body>
- </html>
|