1 /* 2 * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #import <Foundation/Foundation.h> 12 13 #import "RTCMacros.h" 14 #import "RTCRtcpParameters.h" 15 #import "RTCRtpCodecParameters.h" 16 #import "RTCRtpEncodingParameters.h" 17 #import "RTCRtpHeaderExtension.h" 18 19 NS_ASSUME_NONNULL_BEGIN 20 21 /** Corresponds to webrtc::DegradationPreference. */ 22 typedef NS_ENUM(NSInteger, RTCDegradationPreference) { 23 RTCDegradationPreferenceDisabled, 24 RTCDegradationPreferenceMaintainFramerate, 25 RTCDegradationPreferenceMaintainResolution, 26 RTCDegradationPreferenceBalanced 27 }; 28 29 RTC_OBJC_EXPORT 30 @interface RTC_OBJC_TYPE (RTCRtpParameters) : NSObject 31 32 /** A unique identifier for the last set of parameters applied. */ 33 @property(nonatomic, copy) NSString *transactionId; 34 35 /** Parameters used for RTCP. */ 36 @property(nonatomic, readonly, copy) RTC_OBJC_TYPE(RTCRtcpParameters) * rtcp; 37 38 /** An array containing parameters for RTP header extensions. */ 39 @property(nonatomic, readonly, copy) 40 NSArray<RTC_OBJC_TYPE(RTCRtpHeaderExtension) *> *headerExtensions; 41 42 /** The currently active encodings in the order of preference. */ 43 @property(nonatomic, copy) NSArray<RTC_OBJC_TYPE(RTCRtpEncodingParameters) *> *encodings; 44 45 /** The negotiated set of send codecs in order of preference. */ 46 @property(nonatomic, copy) NSArray<RTC_OBJC_TYPE(RTCRtpCodecParameters) *> *codecs; 47 48 /** 49 * Degradation preference in case of CPU adaptation or constrained bandwidth. 50 * If nil, implementation default degradation preference will be used. 51 */ 52 @property(nonatomic, copy, nullable) NSNumber *degradationPreference; 53 54 - (instancetype)init NS_DESIGNATED_INITIALIZER; 55 56 @end 57 58 NS_ASSUME_NONNULL_END 59