tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

media-capabilities.idl (2861B)


      1 // GENERATED CONTENT - DO NOT EDIT
      2 // Content was automatically extracted by Reffy into webref
      3 // (https://github.com/w3c/webref)
      4 // Source: Media Capabilities (https://w3c.github.io/media-capabilities/)
      5 
      6 dictionary MediaConfiguration {
      7  VideoConfiguration video;
      8  AudioConfiguration audio;
      9 };
     10 
     11 dictionary MediaDecodingConfiguration : MediaConfiguration {
     12  required MediaDecodingType type;
     13  MediaCapabilitiesKeySystemConfiguration keySystemConfiguration;
     14 };
     15 
     16 dictionary MediaEncodingConfiguration : MediaConfiguration {
     17  required MediaEncodingType type;
     18 };
     19 
     20 enum MediaDecodingType {
     21  "file",
     22  "media-source",
     23  "webrtc"
     24 };
     25 
     26 enum MediaEncodingType {
     27  "record",
     28  "webrtc"
     29 };
     30 
     31 dictionary VideoConfiguration {
     32  required DOMString contentType;
     33  required unsigned long width;
     34  required unsigned long height;
     35  required unsigned long long bitrate;
     36  required double framerate;
     37  boolean hasAlphaChannel;
     38  HdrMetadataType hdrMetadataType;
     39  ColorGamut colorGamut;
     40  TransferFunction transferFunction;
     41  DOMString scalabilityMode;
     42  boolean spatialScalability;
     43 };
     44 
     45 enum HdrMetadataType {
     46  "smpteSt2086",
     47  "smpteSt2094-10",
     48  "smpteSt2094-40"
     49 };
     50 
     51 enum ColorGamut {
     52  "srgb",
     53  "p3",
     54  "rec2020"
     55 };
     56 
     57 enum TransferFunction {
     58  "srgb",
     59  "pq",
     60  "hlg"
     61 };
     62 
     63 dictionary AudioConfiguration {
     64  required DOMString contentType;
     65  DOMString channels;
     66  unsigned long long bitrate;
     67  unsigned long samplerate;
     68  boolean spatialRendering;
     69 };
     70 
     71 dictionary MediaCapabilitiesKeySystemConfiguration {
     72  required DOMString keySystem;
     73  DOMString initDataType = "";
     74  MediaKeysRequirement distinctiveIdentifier = "optional";
     75  MediaKeysRequirement persistentState = "optional";
     76  sequence<DOMString> sessionTypes;
     77  KeySystemTrackConfiguration audio;
     78  KeySystemTrackConfiguration video;
     79 };
     80 
     81 dictionary KeySystemTrackConfiguration {
     82  DOMString robustness = "";
     83  DOMString? encryptionScheme = null;
     84 };
     85 
     86 dictionary MediaCapabilitiesInfo {
     87  required boolean supported;
     88  required boolean smooth;
     89  required boolean powerEfficient;
     90 };
     91 
     92 dictionary MediaCapabilitiesDecodingInfo : MediaCapabilitiesInfo {
     93  required MediaKeySystemAccess? keySystemAccess;
     94  required MediaDecodingConfiguration configuration;
     95 };
     96 
     97 dictionary MediaCapabilitiesEncodingInfo : MediaCapabilitiesInfo {
     98  required MediaEncodingConfiguration configuration;
     99 };
    100 
    101 [Exposed=Window]
    102 partial interface Navigator {
    103  [SameObject] readonly attribute MediaCapabilities mediaCapabilities;
    104 };
    105 
    106 [Exposed=Worker]
    107 partial interface WorkerNavigator {
    108  [SameObject] readonly attribute MediaCapabilities mediaCapabilities;
    109 };
    110 
    111 [Exposed=(Window, Worker)]
    112 interface MediaCapabilities {
    113  [NewObject] Promise<MediaCapabilitiesDecodingInfo> decodingInfo(
    114      MediaDecodingConfiguration configuration);
    115  [NewObject] Promise<MediaCapabilitiesEncodingInfo> encodingInfo(
    116      MediaEncodingConfiguration configuration);
    117 };