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

Unified 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, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-initsegmentreceived-alg.html
diff --git a/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-initsegmentreceived-alg.html b/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-initsegmentreceived-alg.html
index c7aa122d3dcc9124a6c02c93b3ac10fde0918c85..69ff7bc9af5bbc15c81730d6e9247ddd93c90f77 100644
--- a/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-initsegmentreceived-alg.html
+++ b/third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-initsegmentreceived-alg.html
@@ -107,6 +107,46 @@
loadMediaAndVerifyAddedTracks(test, mediaElement, segmentInfo, sourceBuffer, mediaData, expectedAudioTrackInfo, expectedVideoTrackInfo, test.step_func_done());
}, "Track defaults processing in the init segment algorithm (no bytestream ids)");
+ mediasource_test(function(test, mediaElement, mediaSource)
+ {
+ var subType = MediaSourceUtil.getSubType(MediaSourceUtil.AUDIO_VIDEO_TYPE);
+ var manifestFilenameA = subType + '/test-a-128k-44100Hz-1ch-manifest.json';
+ var manifestFilenameV = subType + '/test-v-128k-320x240-30fps-10kfr-manifest.json';
+
+ MediaSourceUtil.fetchManifestAndData(test, manifestFilenameA, function(typeA, dataA)
+ {
+ MediaSourceUtil.fetchManifestAndData(test, manifestFilenameV, function(typeV, dataV)
+ {
+ var sourceBufferA = mediaSource.addSourceBuffer(typeA);
+ var sourceBufferV = mediaSource.addSourceBuffer(typeV);
+ sourceBufferA.trackDefaults = new TrackDefaultList([new TrackDefault("audio", "", "audio-label-for-track-bsid1", ["main"], "1")]);
+ sourceBufferV.trackDefaults = new TrackDefaultList([new TrackDefault("video", "", "video-label-for-track-bsid1", ["main"], "1")]);
+
+ test.expectEvent(mediaElement.audioTracks, "addtrack", "mediaElement.audioTracks addtrack event");
+ test.expectEvent(mediaElement, "loadedmetadata", "loadedmetadata done.");
+ test.expectEvent(sourceBufferA, "updateend", "initSegment append ended.");
+ test.expectEvent(sourceBufferV, "updateend", "initSegment append ended.");
+ sourceBufferA.appendBuffer(dataA);
+ sourceBufferV.appendBuffer(dataV);
+ test.waitForExpectedEvents(function()
+ {
+ assert_equals(mediaElement.audioTracks.length, 1, "mediaElement.audioTracks.length");
+ assert_equals(mediaElement.videoTracks.length, 1, "mediaElement.audioTracks.length");
+ assert_equals(sourceBufferA.audioTracks.length, 1, "sourceBufferA.audioTracks.length");
+ assert_equals(sourceBufferA.videoTracks.length, 0, "sourceBufferA.videoTracks.length");
+ assert_equals(sourceBufferV.audioTracks.length, 0, "sourceBufferV.audioTracks.length");
+ assert_equals(sourceBufferV.videoTracks.length, 1, "sourceBufferV.videoTracks.length");
+ // Verify that audio track bytestream id == video track bytestream id == "1"
+ assert_equals(sourceBufferA.audioTracks[0].label, "audio-label-for-track-bsid1", "audio track bytestream id is 1");
+ assert_equals(sourceBufferV.videoTracks[0].label, "video-label-for-track-bsid1", "video track bytestream id is 1");
+ // Track ids generated for media tracks must be unique, even though the tracks have identical bytestream ids.
+ assert_not_equals(sourceBufferA.audioTracks[0].id, sourceBufferV.videoTracks[0].id, "track ids must be unique");
+ test.done();
+ });
+ });
+ });
+ }, "Two source buffers with clashing bytestream track ids");
+
</script>
</body>
</html>
« 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