mirror of
https://github.com/rustwasm/wasm-bindgen.git
synced 2024-11-28 23:14:12 +03:00
71 lines
2.1 KiB
Plaintext
71 lines
2.1 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
|
||
|
* https://wicg.github.io/media-capabilities/
|
||
|
*
|
||
|
* Copyright © 2018 the Contributors to the Media Capabilities Specification
|
||
|
*/
|
||
|
|
||
|
dictionary MediaConfiguration {
|
||
|
VideoConfiguration video;
|
||
|
AudioConfiguration audio;
|
||
|
};
|
||
|
|
||
|
dictionary MediaDecodingConfiguration : MediaConfiguration {
|
||
|
required MediaDecodingType type;
|
||
|
};
|
||
|
|
||
|
dictionary MediaEncodingConfiguration : MediaConfiguration {
|
||
|
required MediaEncodingType type;
|
||
|
};
|
||
|
|
||
|
enum MediaDecodingType {
|
||
|
"file",
|
||
|
"media-source",
|
||
|
};
|
||
|
|
||
|
enum MediaEncodingType {
|
||
|
"record",
|
||
|
"transmission"
|
||
|
};
|
||
|
|
||
|
// all members are specified as required in the spec.
|
||
|
// We enforce that requirement in the MediaCapabilities code instead
|
||
|
// See https://github.com/heycam/webidl/issues/76
|
||
|
dictionary VideoConfiguration {
|
||
|
DOMString contentType;
|
||
|
unsigned long width;
|
||
|
unsigned long height;
|
||
|
unsigned long long bitrate;
|
||
|
DOMString framerate;
|
||
|
};
|
||
|
|
||
|
// contentType member is specified as required in the spec.
|
||
|
// We enforce that requirement in the MediaCapabilities code instead
|
||
|
// See https://github.com/heycam/webidl/issues/76
|
||
|
dictionary AudioConfiguration {
|
||
|
DOMString contentType;
|
||
|
DOMString channels;
|
||
|
unsigned long long bitrate;
|
||
|
unsigned long samplerate;
|
||
|
};
|
||
|
|
||
|
[Exposed=(Window, Worker), Func="mozilla::dom::MediaCapabilities::Enabled",
|
||
|
HeaderFile="mozilla/dom/MediaCapabilities.h"]
|
||
|
interface MediaCapabilitiesInfo {
|
||
|
readonly attribute boolean supported;
|
||
|
readonly attribute boolean smooth;
|
||
|
readonly attribute boolean powerEfficient;
|
||
|
};
|
||
|
|
||
|
[Exposed=(Window, Worker), Func="mozilla::dom::MediaCapabilities::Enabled"]
|
||
|
interface MediaCapabilities {
|
||
|
[NewObject]
|
||
|
Promise<MediaCapabilitiesInfo> decodingInfo(MediaDecodingConfiguration configuration);
|
||
|
[NewObject]
|
||
|
Promise<MediaCapabilitiesInfo> encodingInfo(MediaEncodingConfiguration configuration);
|
||
|
};
|