webrtc/sdk/objc/api/peerconnection/RTCRtpCodecCapability.h
David Liu 1939c43355 Reland "Expose getCapabilities/setCodecPreferences for objc"
This is a reland of commit a2f30e1a75

Original change's description:
> Expose getCapabilities/setCodecPreferences for objc
>
> Bug: None
> Change-Id: I31cf22bae595cf2b995ff648523d25485106fcd5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305200
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
> Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40841}

Bug: None
Change-Id: I6503b8c2473cfb90e79273e839ad83dd5a199d5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/323700
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41287}
2023-11-30 14:08:08 +00:00

54 lines
1.8 KiB
Objective-C

/*
* Copyright 2023 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>
#import "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, RTCRtpMediaType);
RTC_OBJC_EXPORT
@interface RTC_OBJC_TYPE (RTCRtpCodecCapability) : NSObject
/** Build MIME "type/subtype" string from name and kind. */
@property(nonatomic, readonly) NSString *mimeType;
/** Used to identify the codec. Equivalent to MIME subtype. */
@property(nonatomic, copy) NSString *name;
/** The media type of this codec. Equivalent to MIME top-level type. */
@property(nonatomic, assign) RTCRtpMediaType kind;
/** Clock rate in Hertz. If unset, the codec is applicable to any clock rate. */
@property(nonatomic, copy, nullable) NSNumber *clockRate;
/** Default payload type for this codec. Mainly needed for codecs that use
* that have statically assigned payload types.
*/
@property(nonatomic, copy, nullable) NSNumber *preferredPayloadType;
/** The number of audio channels supported. Unused for video codecs. */
@property(nonatomic, copy, nullable) NSNumber *numChannels;
/**Codec-specific parameters that must be signaled to the remote party.
*
* Corresponds to "a=fmtp" parameters in SDP.
*
* Contrary to ORTC, these parameters are named using all lowercase strings.
* This helps make the mapping to SDP simpler, if an application is using SDP.
* Boolean values are represented by the string "1".
*/
@property(nonatomic, copy) NSDictionary<NSString *, NSString *> *parameters;
@end
NS_ASSUME_NONNULL_END