mirror of
https://github.com/rustwasm/wasm-bindgen.git
synced 2024-12-28 20:43:23 +03:00
71255acf5d
* Try to enable all webidls * Separate out unavailable webidl files by reason. * Create record of fully tested WebIDL files * Update notes to reflect new situation with web-idl * Make a blank ident fail, disable the necessary widls. It turns out that all the blank idents came from blank enum variants, which is allowed in webidl apparently.
71 lines
2.1 KiB
Plaintext
Vendored
71 lines
2.1 KiB
Plaintext
Vendored
/* -*- 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);
|
|
};
|