denicija | d17d536 | 2016-11-02 02:56:09 -0700 | [diff] [blame] | 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 | |
| 11 | #import <Foundation/Foundation.h> |
| 12 | |
| 13 | NS_ASSUME_NONNULL_BEGIN |
| 14 | |
| 15 | /** |
denicija | 2256e04 | 2016-11-09 06:26:18 -0800 | [diff] [blame] | 16 | * Light-weight persistent store for user settings. |
denicija | d17d536 | 2016-11-02 02:56:09 -0700 | [diff] [blame] | 17 | * |
| 18 | * It will persist between application launches and application updates. |
| 19 | */ |
denicija | 2256e04 | 2016-11-09 06:26:18 -0800 | [diff] [blame] | 20 | @interface ARDSettingsStore : NSObject |
denicija | d17d536 | 2016-11-02 02:56:09 -0700 | [diff] [blame] | 21 | |
Anders Carlsson | e150058 | 2017-06-15 16:05:13 +0200 | [diff] [blame] | 22 | /** |
| 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 Carlsson | 6bf43d2 | 2017-10-16 13:51:43 +0200 | [diff] [blame] | 27 | videoCodec:(NSData *)videoCodec |
Anders Carlsson | e150058 | 2017-06-15 16:05:13 +0200 | [diff] [blame] | 28 | bitrate:(nullable NSNumber *)bitrate |
| 29 | audioOnly:(BOOL)audioOnly |
| 30 | createAecDump:(BOOL)createAecDump |
Anders Carlsson | e150058 | 2017-06-15 16:05:13 +0200 | [diff] [blame] | 31 | useManualAudioConfig:(BOOL)useManualAudioConfig; |
| 32 | |
sakal | c522e75 | 2017-04-05 12:17:48 -0700 | [diff] [blame] | 33 | @property(nonatomic) NSString *videoResolution; |
Anders Carlsson | 6bf43d2 | 2017-10-16 13:51:43 +0200 | [diff] [blame] | 34 | @property(nonatomic) NSData *videoCodec; |
sakal | 68b5df9 | 2017-03-17 09:01:59 -0700 | [diff] [blame] | 35 | |
denicija | d17d536 | 2016-11-02 02:56:09 -0700 | [diff] [blame] | 36 | /** |
denicija | 9af2b60 | 2016-11-17 00:43:43 -0800 | [diff] [blame] | 37 | * 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; |
denicija | d17d536 | 2016-11-02 02:56:09 -0700 | [diff] [blame] | 46 | |
Anders Carlsson | e150058 | 2017-06-15 16:05:13 +0200 | [diff] [blame] | 47 | @property(nonatomic) BOOL audioOnly; |
| 48 | @property(nonatomic) BOOL createAecDump; |
Anders Carlsson | e150058 | 2017-06-15 16:05:13 +0200 | [diff] [blame] | 49 | @property(nonatomic) BOOL useManualAudioConfig; |
| 50 | |
denicija | d17d536 | 2016-11-02 02:56:09 -0700 | [diff] [blame] | 51 | @end |
| 52 | NS_ASSUME_NONNULL_END |