OLD | NEW |
1 <!doctype html> | 1 <!doctype html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <title>Removing a track from a MediaStream</title> | 4 <title>Removing a track from a MediaStream</title> |
5 <link rel="author" title="Dominique Hazael-Massieux" href="mailto:dom@w3.org"/> | 5 <link rel="author" title="Dominique Hazael-Massieux" href="mailto:dom@w3.org"/> |
6 <link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#wi
dl-MediaStreamTrackList-remove-void-MediaStreamTrack-track"> | 6 <link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#wi
dl-MediaStreamTrackList-remove-void-MediaStreamTrack-track"> |
7 <link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#ev
ent-mediastream-removetrack"> | 7 <link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#ev
ent-mediastream-removetrack"> |
8 <link rel='stylesheet' href='../../../../../resources/testharness.css' media='al
l'/> | 8 <link rel='stylesheet' href='../../../../../resources/testharness.css' media='al
l'/> |
9 </head> | 9 </head> |
10 <body> | 10 <body> |
11 <p class="instructions" style="display:none">When prompted, accept to share your
audio stream, then your video stream.</p> | 11 <p class="instructions" style="display:none">When prompted, accept to share your
audio stream, then your video stream.</p> |
12 <h1 class="instructions" style="display:none">Description</h1> | 12 <h1 class="instructions" style="display:none">Description</h1> |
13 <p class="instructions" style="display:none">This test checks that removinging a
track from a MediaStream works as expected.</p> | 13 <p class="instructions" style="display:none">This test checks that removinging a
track from a MediaStream works as expected.</p> |
14 | 14 |
15 <div id='log'></div> | 15 <div id='log'></div> |
16 <script src=../../../../../resources/testharness.js></script> | 16 <script src=../../../../../resources/testharness.js></script> |
17 <script src=../../../../../resources/testharnessreport.js></script> | 17 <script src=../../../../../resources/testharnessreport.js></script> |
18 <script src="../../../../../resources/vendor-prefix.js" data-prefixed-objects='[
{"ancestors":["navigator"], "name":"getUserMedia"}]'></script> | 18 <script src="../../../../../resources/vendor-prefix.js" data-prefixed-objects='[
{"ancestors":["navigator"], "name":"getUserMedia"}]'></script> |
19 <script> | 19 <script> |
20 var t = async_test("Tests that a removal from a MediaStream works as expected",
{timeout:10000}); | 20 var t = async_test("Tests that a removal from a MediaStream works as expected",
{timeout:10000}); |
21 t.step(function () { | 21 t.step(function () { |
22 var audio; | 22 var audio; |
23 navigator.getUserMedia({audio:true}, gotAudio, function(error) {}); | 23 navigator.getUserMedia({audio:true}, gotAudio, function(error) {}); |
24 function gotAudio(stream) { | 24 function gotAudio(stream) { |
25 audio = stream; | 25 audio = stream; |
26 navigator.getUserMedia({video:true}, gotVideo, function(error) {}); | 26 navigator.getUserMedia({video:true}, gotVideo, function(error) {}); |
27 } | 27 } |
28 | 28 |
29 function gotVideo(stream) { | 29 function gotVideo(stream) { |
30 console.log(stream); | |
31 var video = stream; | 30 var video = stream; |
32 console.log(video); | |
33 video.onremovetrack = function () { | 31 video.onremovetrack = function () { |
34 assert_unreached("onremovetrack is not triggered when removal of track is
triggered by the script itself"); | 32 assert_unreached("onremovetrack is not triggered when removal of track is
triggered by the script itself"); |
35 }; | 33 }; |
36 t.step(function () { | 34 t.step(function () { |
37 assert_equals(video.getVideoTracks().length, 1, "video mediastream starts
with one video track"); | 35 assert_equals(video.getVideoTracks().length, 1, "video mediastream starts
with one video track"); |
38 video.removeTrack(video.getVideoTracks()[0]); | 36 video.removeTrack(video.getVideoTracks()[0]); |
39 assert_equals(video.getVideoTracks().length, 0, "video mediastream has no
video track left"); | 37 assert_equals(video.getVideoTracks().length, 0, "video mediastream has no
video track left"); |
40 video.removeTrack(audio.getAudioTracks()[0]); // should not throw | 38 video.removeTrack(audio.getAudioTracks()[0]); // should not throw |
41 }); | 39 }); |
42 t.step(function() { | 40 t.step(function() { |
43 t.done(); | 41 t.done(); |
44 }); | 42 }); |
45 } | 43 } |
46 }); | 44 }); |
47 </script> | 45 </script> |
48 </body> | 46 </body> |
49 </html> | 47 </html> |
OLD | NEW |