RTCRtpParameters.webidl (2164B)
1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 4 * You can obtain one at http://mozilla.org/MPL/2.0/. 5 * 6 * The origin of this IDL file is 7 * http://w3c.github.io/webrtc-pc/#rtcrtpsender-interface 8 */ 9 10 enum RTCPriorityType { 11 "very-low", 12 "low", 13 "medium", 14 "high" 15 }; 16 17 enum RTCDegradationPreference { 18 "maintain-framerate", 19 "maintain-resolution", 20 "balanced" 21 }; 22 23 dictionary RTCRtpEncodingParameters { 24 boolean active = true; 25 RTCRtpCodec codec; 26 // From https://www.w3.org/TR/webrtc-priority/ 27 RTCPriorityType priority = "low"; 28 unsigned long maxBitrate; 29 DOMString rid; 30 double scaleResolutionDownBy; 31 // From https://w3c.github.io/webrtc-extensions/#rtcrtpencodingparameters-dictionary 32 double maxFramerate; 33 }; 34 35 dictionary RTCRtpHeaderExtensionParameters { 36 DOMString uri; 37 unsigned short id; 38 boolean encrypted; 39 }; 40 41 dictionary RTCRtcpParameters { 42 DOMString cname; 43 boolean reducedSize; 44 }; 45 46 [GenerateEqualityOperator] 47 dictionary RTCRtpCodecParameters : RTCRtpCodec { 48 required octet payloadType; 49 }; 50 51 dictionary RTCRtpParameters { 52 // We do not support these, but every wpt test involving parameters insists 53 // that these be present, regardless of whether the test-case has anything to 54 // do with these in particular (see validateRtpParameters). 55 sequence<RTCRtpHeaderExtensionParameters> headerExtensions; 56 RTCRtcpParameters rtcp; 57 // Don't make this required just yet; there are still implementations out 58 // there that build RTCRtpParameters themselves 59 sequence<RTCRtpCodecParameters> codecs; 60 }; 61 62 dictionary RTCRtpSendParameters : RTCRtpParameters { 63 DOMString transactionId; 64 required sequence<RTCRtpEncodingParameters> encodings; 65 // https://w3c.github.io/mst-content-hint/ 66 RTCDegradationPreference degradationPreference; 67 }; 68 69 dictionary RTCRtpReceiveParameters : RTCRtpParameters { 70 };