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

Side by Side Diff: content/test/data/media/mediarecorder_test.html

Issue 2757793002: Add transparent video input test for WebRtcMediaRecorderBrowserTest (Closed)
Patch Set: 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
« no previous file with comments | « content/browser/webrtc/webrtc_media_recorder_browsertest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>MediaStream Recoder Browser Test (w/ MediaSource)</title> 4 <title>MediaStream Recoder Browser Test (w/ MediaSource)</title>
5 </head> 5 </head>
6 <body> 6 <body>
7 <div> Record Real-Time video content browser test.</div> 7 <div> Record Real-Time video content browser test.</div>
8 <video id="video" autoplay></video> 8 <video id="video" autoplay></video>
9 <video id="remoteVideo" autoplay></video> 9 <video id="remoteVideo" autoplay></video>
10 </body> 10 </body>
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 }) 531 })
532 .catch(function(err) { 532 .catch(function(err) {
533 return failTest(err.toString()); 533 return failTest(err.toString());
534 }) 534 })
535 .then(function() { 535 .then(function() {
536 console.log('audioSize', audioSize); 536 console.log('audioSize', audioSize);
537 reportTestSuccess(); 537 reportTestSuccess();
538 }); 538 });
539 } 539 }
540 540
541 541 // Tests that MediaRecorder can handle video input with alpha channel.
542 // Tests that MediaRecorder can handle a mid-stream resize of the video input 542 function testRecordWithTransparency(mimeType) {
543 function testResizeVideoInput(mimeType) {
544 const ON_DATA_AVAILABLE_THRESHOLD = 10; 543 const ON_DATA_AVAILABLE_THRESHOLD = 10;
545 const NUMBER_OF_EVENTS_TO_RECORD = 5; 544 const NUMBER_OF_EVENTS_TO_RECORD = 5;
546 545
547 var canvas = document.createElement('canvas'); 546 var canvas = document.createElement('canvas');
548 canvas.width = canvas.height = 64; 547 canvas.width = canvas.height = 64;
549 var stream = canvas.captureStream(); 548 var stream = canvas.captureStream();
550 assertTrue(stream, 'Error creating MediaStream'); 549 assertTrue(stream, 'Error creating MediaStream');
551 assertEquals(1, stream.getVideoTracks().length); 550 assertEquals(1, stream.getVideoTracks().length);
552 assertEquals(0, stream.getAudioTracks().length); 551 assertEquals(0, stream.getAudioTracks().length);
553 var recordedEvents = 0; 552 var recordedEvents = 0;
554 553
555 function drawOnCanvas(canvas) { 554 function drawOnCanvas(canvas) {
556 var ctx = canvas.getContext('2d'); 555 var ctx = canvas.getContext('2d', {alpha: true});
557 ctx.fillStyle = 'green'; 556 ctx.fillStyle = 'green';
558 ctx.fillRect(0, 0, canvas.width, canvas.height); 557 ctx.fillRect(0, 0, canvas.width, canvas.height);
559 requestAnimationFrame( function() { drawOnCanvas(canvas); }); 558 requestAnimationFrame( function() { drawOnCanvas(canvas); });
560 } 559 }
561 560
562 createMediaRecorder(stream, mimeType) 561 createMediaRecorder(stream, mimeType)
563 .then(function(recorder) { 562 .then(function(recorder) {
564 recorder.ondataavailable = function(event) { 563 recorder.ondataavailable = function(event) {
565 if (event.data.size > ON_DATA_AVAILABLE_THRESHOLD) 564 if (event.data.size > ON_DATA_AVAILABLE_THRESHOLD)
566 ++recordedEvents; 565 ++recordedEvents;
567 }; 566 };
568 recorder.start(0); 567 recorder.start(0);
569 drawOnCanvas(canvas); 568 drawOnCanvas(canvas);
570 }) 569 })
571 .then(function() { 570 .then(function() {
572 return waitFor('Make sure the recording has data', 571 return waitFor('Make sure the recording has data',
573 function() { 572 function() {
574 return recordedEvents > NUMBER_OF_EVENTS_TO_RECORD; 573 return recordedEvents > NUMBER_OF_EVENTS_TO_RECORD;
575 }); 574 });
576 }) 575 })
577 .then(function() {
578 canvas.width = canvas.height = 48;
579 recordedEvents = 0;
580 })
581 .then(function() {
582 return waitFor('Make sure the recording has data',
583 function() {
584 return recordedEvents > NUMBER_OF_EVENTS_TO_RECORD;
585 });
586 })
587 .catch(function(err) { 576 .catch(function(err) {
588 return failTest(err.toString()); 577 return failTest(err.toString());
589 }) 578 })
590 .then(function() { 579 .then(function() {
591 reportTestSuccess(); 580 reportTestSuccess();
592 }); 581 });
593 } 582 }
594 583
595 // Tests that MediaRecorder's requestData() throws an exception if |state| is 584 // Tests that MediaRecorder's requestData() throws an exception if |state| is
596 // 'inactive'. 585 // 'inactive'.
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 return failTest(err.toString()); 654 return failTest(err.toString());
666 }) 655 })
667 .then(function() { 656 .then(function() {
668 reportTestSuccess(); 657 reportTestSuccess();
669 }); 658 });
670 } 659 }
671 660
672 </script> 661 </script>
673 </body> 662 </body>
674 </html> 663 </html>
OLDNEW
« no previous file with comments | « content/browser/webrtc/webrtc_media_recorder_browsertest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698