mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-29 21:25:35 +00:00
13740fea4f
SendStreamAudio gets called by SendStreamData which can be called on the state machine thread since bug 794426 was fixed. At the same time PlayFromAudioQueuec can no longer guarantee that mAudioCaptured is false. It could be true and we're waiting for the audio thread to shut down. We can just remove that assertion; the logic in SendStreamData guarantees that we don't try to pass audio to MediaStreams until the audio thread has actually stopped. --HG-- extra : rebase_source : 431b4af63710ef13a57f7560aeec553b8aae6139
46 lines
1.1 KiB
HTML
46 lines
1.1 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Test garbage collection of captured stream (bug 806754)</title>
|
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
<script type="text/javascript" src="manifest.js"></script>
|
|
</head>
|
|
<body onload="doTest()">
|
|
<audio id="a"></audio>
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
var a = document.getElementById('a');
|
|
a.src = getPlayableAudio(gSmallTests).name;
|
|
|
|
function forceGC() {
|
|
SpecialPowers.gc();
|
|
SpecialPowers.forceGC();
|
|
SpecialPowers.forceCC();
|
|
}
|
|
|
|
function doTest() {
|
|
a.mozCaptureStreamUntilEnded();
|
|
|
|
a.addEventListener("seeked", function() {
|
|
a.play();
|
|
|
|
a.addEventListener("play", function() {
|
|
a.addEventListener("ended", function() {
|
|
ok(true, "GC completed OK");
|
|
SimpleTest.finish();
|
|
}, false);
|
|
}, false);
|
|
}, false);
|
|
|
|
a.currentTime = a.duration;
|
|
|
|
setTimeout(forceGC, 0);
|
|
}
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|