<!-- This is a test html file for video test. --> <html> <body> <video id='testvideo' controls autoplay muted name='media'> <source src=''> </video> </body> <script type="text/javascript"> var NUM_FAST_SEEKS = 16; var NUM_SEEKS = 100; var fast_seeks = 0; var seeks = 0; var testvideo = document.getElementById('testvideo'); function loadSourceAndRunSeekTest(video) { testvideo.src = video; testvideo.play(); // Random seek forward and backward until reaching NUM_SEEKS. // The next seek will be immediately tirggered after getting the "seeking" // event for NUM_FAST_SEEKS times. After that, we will wait for the "seeked" // event and repeat for NUM_SEEKS times. fast_seeks = 0; seeks = 0; testvideo.addEventListener('seeking', function() { fast_seeks++; if (fast_seeks < NUM_FAST_SEEKS) randomSeek(); }); testvideo.addEventListener('seeked', function() { seeks++; fast_seeks = 0; if (seeks < NUM_SEEKS) randomSeek(); }); // Start the first seek only after the video is ready. testvideo.addEventListener("loadeddata", function() { randomSeek(); }); } function randomSeek() { testvideo.currentTime = Math.random() * testvideo.duration; } function getSeekTestStatus() { if (seeks == NUM_SEEKS) return 'pass' return testvideo.currentTime + '/' + testvideo.duration + '/' + seeks; } </script> </html>