2018-08-30 09:30:29 +02:00
|
|
|
/*
|
|
|
|
|
* Copyright 2016 The WebRTC project authors. All Rights Reserved.
|
|
|
|
|
*
|
|
|
|
|
* Use of this source code is governed by a BSD-style license
|
|
|
|
|
* that can be found in the LICENSE file in the root of the source
|
|
|
|
|
* tree. An additional intellectual property rights grant can be found
|
|
|
|
|
* in the file PATENTS. All contributing project authors may
|
|
|
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
|
|
2024-09-16 11:41:17 +03:00
|
|
|
#import "sdk/objc/base/RTCMacros.h"
|
2018-08-30 09:30:29 +02:00
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
|
2020-02-27 11:59:23 -08:00
|
|
|
/** Corresponds to webrtc::Priority. */
|
|
|
|
|
typedef NS_ENUM(NSInteger, RTCPriority) {
|
|
|
|
|
RTCPriorityVeryLow,
|
|
|
|
|
RTCPriorityLow,
|
|
|
|
|
RTCPriorityMedium,
|
|
|
|
|
RTCPriorityHigh
|
|
|
|
|
};
|
|
|
|
|
|
2018-09-17 10:22:56 +02:00
|
|
|
RTC_OBJC_EXPORT
|
2020-05-04 16:14:32 +02:00
|
|
|
@interface RTC_OBJC_TYPE (RTCRtpEncodingParameters) : NSObject
|
2018-08-30 09:30:29 +02:00
|
|
|
|
2019-03-26 10:42:28 -07:00
|
|
|
/** The idenfifier for the encoding layer. This is used in simulcast. */
|
|
|
|
|
@property(nonatomic, copy, nullable) NSString *rid;
|
|
|
|
|
|
2018-08-30 09:30:29 +02:00
|
|
|
/** Controls whether the encoding is currently transmitted. */
|
|
|
|
|
@property(nonatomic, assign) BOOL isActive;
|
|
|
|
|
|
|
|
|
|
/** The maximum bitrate to use for the encoding, or nil if there is no
|
|
|
|
|
* limit.
|
|
|
|
|
*/
|
|
|
|
|
@property(nonatomic, copy, nullable) NSNumber *maxBitrateBps;
|
|
|
|
|
|
|
|
|
|
/** The minimum bitrate to use for the encoding, or nil if there is no
|
|
|
|
|
* limit.
|
|
|
|
|
*/
|
|
|
|
|
@property(nonatomic, copy, nullable) NSNumber *minBitrateBps;
|
|
|
|
|
|
2018-09-27 09:53:11 +02:00
|
|
|
/** The maximum framerate to use for the encoding, or nil if there is no
|
|
|
|
|
* limit.
|
|
|
|
|
*/
|
|
|
|
|
@property(nonatomic, copy, nullable) NSNumber *maxFramerate;
|
|
|
|
|
|
2018-10-03 09:34:47 +02:00
|
|
|
/** The requested number of temporal layers to use for the encoding, or nil
|
|
|
|
|
* if the default should be used.
|
|
|
|
|
*/
|
|
|
|
|
@property(nonatomic, copy, nullable) NSNumber *numTemporalLayers;
|
|
|
|
|
|
2019-02-04 14:27:49 +01:00
|
|
|
/** Scale the width and height down by this factor for video. If nil,
|
|
|
|
|
* implementation default scaling factor will be used.
|
|
|
|
|
*/
|
|
|
|
|
@property(nonatomic, copy, nullable) NSNumber *scaleResolutionDownBy;
|
|
|
|
|
|
2018-08-30 09:30:29 +02:00
|
|
|
/** The SSRC being used by this encoding. */
|
|
|
|
|
@property(nonatomic, readonly, nullable) NSNumber *ssrc;
|
|
|
|
|
|
2020-03-19 17:14:27 -07:00
|
|
|
/** The relative bitrate priority. */
|
|
|
|
|
@property(nonatomic, assign) double bitratePriority;
|
|
|
|
|
|
2019-05-03 14:32:16 +02:00
|
|
|
/** The relative DiffServ Code Point priority. */
|
2020-02-27 11:59:23 -08:00
|
|
|
@property(nonatomic, assign) RTCPriority networkPriority;
|
2019-05-03 14:32:16 +02:00
|
|
|
|
2021-04-14 16:26:14 +03:00
|
|
|
/** Allow dynamic frame length changes for audio:
|
2025-01-08 05:45:56 -08:00
|
|
|
https://w3c.github.io/webrtc-extensions/#dom-rtcrtpencodingparameters-adaptiveptime
|
|
|
|
|
*/
|
2021-04-14 16:26:14 +03:00
|
|
|
@property(nonatomic, assign) BOOL adaptiveAudioPacketTime;
|
|
|
|
|
|
2021-04-14 12:41:21 +03:00
|
|
|
- (instancetype)init;
|
2018-08-30 09:30:29 +02:00
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|