• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
15 NS_ASSUME_NONNULL_BEGIN
16 
17 /** Corresponds to webrtc::Priority. */
18 typedef NS_ENUM(NSInteger, RTCPriority) {
19   RTCPriorityVeryLow,
20   RTCPriorityLow,
21   RTCPriorityMedium,
22   RTCPriorityHigh
23 };
24 
25 RTC_OBJC_EXPORT
26 @interface RTC_OBJC_TYPE (RTCRtpEncodingParameters) : NSObject
27 
28 /** The idenfifier for the encoding layer. This is used in simulcast. */
29 @property(nonatomic, copy, nullable) NSString *rid;
30 
31 /** Controls whether the encoding is currently transmitted. */
32 @property(nonatomic, assign) BOOL isActive;
33 
34 /** The maximum bitrate to use for the encoding, or nil if there is no
35  *  limit.
36  */
37 @property(nonatomic, copy, nullable) NSNumber *maxBitrateBps;
38 
39 /** The minimum bitrate to use for the encoding, or nil if there is no
40  *  limit.
41  */
42 @property(nonatomic, copy, nullable) NSNumber *minBitrateBps;
43 
44 /** The maximum framerate to use for the encoding, or nil if there is no
45  *  limit.
46  */
47 @property(nonatomic, copy, nullable) NSNumber *maxFramerate;
48 
49 /** The requested number of temporal layers to use for the encoding, or nil
50  * if the default should be used.
51  */
52 @property(nonatomic, copy, nullable) NSNumber *numTemporalLayers;
53 
54 /** Scale the width and height down by this factor for video. If nil,
55  * implementation default scaling factor will be used.
56  */
57 @property(nonatomic, copy, nullable) NSNumber *scaleResolutionDownBy;
58 
59 /** The SSRC being used by this encoding. */
60 @property(nonatomic, readonly, nullable) NSNumber *ssrc;
61 
62 /** The relative bitrate priority. */
63 @property(nonatomic, assign) double bitratePriority;
64 
65 /** The relative DiffServ Code Point priority. */
66 @property(nonatomic, assign) RTCPriority networkPriority;
67 
68 - (instancetype)init NS_DESIGNATED_INITIALIZER;
69 
70 @end
71 
72 NS_ASSUME_NONNULL_END
73