1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/media/test/test_mediarecorder_getencodeddata.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,64 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 + <title>Bug 957452 Test GetEncodedData problem on asan build</title> 1.8 + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.9 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.10 +</head> 1.11 +<body> 1.12 +<pre id="test"> 1.13 +<script class="testbody" type="text/javascript"> 1.14 +SimpleTest.waitForExplicitFinish(); 1.15 +SpecialPowers.pushPrefEnv({"set": [["media.ogg.enabled", false]]}, 1.16 + function () { 1.17 + var ac = new window.AudioContext(); 1.18 + var dest = ac.createMediaStreamDestination(); 1.19 + var stream = dest.stream; 1.20 + var onErrorFired = false; 1.21 + var expectedMimeType = ''; 1.22 + var ondataavailableFired = false; 1.23 + setTimeout(function() { 1.24 + var mediaRecorder = new MediaRecorder(stream); 1.25 + mediaRecorder.onstop = function(e) { 1.26 + is(e.target.state, 'inactive', 1.27 + 'Media recorder is inactive after being stopped'); 1.28 + ok(onErrorFired, 'onStop after onError'); 1.29 + ok(ondataavailableFired, 'ondataavailableFired'); 1.30 + 1.31 + SimpleTest.finish(); 1.32 + } 1.33 + mediaRecorder.ondataavailable = function(evt) { 1.34 + ondataavailableFired = true; 1.35 + ok(evt instanceof BlobEvent, 1.36 + 'Events fired from ondataavailable should be BlobEvent'); 1.37 + is(evt.type, 'dataavailable', 1.38 + 'Event type should dataavailable'); 1.39 + is(evt.data.size, 0, 1.40 + 'Blob data size received is equal to zero'); 1.41 + is(evt.data.type, expectedMimeType, 1.42 + 'Blob data received should have type = ' + expectedMimeType); 1.43 + is(evt.target.mimeType, expectedMimeType, 1.44 + 'Mime type in ondataavailable = ' + expectedMimeType); 1.45 + } 1.46 + mediaRecorder.onerror = function(evt) { 1.47 + ok(evt instanceof RecordErrorEvent, 1.48 + 'Events fired from onerror should be RecordErrorEvent'); 1.49 + is(evt.type, 'error', 1.50 + 'Event type should onerror'); 1.51 + is(evt.name, 'GenericError', 1.52 + 'Event name is GenericError'); 1.53 + onErrorFired = true; 1.54 + } 1.55 + mediaRecorder.start(0); 1.56 + is(mediaRecorder.state, 'recording', 'Media recorder should be recording'); 1.57 + is(mediaRecorder.stream, stream, 1.58 + 'Media recorder stream = element stream at the start of recording'); 1.59 + mediaRecorder.requestData(); 1.60 + mediaRecorder.stop(); 1.61 + }, 100); 1.62 + } 1.63 +); 1.64 +</script> 1.65 +</pre> 1.66 +</body> 1.67 +</html>