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

Side by Side Diff: third_party/WebKit/LayoutTests/media/avtrack/track-switching.html

Issue 2684103005: Allow media track switching. (Closed)
Patch Set: Fixed comments Created 3 years, 8 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
OLDNEW
(Empty)
1 <!doctype html>
2 <html>
3 <head>
4 <title>Media track switching during playback</title>
5 <script src="../../resources/testharness.js"></script>
6 <script src="../../resources/testharnessreport.js"></script>
7 <script src="../media-file.js"></script>
8 </head>
9 <body>
10 <script>
11 async_test(function(t)
12 {
13 var video = document.createElement("video");
14 video.src = "../content/multitrack-3video-2audio.webm";
15
16 video.onloadedmetadata = t.step_func(function()
17 {
18 assert_equals(video.videoTracks.length, 3, "videoTracks.leng th");
19 assert_equals(video.audioTracks.length, 2, "audioTracks.leng th");
20
21 assert_true(video.videoTracks[0].selected, "videoTrack[0].se lected");
22 assert_false(video.videoTracks[1].selected, "videoTrack[1].s elected");
23 assert_false(video.videoTracks[2].selected, "videoTrack[2].s elected");
24 assert_true(video.audioTracks[0].enabled, "audioTracks[0].en abled");
25 assert_false(video.audioTracks[1].enabled, "audioTracks[1].e nabled");
26
27 var videoWatcher = new EventWatcher(t, video, ["playing"]);
28 var audioTracksWatcher = new EventWatcher(t, video.audioTrac ks, ["change"]);
29 var videoTracksWatcher = new EventWatcher(t, video.videoTrac ks, ["change"]);
30
31 videoWatcher.wait_for("playing").then(t.step_func(function() {
32 video.videoTracks[1].selected = true;
33 return videoTracksWatcher.wait_for("change");
34 })).then(t.step_func(function() {
35 assert_false(video.videoTracks[0].selected, "videoTrack[ 0].selected");
36 assert_true(video.videoTracks[1].selected, "videoTrack[1 ].selected");
37 video.audioTracks[0].enabled = false;
38 return audioTracksWatcher.wait_for("change");
39 })).then(t.step_func(function() {
40 assert_false(video.audioTracks[0].enabled, "audioTracks[ 0].enabled");
41 assert_false(video.audioTracks[1].enabled, "audioTracks[ 1].enabled");
42 video.audioTracks[1].enabled = true;
43 return audioTracksWatcher.wait_for("change");
44 })).then(t.step_func(function() {
45 assert_false(video.audioTracks[0].enabled, "audioTracks[ 0].enabled");
46 assert_true(video.audioTracks[1].enabled, "audioTracks[1 ].enabled");
47 setTimeout(t.step_func_done(), 500);
48 }));
49 video.play();
50 });
51 }, "VideoTrackList track change");
52 </script>
53 </body>
54 </html>
55
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698