blob: 3f5f79106f5c77e6352766924f3546b381f939bf [file] [log] [blame]
denicijad17d5362016-11-02 02:56:09 -07001/*
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
13NS_ASSUME_NONNULL_BEGIN
14
15/**
denicija2256e042016-11-09 06:26:18 -080016 * Light-weight persistent store for user settings.
denicijad17d5362016-11-02 02:56:09 -070017 *
18 * It will persist between application launches and application updates.
19 */
denicija2256e042016-11-09 06:26:18 -080020@interface ARDSettingsStore : NSObject
denicijad17d5362016-11-02 02:56:09 -070021
Anders Carlssone1500582017-06-15 16:05:13 +020022/**
23 * Set fallback values in case the setting has not been written by the user.
24 * @param dictionary of values to store
25 */
26+ (void)setDefaultsForVideoResolution:(NSString *)videoResolution
27 videoCodec:(NSString *)videoCodec
28 bitrate:(nullable NSNumber *)bitrate
29 audioOnly:(BOOL)audioOnly
30 createAecDump:(BOOL)createAecDump
31 useLevelController:(BOOL)useLevelController
32 useManualAudioConfig:(BOOL)useManualAudioConfig;
33
sakalc522e752017-04-05 12:17:48 -070034@property(nonatomic) NSString *videoResolution;
sakalc4adacf2017-03-28 01:22:48 -070035@property(nonatomic) NSString *videoCodec;
sakal68b5df92017-03-17 09:01:59 -070036
denicijad17d5362016-11-02 02:56:09 -070037/**
denicija9af2b602016-11-17 00:43:43 -080038 * Returns current max bitrate number stored in the store.
39 */
40- (nullable NSNumber *)maxBitrate;
41
42/**
43 * Stores the provided value as maximum bitrate setting.
44 * @param value the number to be stored
45 */
46- (void)setMaxBitrate:(nullable NSNumber *)value;
denicijad17d5362016-11-02 02:56:09 -070047
Anders Carlssone1500582017-06-15 16:05:13 +020048@property(nonatomic) BOOL audioOnly;
49@property(nonatomic) BOOL createAecDump;
50@property(nonatomic) BOOL useLevelController;
51@property(nonatomic) BOOL useManualAudioConfig;
52
denicijad17d5362016-11-02 02:56:09 -070053@end
54NS_ASSUME_NONNULL_END