mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 05:40:42 +01:00

Bug: None Change-Id: I48fd0937f51dc972b3eccd66f99ae80378e32fe1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214968 Commit-Queue: Yura Yaroshevich <yura.yaroshevich@gmail.com> Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33766}
76 lines
2.3 KiB
Objective-C
76 lines
2.3 KiB
Objective-C
/*
|
|
* 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>
|
|
|
|
#import "RTCMacros.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/** Corresponds to webrtc::Priority. */
|
|
typedef NS_ENUM(NSInteger, RTCPriority) {
|
|
RTCPriorityVeryLow,
|
|
RTCPriorityLow,
|
|
RTCPriorityMedium,
|
|
RTCPriorityHigh
|
|
};
|
|
|
|
RTC_OBJC_EXPORT
|
|
@interface RTC_OBJC_TYPE (RTCRtpEncodingParameters) : NSObject
|
|
|
|
/** The idenfifier for the encoding layer. This is used in simulcast. */
|
|
@property(nonatomic, copy, nullable) NSString *rid;
|
|
|
|
/** 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;
|
|
|
|
/** The maximum framerate to use for the encoding, or nil if there is no
|
|
* limit.
|
|
*/
|
|
@property(nonatomic, copy, nullable) NSNumber *maxFramerate;
|
|
|
|
/** 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;
|
|
|
|
/** 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;
|
|
|
|
/** The SSRC being used by this encoding. */
|
|
@property(nonatomic, readonly, nullable) NSNumber *ssrc;
|
|
|
|
/** The relative bitrate priority. */
|
|
@property(nonatomic, assign) double bitratePriority;
|
|
|
|
/** The relative DiffServ Code Point priority. */
|
|
@property(nonatomic, assign) RTCPriority networkPriority;
|
|
|
|
/** Allow dynamic frame length changes for audio:
|
|
https://w3c.github.io/webrtc-extensions/#dom-rtcrtpencodingparameters-adaptiveptime */
|
|
@property(nonatomic, assign) BOOL adaptiveAudioPacketTime;
|
|
|
|
- (instancetype)init;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|