| 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 </head> | 7 </head> |
| 8 <body> | 8 <body> |
| 9 <script> | 9 <script> |
| 10 function verifyTrackProperties(trackType, track, expectedTrackInfo)
{ | 10 function verifyTrackProperties(trackType, track, expectedTrackInfo)
{ |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 ]; | 100 ]; |
| 101 var trackDefaultList = new TrackDefaultList(originalTrackDefault
s.slice()); | 101 var trackDefaultList = new TrackDefaultList(originalTrackDefault
s.slice()); |
| 102 sourceBuffer.trackDefaults = trackDefaultList; | 102 sourceBuffer.trackDefaults = trackDefaultList; |
| 103 | 103 |
| 104 var expectedAudioTrackInfo = { kind: "main", label: "audio-label
", language: "audio-language" }; | 104 var expectedAudioTrackInfo = { kind: "main", label: "audio-label
", language: "audio-language" }; |
| 105 var expectedVideoTrackInfo = { kind: "main", label: "video-label
", language: "video-language" }; | 105 var expectedVideoTrackInfo = { kind: "main", label: "video-label
", language: "video-language" }; |
| 106 | 106 |
| 107 loadMediaAndVerifyAddedTracks(test, mediaElement, segmentInfo, s
ourceBuffer, mediaData, expectedAudioTrackInfo, expectedVideoTrackInfo, test.ste
p_func_done()); | 107 loadMediaAndVerifyAddedTracks(test, mediaElement, segmentInfo, s
ourceBuffer, mediaData, expectedAudioTrackInfo, expectedVideoTrackInfo, test.ste
p_func_done()); |
| 108 }, "Track defaults processing in the init segment algorithm (no byte
stream ids)"); | 108 }, "Track defaults processing in the init segment algorithm (no byte
stream ids)"); |
| 109 | 109 |
| 110 mediasource_test(function(test, mediaElement, mediaSource) |
| 111 { |
| 112 var subType = MediaSourceUtil.getSubType(MediaSourceUtil.AUDIO_V
IDEO_TYPE); |
| 113 var manifestFilenameA = subType + '/test-a-128k-44100Hz-1ch-mani
fest.json'; |
| 114 var manifestFilenameV = subType + '/test-v-128k-320x240-30fps-10
kfr-manifest.json'; |
| 115 |
| 116 MediaSourceUtil.fetchManifestAndData(test, manifestFilenameA, fu
nction(typeA, dataA) |
| 117 { |
| 118 MediaSourceUtil.fetchManifestAndData(test, manifestFilenameV
, function(typeV, dataV) |
| 119 { |
| 120 var sourceBufferA = mediaSource.addSourceBuffer(typeA); |
| 121 var sourceBufferV = mediaSource.addSourceBuffer(typeV); |
| 122 sourceBufferA.trackDefaults = new TrackDefaultList([new
TrackDefault("audio", "", "audio-label-for-track-bsid1", ["main"], "1")]); |
| 123 sourceBufferV.trackDefaults = new TrackDefaultList([new
TrackDefault("video", "", "video-label-for-track-bsid1", ["main"], "1")]); |
| 124 |
| 125 test.expectEvent(mediaElement.audioTracks, "addtrack", "
mediaElement.audioTracks addtrack event"); |
| 126 test.expectEvent(mediaElement, "loadedmetadata", "loaded
metadata done."); |
| 127 test.expectEvent(sourceBufferA, "updateend", "initSegmen
t append ended."); |
| 128 test.expectEvent(sourceBufferV, "updateend", "initSegmen
t append ended."); |
| 129 sourceBufferA.appendBuffer(dataA); |
| 130 sourceBufferV.appendBuffer(dataV); |
| 131 test.waitForExpectedEvents(function() |
| 132 { |
| 133 assert_equals(mediaElement.audioTracks.length, 1, "m
ediaElement.audioTracks.length"); |
| 134 assert_equals(mediaElement.videoTracks.length, 1, "m
ediaElement.audioTracks.length"); |
| 135 assert_equals(sourceBufferA.audioTracks.length, 1, "
sourceBufferA.audioTracks.length"); |
| 136 assert_equals(sourceBufferA.videoTracks.length, 0, "
sourceBufferA.videoTracks.length"); |
| 137 assert_equals(sourceBufferV.audioTracks.length, 0, "
sourceBufferV.audioTracks.length"); |
| 138 assert_equals(sourceBufferV.videoTracks.length, 1, "
sourceBufferV.videoTracks.length"); |
| 139 // Verify that audio track bytestream id == video tr
ack bytestream id == "1" |
| 140 assert_equals(sourceBufferA.audioTracks[0].label, "a
udio-label-for-track-bsid1", "audio track bytestream id is 1"); |
| 141 assert_equals(sourceBufferV.videoTracks[0].label, "v
ideo-label-for-track-bsid1", "video track bytestream id is 1"); |
| 142 // Track ids generated for media tracks must be uniq
ue, even though the tracks have identical bytestream ids. |
| 143 assert_not_equals(sourceBufferA.audioTracks[0].id, s
ourceBufferV.videoTracks[0].id, "track ids must be unique"); |
| 144 test.done(); |
| 145 }); |
| 146 }); |
| 147 }); |
| 148 }, "Two source buffers with clashing bytestream track ids"); |
| 149 |
| 110 </script> | 150 </script> |
| 111 </body> | 151 </body> |
| 112 </html> | 152 </html> |
| OLD | NEW |