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

Side by Side Diff: LayoutTests/http/tests/media/media-source/mediasource-seekable.html

Issue 710173004: Implement seekable() according to the MediaSource specification (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 1 month 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
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="/w3c/resources/testharness.js"></script>
5 <script src="/w3c/resources/testharnessreport.js"></script>
6 <script src="mediasource-util.js"></script>
7 <link rel="stylesheet" href="/w3c/resources/testharness.css">
8 </head>
9 <body>
10 <div id="log"></div>
11 <script>
12
13 mediasource_test(function(test, mediaElement, mediaSource)
14 {
15 mediaElement.pause();
philipj_slow 2014/11/11 10:09:02 Why is this needed? I can't see what would have ma
16 test.failOnEvent(mediaElement, 'error');
17 test.endOnEvent(mediaElement, 'ended');
18
19 var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.A UDIO_ONLY_TYPE);
20
21 assertSeekableEquals(mediaElement, '{ }', 'mediaElement.seekable ');
22 test.done();
23 }, 'Get seekable time ranges when the sourcebuffer is empty.');
24
25 mediasource_testafterdataloaded(function(test, mediaElement, mediaSo urce, segmentInfo, sourceBuffer, mediaData)
26 {
27 var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init);
28 test.expectEvent(mediaElement, 'durationchange', 'mediaElement g ot duration');
29 sourceBuffer.appendBuffer(initSegment);
30 test.waitForExpectedEvents(function()
31 {
32 assert_equals(mediaElement.duration, 6.042);
33 assertSeekableEquals(mediaElement, '{ [0.000, 6.042) }', 'me diaElement.seekable');
34 test.done();
35 });
36 }, 'Get seekable time ranges after init segment received.');
37
38 mediasource_testafterdataloaded(function(test, mediaElement, mediaSo urce, segmentInfo, sourceBuffer, mediaData)
39 {
40 var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init);
41 test.expectEvent(mediaElement, 'durationchange', 'mediaElement g ot duration after initsegment');
42 sourceBuffer.appendBuffer(initSegment);
43 test.waitForExpectedEvents(function()
44 {
45 test.expectEvent(mediaElement, 'durationchange', 'mediaEleme nt got infinity duration');
46 mediaSource.duration = Infinity;
47 test.waitForExpectedEvents(function()
48 {
49 assertSeekableEquals(mediaElement, '{ }', 'mediaElement. seekable');
50
51 // Append a segment from the middle of the stream to mak e sure that seekable does not use buffered.start(0) or duration as first or last value
philipj_slow 2014/11/11 10:09:02 Nice.
52 var midSegment = MediaSourceUtil.extractSegmentData(medi aData, segmentInfo.media[2]);
53 test.expectEvent(sourceBuffer, 'update');
54 test.expectEvent(sourceBuffer, 'updateend');
55 sourceBuffer.appendBuffer(midSegment);
56 test.waitForExpectedEvents(function()
57 {
58 assert_equals(mediaElement.seekable.length, 1, 'medi aElement.seekable.length');
59 assert_equals(mediaElement.buffered.length, 1, 'medi aElement.buffered.length');
60 assert_equals(mediaElement.seekable.start(0), 0);
61 assert_less_than(mediaElement.seekable.end(0), media Element.duration);
philipj_slow 2014/11/11 10:09:02 Maybe assert_not_equals instead of these assert_le
62 assert_less_than(0, mediaElement.buffered.start(0));
63 assert_equals(mediaElement.seekable.end(0), mediaEle ment.buffered.end(0));
64 test.done();
65 });
66 });
67 });
68 }, 'Get seekable time ranges on an infinite stream.');
69 </script>
70 </body>
71 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698