OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="/w3c/resources/testharness.js"></script> | 4 <script src="/w3c/resources/testharness.js"></script> |
5 <script src="/w3c/resources/testharnessreport.js"></script> | 5 <script src="/w3c/resources/testharnessreport.js"></script> |
6 <script src="mediasource-util.js"></script> | 6 <script src="mediasource-util.js"></script> |
7 | 7 |
8 <link rel='stylesheet' href='/w3c/resources/testharness.css'> | 8 <link rel='stylesheet' href='/w3c/resources/testharness.css'> |
9 </head> | 9 </head> |
10 <body> | 10 <body> |
11 <div id="log"></div> | 11 <div id="log"></div> |
12 <script> | 12 <script> |
13 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour
ce, segmentInfo, sourceBuffer, mediaData) | 13 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour
ce, segmentInfo, sourceBuffer, mediaData) |
14 { | 14 { |
15 var initSegment = MediaSourceUtil.extractSegmentData(mediaData, se
gmentInfo.init); | 15 var initSegment = MediaSourceUtil.extractSegmentData(mediaData, se
gmentInfo.init); |
16 test.expectEvent(sourceBuffer, 'updateend', 'initSegment append en
ded.'); | 16 test.expectEvent(sourceBuffer, 'updateend', 'initSegment append en
ded.'); |
| 17 test.expectEvent(sourceBuffer.audioTracks, 'addtrack', 'sourceBuff
er.videoTracks addtrack event'); |
| 18 test.expectEvent(sourceBuffer.videoTracks, 'addtrack', 'sourceBuff
er.videoTracks addtrack event'); |
| 19 test.expectEvent(mediaElement.audioTracks, 'addtrack', 'mediaEleme
nt.videoTracks addtrack event'); |
| 20 test.expectEvent(mediaElement.videoTracks, 'addtrack', 'mediaEleme
nt.videoTracks addtrack event'); |
17 sourceBuffer.appendBuffer(initSegment); | 21 sourceBuffer.appendBuffer(initSegment); |
18 test.waitForExpectedEvents(function() | 22 test.waitForExpectedEvents(function() |
19 { | 23 { |
20 // TODO(servolk): Find a way to make tests more concise in JS | |
21 assert_equals(mediaElement.videoTracks.length, 1, "videoTracks.l
ength"); | |
22 assert_equals(mediaElement.videoTracks[0].id, "1", "videoTrack.i
d"); | |
23 assert_equals(mediaElement.videoTracks[0].kind, "main", "videoTr
ack.kind"); | |
24 assert_equals(mediaElement.videoTracks[0].label, "", "videoTrack
.label"); | |
25 assert_equals(mediaElement.videoTracks[0].language, "eng", "vide
oTrack.language"); | |
26 | |
27 assert_equals(mediaElement.audioTracks.length, 1, "audioTracks.l
ength"); | |
28 assert_equals(mediaElement.audioTracks[0].id, "2", "audioTrack.i
d"); | |
29 assert_equals(mediaElement.audioTracks[0].kind, "main", "audioTr
ack.kind"); | |
30 assert_equals(mediaElement.audioTracks[0].label, "", "audioTrack
.label"); | |
31 assert_equals(mediaElement.audioTracks[0].language, "eng", "audi
oTrack.language"); | |
32 | |
33 assert_equals(sourceBuffer.videoTracks.length, 1, "videoTracks.l
ength"); | 24 assert_equals(sourceBuffer.videoTracks.length, 1, "videoTracks.l
ength"); |
34 assert_equals(sourceBuffer.videoTracks[0].id, "1", "videoTrack.i
d"); | 25 assert_equals(sourceBuffer.videoTracks[0].id, "1", "videoTrack.i
d"); |
35 assert_equals(sourceBuffer.videoTracks[0].kind, "main", "videoTr
ack.kind"); | 26 assert_equals(sourceBuffer.videoTracks[0].kind, "main", "videoTr
ack.kind"); |
36 assert_equals(sourceBuffer.videoTracks[0].label, "", "videoTrack
.label"); | 27 assert_equals(sourceBuffer.videoTracks[0].label, "", "videoTrack
.label"); |
37 assert_equals(sourceBuffer.videoTracks[0].language, "eng", "vide
oTrack.language"); | 28 assert_equals(sourceBuffer.videoTracks[0].language, "eng", "vide
oTrack.language"); |
| 29 assert_equals(sourceBuffer.videoTracks[0].sourceBuffer, sourceBu
ffer, "videoTrack.sourceBuffer"); |
| 30 // The first video track is selected by default. |
| 31 assert_true(sourceBuffer.videoTracks[0].selected, "sourceBuffer.
videoTracks[0].selected"); |
38 | 32 |
39 assert_equals(sourceBuffer.audioTracks.length, 1, "audioTracks.l
ength"); | 33 assert_equals(sourceBuffer.audioTracks.length, 1, "audioTracks.l
ength"); |
40 assert_equals(sourceBuffer.audioTracks[0].id, "2", "audioTrack.i
d"); | 34 assert_equals(sourceBuffer.audioTracks[0].id, "2", "audioTrack.i
d"); |
41 assert_equals(sourceBuffer.audioTracks[0].kind, "main", "audioTr
ack.kind"); | 35 assert_equals(sourceBuffer.audioTracks[0].kind, "main", "audioTr
ack.kind"); |
42 assert_equals(sourceBuffer.audioTracks[0].label, "", "audioTrack
.label"); | 36 assert_equals(sourceBuffer.audioTracks[0].label, "", "audioTrack
.label"); |
43 assert_equals(sourceBuffer.audioTracks[0].language, "eng", "audi
oTrack.language"); | 37 assert_equals(sourceBuffer.audioTracks[0].language, "eng", "audi
oTrack.language"); |
| 38 assert_equals(sourceBuffer.audioTracks[0].sourceBuffer, sourceBu
ffer, "audioTrack.sourceBuffer"); |
| 39 // The first audio track is enabled by default. |
| 40 assert_true(sourceBuffer.audioTracks[0].enabled, "sourceBuffer.a
udioTracks[0].enabled"); |
| 41 |
| 42 assert_equals(mediaElement.videoTracks.length, 1, "videoTracks.l
ength"); |
| 43 assert_equals(mediaElement.videoTracks[0], sourceBuffer.videoTra
cks[0], "mediaElement.videoTrack == sourceBuffer.videoTrack"); |
| 44 |
| 45 assert_equals(mediaElement.audioTracks.length, 1, "audioTracks.l
ength"); |
| 46 assert_equals(mediaElement.audioTracks[0], sourceBuffer.audioTra
cks[0], "mediaElement.audioTrack == sourceBuffer.audioTrack"); |
44 | 47 |
45 test.done(); | 48 test.done(); |
46 }); | 49 }); |
47 }, "MediaSource audio tracks"); | 50 }, "MediaSource media track properties"); |
48 </script> | 51 </script> |
49 </body> | 52 </body> |
50 </html> | 53 </html> |
51 | 54 |
OLD | NEW |