OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <script src=../../resources/testharness.js></script> | |
3 <script src=../../resources/testharnessreport.js></script> | |
4 <script> | |
5 | |
6 var test = async_test('checks the video-only MediaRecorder API.'); | |
7 var recorder; | |
8 | |
9 recorderOnDataAvailable = test.step_func(function(event) { | |
10 if (event) { | |
11 assert_greater_than(event.data.size, 0, 'Recorded data size should be > 0'
); | |
12 assert_equals(recorder.state, "recording"); | |
13 } else { | |
14 assert_equals(recorder.state, "inactive"); | |
15 } | |
16 | |
17 // TODO(mcasas): Let the test record for a while. | |
18 // TODO(mcasas): Consider storing the recorded data and playing it back. | |
19 | |
20 recorder.onstop = recorderOnStopExpected; | |
21 recorder.stop(); | |
22 }); | |
23 | |
24 recorderOnStopExpected = test.step_func(function() { | |
25 test.done(); | |
26 }); | |
27 | |
28 recorderOnStopUnexpected = test.step_func(function() { | |
29 assert_unreached('Recording stopped.'); | |
30 }); | |
31 | |
32 recorderOnError = test.step_func(function() { | |
33 assert_unreached('Recording error.'); | |
34 }); | |
35 | |
36 gotStream = test.step_func(function(stream) { | |
37 assert_equals(stream.getAudioTracks().length, 0); | |
38 assert_equals(stream.getVideoTracks().length, 1); | |
39 assert_equals(stream.getVideoTracks()[0].readyState, 'live'); | |
40 | |
41 try { | |
42 recorder = new MediaRecorder(stream); | |
43 } catch (e) { | |
44 assert_unreached('Exception while creating MediaRecorder: ' + e); | |
45 } | |
46 | |
47 assert_equals(recorder.state, "inactive"); | |
48 recorder.ondataavailable = recorderOnDataAvailable; | |
49 recorder.onstop = recorderOnStopUnexpected; | |
50 recorder.onerror = recorderOnError; | |
51 recorder.start(); | |
52 | |
53 assert_equals(recorder.state, "recording"); | |
54 test.done(); | |
55 }); | |
56 | |
57 onError = test.step_func(function() { | |
58 assert_unreached('Error creating MediaRecorder.'); | |
59 }); | |
60 | |
61 try { | |
62 navigator.webkitGetUserMedia({video:true}, gotStream, onError); | |
63 } catch(e) { | |
64 assert_unreached('Exception launching getUserMedia(): ' + e); | |
65 } | |
66 | |
67 </script> | |
OLD | NEW |