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 /** 16 * Light-weight persistent store for user settings. 17 * 18 * It will persist between application launches and application updates. 19 */ 20 @interface ARDSettingsStore : NSObject 21 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 27 videoCodec:(NSData *)videoCodec 28 bitrate:(nullable NSNumber *)bitrate 29 audioOnly:(BOOL)audioOnly 30 createAecDump:(BOOL)createAecDump 31 useManualAudioConfig:(BOOL)useManualAudioConfig; 32 33 @property(nonatomic) NSString *videoResolution; 34 @property(nonatomic) NSData *videoCodec; 35 36 /** 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; 46 47 @property(nonatomic) BOOL audioOnly; 48 @property(nonatomic) BOOL createAecDump; 49 @property(nonatomic) BOOL useManualAudioConfig; 50 51 @end 52 NS_ASSUME_NONNULL_END 53