blob: a9403f8dec65c29573696ae54ea7567de988ec6a [file] [log] [blame]
Anders Carlsson7bca8ca2018-08-30 09:30:29 +02001/*
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
15NS_ASSUME_NONNULL_BEGIN
16
17typedef NS_ENUM(NSUInteger, RTCVideoCodecMode) {
18 RTCVideoCodecModeRealtimeVideo,
19 RTCVideoCodecModeScreensharing,
20};
21
22/** Settings for encoder. Corresponds to webrtc::VideoCodec. */
Mirko Bonadeie8d57242018-09-17 10:22:56 +020023RTC_OBJC_EXPORT
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020024@interface 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;
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020034
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
42NS_ASSUME_NONNULL_END