OLD | NEW |
---|---|
(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 }; | |
OLD | NEW |