capture-muted.html (1137B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <script src=/resources/testharness.js></script> 5 <script src=/resources/testharnessreport.js></script> 6 </head> 7 <body> 8 <script> 9 10 // Run captureStream() on different muted videos, and assert data is flowing. 11 12 function makeAsyncTest(filename) { 13 return async function(test) { 14 const video = document.createElement('video'); 15 video.src = "/media/" + filename; 16 video.muted = true; 17 video.onerror = test.unreached_func("<video> error"); 18 video.play(); 19 20 const stream = video.captureStream(); 21 await new Promise(r => stream.onaddtrack = r); 22 const recorder = new MediaRecorder(stream); 23 24 recorder.start(0); 25 const {data} = await new Promise(r => recorder.ondataavailable = r); 26 assert_true(data.size > 0, 'Recorded data size should be > 0'); 27 }; 28 } 29 30 promise_test(makeAsyncTest("test-v-128k-320x240-24fps-8kfr.webm"), "video-only."); 31 promise_test(makeAsyncTest("test-a-128k-44100Hz-1ch.webm"), "audio-only"); 32 promise_test(makeAsyncTest("test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm"), "video+audio"); 33 34 </script> 35 </body> 36 </html>