ARDSettingsStore.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. #import <Foundation/Foundation.h>
  11. NS_ASSUME_NONNULL_BEGIN
  12. /**
  13. * Light-weight persistent store for user settings.
  14. *
  15. * It will persist between application launches and application updates.
  16. */
  17. @interface ARDSettingsStore : NSObject
  18. /**
  19. * Set fallback values in case the setting has not been written by the user.
  20. * @param dictionary of values to store
  21. */
  22. + (void)setDefaultsForVideoResolution:(NSString *)videoResolution
  23. videoCodec:(NSData *)videoCodec
  24. bitrate:(nullable NSNumber *)bitrate
  25. audioOnly:(BOOL)audioOnly
  26. createAecDump:(BOOL)createAecDump
  27. useManualAudioConfig:(BOOL)useManualAudioConfig;
  28. @property(nonatomic) NSString *videoResolution;
  29. @property(nonatomic) NSData *videoCodec;
  30. /**
  31. * Returns current max bitrate number stored in the store.
  32. */
  33. - (nullable NSNumber *)maxBitrate;
  34. /**
  35. * Stores the provided value as maximum bitrate setting.
  36. * @param value the number to be stored
  37. */
  38. - (void)setMaxBitrate:(nullable NSNumber *)value;
  39. @property(nonatomic) BOOL audioOnly;
  40. @property(nonatomic) BOOL createAecDump;
  41. @property(nonatomic) BOOL useManualAudioConfig;
  42. @end
  43. NS_ASSUME_NONNULL_END