RTCVideoCodecInfo.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * Copyright 2017 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. #import <WebRTC/RTCMacros.h>
  12. NS_ASSUME_NONNULL_BEGIN
  13. /** Holds information to identify a codec. Corresponds to webrtc::SdpVideoFormat. */
  14. RTC_OBJC_EXPORT
  15. @interface RTC_OBJC_TYPE (RTCVideoCodecInfo) : NSObject <NSCoding>
  16. - (instancetype)init NS_UNAVAILABLE;
  17. - (instancetype)initWithName:(NSString *)name;
  18. - (instancetype)initWithName:(NSString *)name
  19. parameters:(nullable NSDictionary<NSString *, NSString *> *)parameters
  20. NS_DESIGNATED_INITIALIZER;
  21. - (instancetype)initWithName:(NSString *)name
  22. parameters:(nullable NSDictionary<NSString *, NSString *> *)parameters
  23. scalabilityModes:(nullable NSArray<NSString *> *)scalabilityModes
  24. NS_DESIGNATED_INITIALIZER;
  25. - (BOOL)isEqualToCodecInfo:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info;
  26. @property(nonatomic, readonly) NSString *name;
  27. @property(nonatomic, readonly) NSDictionary<NSString *, NSString *> *parameters;
  28. @property(nonatomic, readonly) NSArray<NSString *> *scalabilityModes;
  29. @end
  30. NS_ASSUME_NONNULL_END