1 /* 2 * Copyright 2017 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 typedef NS_ENUM(NSUInteger, RTCVideoCodecMode) { 18 RTCVideoCodecModeRealtimeVideo, 19 RTCVideoCodecModeScreensharing, 20 }; 21 22 /** Settings for encoder. Corresponds to webrtc::VideoCodec. */ 23 RTC_OBJC_EXPORT 24 @interface RTC_OBJC_TYPE (RTCVideoEncoderSettings) : NSObject 25 26 @property(nonatomic, strong) NSString *name; 27 28 @property(nonatomic, assign) unsigned short width; 29 @property(nonatomic, assign) unsigned short height; 30 31 @property(nonatomic, assign) unsigned int startBitrate; // kilobits/sec. 32 @property(nonatomic, assign) unsigned int maxBitrate; 33 @property(nonatomic, assign) unsigned int minBitrate; 34 35 @property(nonatomic, assign) uint32_t maxFramerate; 36 37 @property(nonatomic, assign) unsigned int qpMax; 38 @property(nonatomic, assign) RTCVideoCodecMode mode; 39 40 @end 41 42 NS_ASSUME_NONNULL_END 43