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

Side by Side Diff: LayoutTests/http/tests/media/media-source/mediasource-config-changes.js

Issue 17338002: Add LayoutTests for MediaSource codec config changes. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address CR comments Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 function fetchManifestAndData(test, manifestFilename, callback)
2 {
3 var baseURL = '/media/resources/media-source/';
4 var manifestURL = baseURL + manifestFilename;
5 MediaSourceUtil.loadTextData(test, manifestURL, function(manifestText)
6 {
7 var manifest = JSON.parse(manifestText);
8
9 assert_true(MediaSource.isTypeSupported(manifest.type), manifest.type + " is supported.");
10
11 var mediaURL = baseURL + manifest.url;
12 MediaSourceUtil.loadBinaryData(test, mediaURL, function(mediaData)
13 {
14 callback(manifest.type, mediaData);
15 });
16 });
17 }
18
19 function appendBuffer(test, sourceBuffer, data)
20 {
21 test.expectEvent(sourceBuffer, "update");
22 test.expectEvent(sourceBuffer, "updateend");
23 sourceBuffer.appendBuffer(data);
24 }
25
26 function mediasource_configchange_test(directory, idA, idB, description)
adamk 2013/06/18 21:54:23 Noticed this when reviewing the tests; why isn't t
acolwell GONE FROM CHROMIUM 2013/06/18 23:00:18 I did this just to match mediasource_test, which w
27 {
28 var manifestFilenameA = directory + "/test-" + idA + "-manifest.json";
29 var manifestFilenameB = directory + "/test-" + idB + "-manifest.json";
30 mediasource_test(function(test, mediaElement, mediaSource)
adamk 2013/06/18 21:54:23 Does it have something to do with the fact that me
acolwell GONE FROM CHROMIUM 2013/06/18 23:00:18 Yes. Mind if I defer the renaming of mediasource_t
adamk 2013/06/19 00:22:36 Deferring is fine, and actually if it matches test
31 {
32 mediaElement.pause();
33 test.failOnEvent(mediaElement, 'error');
34 test.endOnEvent(mediaElement, 'ended');
35
36 fetchManifestAndData(test, manifestFilenameA, function(typeA, dataA)
37 {
38 fetchManifestAndData(test, manifestFilenameB, function(typeB, dataB)
39 {
40 assert_equals(typeA, typeB, "Media format types match");
41
42 var sourceBuffer = mediaSource.addSourceBuffer(typeA);
43
44 appendBuffer(test, sourceBuffer, dataA);
45
46 test.waitForExpectedEvents(function()
47 {
48 // Add the second buffer starting at 0.5 second.
49 sourceBuffer.timestampOffset = 0.5;
50 appendBuffer(test, sourceBuffer, dataB);
51 });
52
53 test.waitForExpectedEvents(function()
54 {
55 // Add the first buffer starting at 1 second.
56 sourceBuffer.timestampOffset = 1;
57 appendBuffer(test, sourceBuffer, dataA);
58 });
59
60 test.waitForExpectedEvents(function()
61 {
62 // Add the second buffer starting at 1.5 second.
63 sourceBuffer.timestampOffset = 1.5;
64 appendBuffer(test, sourceBuffer, dataB);
65 });
66
67 test.waitForExpectedEvents(function()
68 {
69 // Truncate the presentation to a duration of 2 seconds.
70 mediaSource.duration = 2;
71 mediaSource.endOfStream();
72
73 mediaElement.play();
74 });
75 });
76 });
77 }, description, { timeout: 10000 } );
78 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698