blob: b68adb737af0eb85788e5f09f1322e65fde366ce [file] [log] [blame]
/*
* Copyright 2016 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
* Light-weight persistent store for user settings.
*
* It will persist between application launches and application updates.
*/
@interface ARDSettingsStore : NSObject
/**
* Set fallback values in case the setting has not been written by the user.
* @param dictionary of values to store
*/
+ (void)setDefaultsForVideoResolution:(NSString *)videoResolution
videoCodec:(NSData *)videoCodec
bitrate:(nullable NSNumber *)bitrate
audioOnly:(BOOL)audioOnly
createAecDump:(BOOL)createAecDump
useLevelController:(BOOL)useLevelController
useManualAudioConfig:(BOOL)useManualAudioConfig;
@property(nonatomic) NSString *videoResolution;
@property(nonatomic) NSData *videoCodec;
/**
* Returns current max bitrate number stored in the store.
*/
- (nullable NSNumber *)maxBitrate;
/**
* Stores the provided value as maximum bitrate setting.
* @param value the number to be stored
*/
- (void)setMaxBitrate:(nullable NSNumber *)value;
@property(nonatomic) BOOL audioOnly;
@property(nonatomic) BOOL createAecDump;
@property(nonatomic) BOOL useLevelController;
@property(nonatomic) BOOL useManualAudioConfig;
@end
NS_ASSUME_NONNULL_END