Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(788)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/mediarecorder/MediaRecorder-requestData.html

Issue 2610163006: MediaRecorder: support |timecode| and remove |m_ignoreMutedMedia|. (Closed)
Patch Set: Rebase video_capture_device_client.cc Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src=../../resources/testharness.js></script> 2 <script src=../../resources/testharness.js></script>
3 <script src=../../resources/testharnessreport.js></script> 3 <script src=../../resources/testharnessreport.js></script>
4 <script> 4 <script>
5 5
6 // This test verifies we can successfully create a MediaRecorder and 6 // This test verifies we can successfully create a MediaRecorder and
7 // get data from a MediaStream with it. 7 // get data from a MediaStream with it.
8 8
9 var checkStreamTracks = function(stream, has_video, has_audio) { 9 var checkStreamTracks = function(stream, has_video, has_audio) {
10 if (has_video) { 10 if (has_video) {
(...skipping 10 matching lines...) Expand all
21 assert_equals(stream.getAudioTracks().length, 0); 21 assert_equals(stream.getAudioTracks().length, 0);
22 } 22 }
23 }; 23 };
24 24
25 var makeAsyncTest = function(value, expected) { 25 var makeAsyncTest = function(value, expected) {
26 async_test(function(test) { 26 async_test(function(test) {
27 const recorderOnDataAvailable = test.step_func_done(function(event) { 27 const recorderOnDataAvailable = test.step_func_done(function(event) {
28 assert_equals(event.data.size, 0, 28 assert_equals(event.data.size, 0,
29 'Recorded data size should be == 0'); 29 'Recorded data size should be == 0');
30 assert_equals(event.data.type, "video/webm"); 30 assert_equals(event.data.type, "video/webm");
31 assert_not_equals(event.timecode, NaN, 'timecode');
31 }); 32 });
32 33
33 const recorderOnStop = test.step_func(function() { 34 const recorderOnStop = test.step_func(function() {
34 assert_unreached('Recording stopped.'); 35 assert_unreached('Recording stopped.');
35 }); 36 });
36 37
37 const recorderOnError = test.step_func(function() { 38 const recorderOnError = test.step_func(function() {
38 assert_unreached('Recording error.'); 39 assert_unreached('Recording error.');
39 }); 40 });
40 41
41 const gotStream = test.step_func(function(stream) { 42 const gotStream = test.step_func(function(stream) {
42 checkStreamTracks(stream, value['video'], value['audio']); 43 checkStreamTracks(stream, value['video'], value['audio']);
43 44
44 var recorder = new MediaRecorder(stream); 45 var recorder = new MediaRecorder(stream);
45 46
46 assert_throws("InvalidStateError", 47 assert_throws("InvalidStateError",
47 function() { 48 function() {
48 recorder.requestData(); 49 recorder.requestData();
49 }, 50 },
50 "recorder throws InvalidStateError if requestData() while state is not 'recording'"); 51 "recorder throws InvalidStateError if requestData() while state is not 'recording'");
51 52
52 recorder.ondataavailable = recorderOnDataAvailable; 53 recorder.ondataavailable = recorderOnDataAvailable;
53 recorder.onstop = recorderOnStop; 54 recorder.onstop = recorderOnStop;
54 recorder.onerror = recorderOnError; 55 recorder.onerror = recorderOnError;
55 recorder.start(0); 56 recorder.start();
56 57
57 assert_equals(recorder.state, "recording"); 58 assert_equals(recorder.state, "recording");
58 recorder.requestData(); 59 recorder.requestData();
59 }); 60 });
60 61
61 const onError = test.unreached_func('Error creating MediaStream.'); 62 const onError = test.unreached_func('Error creating MediaStream.');
62 navigator.webkitGetUserMedia(value, gotStream, onError); 63 navigator.webkitGetUserMedia(value, gotStream, onError);
63 }); 64 });
64 }; 65 };
65 66
66 generate_tests(makeAsyncTest, 67 generate_tests(makeAsyncTest,
67 [["video-only", {video: true, audio: false}], 68 [["video-only", {video: true, audio: false}],
68 ["audio-only", {video: false, audio: true}], 69 ["audio-only", {video: false, audio: true}],
69 ["audio-video", {video: true, audio: true}]]); 70 ["audio-video", {video: true, audio: true}]]);
70 71
71 </script> 72 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698