OLD | NEW |
---|---|
1 // Extract & return the resolution string from a filename, if any. | |
2 function resolutionFromFilename(filename) { | |
vsevik
2013/12/13 13:04:43
nit: { on the next line
Ami GONE FROM CHROMIUM
2013/12/13 17:48:43
Done.
| |
3 resolution = filename.replace(/^.*[^0-9]([0-9]+x[0-9]+)[^0-9].*$/, "$1"); | |
4 if (resolution != filename) { | |
5 return resolution; | |
vsevik
2013/12/13 13:04:43
nit: 4 spaces indent
Ami GONE FROM CHROMIUM
2013/12/13 17:48:43
Done.
| |
6 } | |
7 return ""; | |
8 } | |
9 | |
1 function appendBuffer(test, sourceBuffer, data) | 10 function appendBuffer(test, sourceBuffer, data) |
2 { | 11 { |
3 test.expectEvent(sourceBuffer, "update"); | 12 test.expectEvent(sourceBuffer, "update"); |
4 test.expectEvent(sourceBuffer, "updateend"); | 13 test.expectEvent(sourceBuffer, "updateend"); |
5 sourceBuffer.appendBuffer(data); | 14 sourceBuffer.appendBuffer(data); |
6 } | 15 } |
7 | 16 |
8 function mediaSourceConfigChangeTest(directory, idA, idB, description) | 17 function mediaSourceConfigChangeTest(directory, idA, idB, description) |
9 { | 18 { |
10 var manifestFilenameA = directory + "/test-" + idA + "-manifest.json"; | 19 var manifestFilenameA = directory + "/test-" + idA + "-manifest.json"; |
11 var manifestFilenameB = directory + "/test-" + idB + "-manifest.json"; | 20 var manifestFilenameB = directory + "/test-" + idB + "-manifest.json"; |
12 mediasource_test(function(test, mediaElement, mediaSource) | 21 mediasource_test(function(test, mediaElement, mediaSource) |
13 { | 22 { |
14 mediaElement.pause(); | 23 mediaElement.pause(); |
15 test.failOnEvent(mediaElement, 'error'); | 24 test.failOnEvent(mediaElement, 'error'); |
16 test.endOnEvent(mediaElement, 'ended'); | 25 test.endOnEvent(mediaElement, 'ended'); |
26 var expectResizeEvents = resolutionFromFilename(manifestFilenameA) != re solutionFromFilename(manifestFilenameB); | |
27 var expectedResizeEventCount = 0; | |
17 | 28 |
18 MediaSourceUtil.fetchManifestAndData(test, manifestFilenameA, function(t ypeA, dataA) | 29 MediaSourceUtil.fetchManifestAndData(test, manifestFilenameA, function(t ypeA, dataA) |
19 { | 30 { |
20 MediaSourceUtil.fetchManifestAndData(test, manifestFilenameB, functi on(typeB, dataB) | 31 MediaSourceUtil.fetchManifestAndData(test, manifestFilenameB, functi on(typeB, dataB) |
21 { | 32 { |
22 assert_equals(typeA, typeB, "Media format types match"); | 33 assert_equals(typeA, typeB, "Media format types match"); |
23 | 34 |
24 var sourceBuffer = mediaSource.addSourceBuffer(typeA); | 35 var sourceBuffer = mediaSource.addSourceBuffer(typeA); |
25 | 36 |
26 appendBuffer(test, sourceBuffer, dataA); | 37 appendBuffer(test, sourceBuffer, dataA); |
27 | 38 |
28 test.waitForExpectedEvents(function() | 39 test.waitForExpectedEvents(function() |
29 { | 40 { |
30 // Add the second buffer starting at 0.5 second. | 41 // Add the second buffer starting at 0.5 second. |
31 sourceBuffer.timestampOffset = 0.5; | 42 sourceBuffer.timestampOffset = 0.5; |
32 appendBuffer(test, sourceBuffer, dataB); | 43 appendBuffer(test, sourceBuffer, dataB); |
44 ++expectedResizeEventCount; | |
33 }); | 45 }); |
34 | 46 |
35 test.waitForExpectedEvents(function() | 47 test.waitForExpectedEvents(function() |
36 { | 48 { |
37 // Add the first buffer starting at 1 second. | 49 // Add the first buffer starting at 1 second. |
38 sourceBuffer.timestampOffset = 1; | 50 sourceBuffer.timestampOffset = 1; |
39 appendBuffer(test, sourceBuffer, dataA); | 51 appendBuffer(test, sourceBuffer, dataA); |
52 ++expectedResizeEventCount; | |
40 }); | 53 }); |
41 | 54 |
42 test.waitForExpectedEvents(function() | 55 test.waitForExpectedEvents(function() |
43 { | 56 { |
44 // Add the second buffer starting at 1.5 second. | 57 // Add the second buffer starting at 1.5 second. |
45 sourceBuffer.timestampOffset = 1.5; | 58 sourceBuffer.timestampOffset = 1.5; |
46 appendBuffer(test, sourceBuffer, dataB); | 59 appendBuffer(test, sourceBuffer, dataB); |
60 ++expectedResizeEventCount; | |
47 }); | 61 }); |
48 | 62 |
49 test.waitForExpectedEvents(function() | 63 test.waitForExpectedEvents(function() |
50 { | 64 { |
51 // Truncate the presentation to a duration of 2 seconds. | 65 // Truncate the presentation to a duration of 2 seconds. |
52 mediaSource.duration = 2; | 66 mediaSource.duration = 2; |
53 mediaSource.endOfStream(); | 67 mediaSource.endOfStream(); |
54 | 68 |
69 if (mediaElementForResizeExpectation) { | |
acolwell GONE FROM CHROMIUM
2013/12/13 15:58:12
This doesn't appear to be defined anywhere. I'm as
Ami GONE FROM CHROMIUM
2013/12/13 17:48:43
Done.
(had to rework this bit a bit to get the tes
| |
70 for (var i = 0; i < expectedResizeEventCount; ++i) { | |
71 test.expectEvent(mediaElement, "resize"); | |
72 } | |
73 } | |
74 | |
55 mediaElement.play(); | 75 mediaElement.play(); |
56 }); | 76 }); |
57 }); | 77 }); |
58 }); | 78 }); |
59 }, description, { timeout: 10000 } ); | 79 }, description, { timeout: 10000 } ); |
60 }; | 80 }; |
OLD | NEW |