RTCRtpEncodingParameters.h 2.1 KB

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