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 };