summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/manual-tests/video-waiting-seeking.html
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-05-06 11:45:16 +0100
committerSteve Block <steveblock@google.com>2011-05-12 13:44:10 +0100
commitcad810f21b803229eb11403f9209855525a25d57 (patch)
tree29a6fd0279be608e0fe9ffe9841f722f0f4e4269 /Source/WebCore/manual-tests/video-waiting-seeking.html
parent121b0cf4517156d0ac5111caf9830c51b69bae8f (diff)
downloadexternal_webkit-cad810f21b803229eb11403f9209855525a25d57.zip
external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.gz
external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.bz2
Merge WebKit at r75315: Initial merge by git.
Change-Id: I570314b346ce101c935ed22a626b48c2af266b84
Diffstat (limited to 'Source/WebCore/manual-tests/video-waiting-seeking.html')
-rw-r--r--Source/WebCore/manual-tests/video-waiting-seeking.html81
1 files changed, 81 insertions, 0 deletions
diff --git a/Source/WebCore/manual-tests/video-waiting-seeking.html b/Source/WebCore/manual-tests/video-waiting-seeking.html
new file mode 100644
index 0000000..508df1d
--- /dev/null
+++ b/Source/WebCore/manual-tests/video-waiting-seeking.html
@@ -0,0 +1,81 @@
+<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, &gt; 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>