Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <!DOCTYPE HTML"> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <title>Verify video play using media stream as video src.</title> |
| 3 <head> | 3 <script src="../resources/testharness.js"></script> |
| 4 <script src=media-file.js></script> | 4 <script src="../resources/testharnessreport.js"></script> |
| 5 <!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956 | 5 <video autoplay></video> |
| 6 (Please avoid writing new tests using video-test.js) --> | 6 <script> |
| 7 <script src=video-test.js></script> | 7 async_test(function(t) { |
| 8 <script src=video-played.js></script> | 8 var video = document.querySelector("video"); |
| 9 navigator.webkitGetUserMedia({video:true}, gotStream, getStreamFailed); | |
| 9 | 10 |
| 10 <script type="text/javascript"> | 11 video.onerror = t.unreached_func(); |
| 12 video.onloadstart = t.step_func(function() {}); | |
| 13 video.onloadeddata = t.step_func(function() {}); | |
| 14 video.oncanplay = t.step_func(function() {}); | |
| 15 video.onplay = t.step_func(function() {}); | |
| 11 | 16 |
| 12 var previewURL = ""; | 17 function gotStream(stream) { |
|
fs
2016/06/30 18:43:42
Could be anonymous or step_func?
Srirama
2016/06/30 19:16:22
Done.
| |
| 13 var localStream = null; | 18 var previewURL = URL.createObjectURL(stream); |
| 14 | 19 |
| 15 if (window.internals) | 20 video.oncanplaythrough = t.step_func(function() { |
|
fs
2016/06/30 18:43:42
Not quite sure above what the old strategy had goi
Srirama
2016/06/30 19:16:22
It would have buffered most of the video by this t
fs
2016/06/30 19:21:12
We should probably play it safe, so go with timeup
| |
| 16 window.internals.settings.setMediaPlaybackRequiresUserGesture(true); | 21 video.oncanplaythrough = t.step_func_done(); |
| 22 // restart preview. | |
| 23 video.src = previewURL; | |
| 24 }); | |
| 17 | 25 |
| 18 function startPreview() | 26 //start preview. |
| 19 { | 27 video.src = previewURL; |
| 20 video.src = previewURL; | |
| 21 } | |
| 22 | |
| 23 function gotStream(stream) | |
| 24 { | |
| 25 consoleWrite("got a stream"); | |
| 26 previewURL = URL.createObjectURL(stream); | |
| 27 startPreview(); | |
| 28 consoleWrite("start preview"); | |
| 29 localStream = stream; | |
| 30 var playTimeInMillisecond = 2500; | |
| 31 var replayIfTimeIsReached = function () | |
| 32 { | |
| 33 startPreview(); | |
| 34 consoleWrite("restart preview"); | |
| 35 setTimeout(endTest, playTimeInMillisecond); | |
| 36 } | 28 } |
| 37 | 29 |
| 38 setTimeout(replayIfTimeIsReached, playTimeInMillisecond); | 30 function getStreamFailed(error) { |
|
fs
2016/06/30 18:43:42
Like in test above.
Srirama
2016/06/30 19:16:22
Done.
| |
| 39 } | 31 assert_unreached(); |
| 40 | |
| 41 function gotStreamFailed(error) | |
| 42 { | |
| 43 consoleWrite("Failed to get access to local media. Error code was " + error. code); | |
| 44 } | |
| 45 | |
| 46 function playPreview() | |
| 47 { | |
| 48 findMediaElement(); | |
| 49 try { | |
| 50 consoleWrite("request access to local media"); | |
| 51 navigator.webkitGetUserMedia({video:true}, gotStream, gotStreamFailed); | |
| 52 } catch (e) { | |
| 53 consoleWrite("getUserMedia error " + "(" + e.name + " / " + e.message + ")"); | |
| 54 } | 32 } |
| 55 | 33 }); |
| 56 waitForEvent("error"); | 34 </script> |
| 57 waitForEvent("loadstart"); | |
| 58 waitForEvent("loadeddata"); | |
| 59 waitForEvent("canplay"); | |
| 60 waitForEvent("play"); | |
| 61 waitForEvent("canplaythrough"); | |
| 62 } | |
| 63 | |
| 64 </script> | |
| 65 </head> | |
| 66 | |
| 67 <body onload="playPreview()"> | |
| 68 <video width="320" height="240" autoplay="autoplay"></video> | |
| 69 </body> | |
| 70 </html> | |
| OLD | NEW |