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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/mediacapturefromelement/HTMLMediaElementCapture-ended.html

Issue 2727583007: HTMLMediaElement capture: teach the captured MStream to follow up source events (Closed)
Patch Set: haraken@ comments Created 3 years, 9 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 // Run captureStream() on different videos, and assert data is flowing. 6 // Run captureStream() on different videos, and assert the mediastream is
7 // ended when the source HTMLMediaElement finishes
7 8
8 var makeAsyncTest = function(filename) { 9 var makeAsyncTest = function(filename) {
9 async_test(function(test) { 10 async_test(function(test) {
10 var video = document.createElement('video'); 11 var video = document.createElement('video');
11 video.src = "../../http/tests/media/resources/media-source/webm/" + filename ; 12 video.src = "../../http/tests/media/resources/media-source/webm/" + filename ;
12 video.onerror = this.unreached_func("<video> error"); 13 video.onerror = this.unreached_func("<video> error");
14 video.play();
13 15
14 video.onloadedmetadata = this.step_func(function() { 16 var stream = video.captureStream();
15 var stream = video.captureStream();
16 var recorder = new MediaRecorder(stream);
17 recorder.ondataavailable = test.step_func_done(function(event) {
18 assert_true(event.data.size > 0, 'Recorded data size should be > 0') ;
19 });
20 17
21 recorder.start(0); 18 stream.onremovetrack = this.step_func_done(function() {
22 video.play(); 19 assert_true(video.ended, 'video must be ended');
23 20 assert_equals(stream.getTracks().length, 0, 'stream must have no tracks');
21 assert_false(stream.active, 'stream must be inactive');
24 }); 22 });
25 23
26 video.load(); 24 }), "<video>.captureStream() and assert data flows.";
27 }), "<video>.captureStream() and assert data flows.";
28 }; 25 };
29 26
30 generate_tests(makeAsyncTest, [ 27 generate_tests(makeAsyncTest, [
31 [ "video-only", "test-v-128k-320x240-24fps-8kfr.webm" ], 28 [ "video-only", "test-v-128k-320x240-24fps-8kfr.webm" ],
32 [ "audio-only", "test-a-128k-44100Hz-1ch.webm" ], 29 [ "audio-only", "test-a-128k-44100Hz-1ch.webm" ],
33 [ "video+audio", "test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm" ] 30 [ "video+audio", "test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm" ]
34 ]); 31 ]);
35 32
36 </script> 33 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698