| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>Test effective playback rate with a MediaController.</title> |
| <script src="media-file.js"></script> |
| <script src="video-test.js"></script> |
| <script> |
| var start = function() |
| { |
| findMediaElement(); |
| video.src = findMediaFile("video", "content/test"); |
| |
| // Set the rate on the media element so playback won't move forward. |
| video.playbackRate = 0; |
| |
| waitForEventOnce("canplay",canplay); |
| }; |
| |
| var canplay = function() |
| { |
| video.controller = new MediaController(); |
| |
| // Verify the controller playback rate is 1. This |
| // means the "effective playback rate" is 1 even though |
| // the HTMLMediaElement's playbackRate attribute is 0. |
| testExpected("video.controller.playbackRate", 1); |
| testExpected("video.playbackRate", 0); |
| |
| // Wait for the seek initiated by the "bringing up to speed" |
| // step to complete. |
| waitForEventOnce('seeked', seeked); |
| }; |
| |
| var seeked = function() |
| { |
| // Initiate playback and verify that time moves forward. |
| run("video.play()"); |
| waitForEventOnce("playing", playing); |
| }; |
| |
| var playing = function() |
| { |
| waitForEventOnce("timeupdate", timeupdate); |
| }; |
| |
| var timeupdate = function() |
| { |
| testExpected("video.currentTime", 0, "!="); |
| endTest(); |
| }; |
| </script> |
| </head> |
| <body onload="start()"> |
| <video></video> |
| </body> |
| </html> |