blob: bb051dbb26df75449507f7033c5270c4e865e317 [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
Anders Carlsson6bf43d22017-10-16 13:51:43 +020027 videoCodec:(NSData *)videoCodec
Anders Carlssone1500582017-06-15 16:05:13 +020028 bitrate:(nullable NSNumber *)bitrate
29 audioOnly:(BOOL)audioOnly
30 createAecDump:(BOOL)createAecDump
Anders Carlssone1500582017-06-15 16:05:13 +020031 useManualAudioConfig:(BOOL)useManualAudioConfig;
32
sakalc522e752017-04-05 12:17:48 -070033@property(nonatomic) NSString *videoResolution;
Anders Carlsson6bf43d22017-10-16 13:51:43 +020034@property(nonatomic) NSData *videoCodec;
sakal68b5df92017-03-17 09:01:59 -070035
denicijad17d5362016-11-02 02:56:09 -070036/**
denicija9af2b602016-11-17 00:43:43 -080037 * Returns current max bitrate number stored in the store.
38 */
39- (nullable NSNumber *)maxBitrate;
40
41/**
42 * Stores the provided value as maximum bitrate setting.
43 * @param value the number to be stored
44 */
45- (void)setMaxBitrate:(nullable NSNumber *)value;
denicijad17d5362016-11-02 02:56:09 -070046
Anders Carlssone1500582017-06-15 16:05:13 +020047@property(nonatomic) BOOL audioOnly;
48@property(nonatomic) BOOL createAecDump;
Anders Carlssone1500582017-06-15 16:05:13 +020049@property(nonatomic) BOOL useManualAudioConfig;
50
denicijad17d5362016-11-02 02:56:09 -070051@end
52NS_ASSUME_NONNULL_END