gecko/dom/webidl/SourceBuffer.webidl
Matthew Gregan e960f249c0 Bug 855130 - Implement a minimal working subset of the Media Source Extensions API. r=roc
---
 content/media/mediasource/AsyncEventRunner.h       |  35 ++
 content/media/mediasource/Makefile.in              |  18 +
 content/media/mediasource/MediaSource.cpp          | 395 +++++++++++++++++++++
 content/media/mediasource/MediaSource.h            | 127 +++++++
 .../media/mediasource/MediaSourceInputAdapter.cpp  | 176 +++++++++
 .../media/mediasource/MediaSourceInputAdapter.h    |  43 +++
 content/media/mediasource/SourceBuffer.cpp         | 249 +++++++++++++
 content/media/mediasource/SourceBuffer.h           | 115 ++++++
 content/media/mediasource/SourceBufferList.cpp     | 143 ++++++++
 content/media/mediasource/SourceBufferList.h       |  79 +++++
 content/media/mediasource/moz.build                |  24 ++
 content/media/moz.build                            |   2 +
 dom/bindings/Bindings.conf                         |  13 +
 dom/dom-config.mk                                  |   1 +
 dom/webidl/MediaSource.webidl                      |  38 ++
 dom/webidl/SourceBuffer.webidl                     |  44 +++
 dom/webidl/SourceBufferList.webidl                 |  17 +
 dom/webidl/WebIDL.mk                               |   3 +
 layout/build/Makefile.in                           |   4 +
 modules/libpref/src/init/all.js                    |   3 +
 20 files changed, 1529 insertions(+)
 create mode 100644 content/media/mediasource/AsyncEventRunner.h
 create mode 100644 content/media/mediasource/Makefile.in
 create mode 100644 content/media/mediasource/MediaSource.cpp
 create mode 100644 content/media/mediasource/MediaSource.h
 create mode 100644 content/media/mediasource/MediaSourceInputAdapter.cpp
 create mode 100644 content/media/mediasource/MediaSourceInputAdapter.h
 create mode 100644 content/media/mediasource/SourceBuffer.cpp
 create mode 100644 content/media/mediasource/SourceBuffer.h
 create mode 100644 content/media/mediasource/SourceBufferList.cpp
 create mode 100644 content/media/mediasource/SourceBufferList.h
 create mode 100644 content/media/mediasource/moz.build
 create mode 100644 dom/webidl/MediaSource.webidl
 create mode 100644 dom/webidl/SourceBuffer.webidl
 create mode 100644 dom/webidl/SourceBufferList.webidl
2013-07-02 15:46:48 +12:00

45 lines
1.4 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* http://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html
*
* Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
* liability, trademark and document use rules apply.
*/
enum SourceBufferAppendMode {
"segments",
"sequence"
};
[Pref="media.mediasource.enabled"]
interface SourceBuffer : EventTarget {
[SetterThrows]
attribute SourceBufferAppendMode mode;
readonly attribute boolean updating;
[Creator, Throws]
readonly attribute TimeRanges buffered;
[SetterThrows]
attribute double timestampOffset;
//readonly attribute AudioTrackList audioTracks;
//readonly attribute VideoTrackList videoTracks;
//readonly attribute TextTrackList textTracks;
[SetterThrows]
attribute double appendWindowStart;
[SetterThrows]
attribute unrestricted double appendWindowEnd;
[Throws]
void appendBuffer(ArrayBuffer data);
[Throws]
void appendBuffer(ArrayBufferView data);
//[Throws]
//void appendStream(Stream stream, [EnforceRange] optional unsigned long long maxSize);
[Throws]
void abort();
[Throws]
void remove(double start, double end);
};