OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 10 matching lines...) Expand all Loading... |
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
| 31 // https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
#idl-def-SourceBuffer |
| 32 |
31 enum AppendMode { | 33 enum AppendMode { |
32 "segments", | 34 "segments", |
33 "sequence" | 35 "sequence" |
34 }; | 36 }; |
35 | 37 |
36 [ | 38 [ |
| 39 ActiveDOMObject, |
37 NoInterfaceObject, | 40 NoInterfaceObject, |
38 ActiveDOMObject, | 41 RuntimeEnabled=MediaSource, |
39 RuntimeEnabled=MediaSource | 42 TypeChecking=Interface|Nullable|Unrestricted, |
40 ] interface SourceBuffer : EventTarget { | 43 ] interface SourceBuffer : EventTarget { |
41 | 44 |
42 // Gets or sets the AppendMode. | 45 // Gets or sets the AppendMode. |
43 // FIXME: Remove MediaSourceExperimental once mode attribute is implemented
and stabilized. See http://crbug.com/249422. | 46 // FIXME: Remove MediaSourceExperimental once mode attribute is implemented
and stabilized. See http://crbug.com/249422. |
44 [RaisesException=Setter, RuntimeEnabled=MediaSourceExperimental] attribute A
ppendMode mode; | 47 [RaisesException=Setter, RuntimeEnabled=MediaSourceExperimental] attribute A
ppendMode mode; |
45 | 48 |
46 readonly attribute boolean updating; | 49 readonly attribute boolean updating; |
47 | 50 |
48 // Returns the time ranges buffered. | 51 // Returns the time ranges buffered. |
49 [RaisesException=Getter] readonly attribute TimeRanges buffered; | 52 [RaisesException=Getter] readonly attribute TimeRanges buffered; |
50 | 53 |
51 // Applies an offset to media segment timestamps. | 54 // Applies an offset to media segment timestamps. |
52 [RaisesException=Setter] attribute double timestampOffset; | 55 [RaisesException=Setter] attribute double timestampOffset; |
53 | 56 |
54 // Presentation timestamp for the start of append window. | 57 // Presentation timestamp for the start of append window. |
55 [RaisesException=Setter] attribute double appendWindowStart; | 58 [RaisesException=Setter] attribute double appendWindowStart; |
56 | 59 |
57 // Presentation timestamp for the end of append window. | 60 // Presentation timestamp for the end of append window. |
58 [RaisesException=Setter] attribute double appendWindowEnd; | 61 [RaisesException=Setter] attribute unrestricted double appendWindowEnd; |
59 | 62 |
60 // Append segment data. | 63 // Append segment data. |
61 [RaisesException] void appendBuffer(ArrayBuffer data); | 64 [RaisesException] void appendBuffer(ArrayBuffer data); |
62 [RaisesException] void appendBuffer(ArrayBufferView data); | 65 [RaisesException] void appendBuffer(ArrayBufferView data); |
63 | 66 |
64 [RaisesException, RuntimeEnabled=Stream] void appendStream(Stream stream, op
tional unsigned long long maxSize); | 67 [RaisesException, RuntimeEnabled=Stream] void appendStream(Stream stream, op
tional unsigned long long maxSize); |
65 | 68 |
66 // Abort the current segment append sequence. | 69 // Abort the current segment append sequence. |
67 [RaisesException] void abort(); | 70 [RaisesException] void abort(); |
| 71 // Pending W3C bug: "Change SourceBuffer.remove() end parameter to 'unrestri
cted double'", |
| 72 // https://www.w3.org/Bugs/Public/show_bug.cgi?id=25518 |
68 [RaisesException] void remove(double start, double end); | 73 [RaisesException] void remove(double start, double end); |
69 }; | 74 }; |
70 | 75 |
OLD | NEW |