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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-initsegmentreceived-alg.html

Issue 2118943002: MSE test for two SourceBuffers with clashing bytestream track ids (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Verify bytestream track ids via TrackDefaults Created 4 years, 5 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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>
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698