1*d9f75844SAndroid Build Coastguard Worker /* 2*d9f75844SAndroid Build Coastguard Worker * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3*d9f75844SAndroid Build Coastguard Worker * 4*d9f75844SAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license 5*d9f75844SAndroid Build Coastguard Worker * that can be found in the LICENSE file in the root of the source 6*d9f75844SAndroid Build Coastguard Worker * tree. An additional intellectual property rights grant can be found 7*d9f75844SAndroid Build Coastguard Worker * in the file PATENTS. All contributing project authors may 8*d9f75844SAndroid Build Coastguard Worker * be found in the AUTHORS file in the root of the source tree. 9*d9f75844SAndroid Build Coastguard Worker */ 10*d9f75844SAndroid Build Coastguard Worker 11*d9f75844SAndroid Build Coastguard Worker #import <Foundation/Foundation.h> 12*d9f75844SAndroid Build Coastguard Worker 13*d9f75844SAndroid Build Coastguard Worker #import "RTCMacros.h" 14*d9f75844SAndroid Build Coastguard Worker 15*d9f75844SAndroid Build Coastguard Worker NS_ASSUME_NONNULL_BEGIN 16*d9f75844SAndroid Build Coastguard Worker 17*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCRtxCodecName; 18*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCRedCodecName; 19*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCUlpfecCodecName; 20*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCFlexfecCodecName; 21*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCOpusCodecName; 22*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCIsacCodecName; 23*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCL16CodecName; 24*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCG722CodecName; 25*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCIlbcCodecName; 26*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCPcmuCodecName; 27*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCPcmaCodecName; 28*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCDtmfCodecName; 29*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCComfortNoiseCodecName; 30*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCVp8CodecName; 31*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCVp9CodecName; 32*d9f75844SAndroid Build Coastguard Worker RTC_EXTERN const NSString *const kRTCH264CodecName; 33*d9f75844SAndroid Build Coastguard Worker 34*d9f75844SAndroid Build Coastguard Worker /** Defined in https://www.w3.org/TR/webrtc/#idl-def-rtcrtpcodecparameters */ 35*d9f75844SAndroid Build Coastguard Worker RTC_OBJC_EXPORT 36*d9f75844SAndroid Build Coastguard Worker @interface RTC_OBJC_TYPE (RTCRtpCodecParameters) : NSObject 37*d9f75844SAndroid Build Coastguard Worker 38*d9f75844SAndroid Build Coastguard Worker /** The RTP payload type. */ 39*d9f75844SAndroid Build Coastguard Worker @property(nonatomic, assign) int payloadType; 40*d9f75844SAndroid Build Coastguard Worker 41*d9f75844SAndroid Build Coastguard Worker /** 42*d9f75844SAndroid Build Coastguard Worker * The codec MIME subtype. Valid types are listed in: 43*d9f75844SAndroid Build Coastguard Worker * http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-2 44*d9f75844SAndroid Build Coastguard Worker * 45*d9f75844SAndroid Build Coastguard Worker * Several supported types are represented by the constants above. 46*d9f75844SAndroid Build Coastguard Worker */ 47*d9f75844SAndroid Build Coastguard Worker @property(nonatomic, readonly, nonnull) NSString *name; 48*d9f75844SAndroid Build Coastguard Worker 49*d9f75844SAndroid Build Coastguard Worker /** 50*d9f75844SAndroid Build Coastguard Worker * The media type of this codec. Equivalent to MIME top-level type. 51*d9f75844SAndroid Build Coastguard Worker * 52*d9f75844SAndroid Build Coastguard Worker * Valid values are kRTCMediaStreamTrackKindAudio and 53*d9f75844SAndroid Build Coastguard Worker * kRTCMediaStreamTrackKindVideo. 54*d9f75844SAndroid Build Coastguard Worker */ 55*d9f75844SAndroid Build Coastguard Worker @property(nonatomic, readonly, nonnull) NSString *kind; 56*d9f75844SAndroid Build Coastguard Worker 57*d9f75844SAndroid Build Coastguard Worker /** The codec clock rate expressed in Hertz. */ 58*d9f75844SAndroid Build Coastguard Worker @property(nonatomic, readonly, nullable) NSNumber *clockRate; 59*d9f75844SAndroid Build Coastguard Worker 60*d9f75844SAndroid Build Coastguard Worker /** 61*d9f75844SAndroid Build Coastguard Worker * The number of channels (mono=1, stereo=2). 62*d9f75844SAndroid Build Coastguard Worker * Set to null for video codecs. 63*d9f75844SAndroid Build Coastguard Worker **/ 64*d9f75844SAndroid Build Coastguard Worker @property(nonatomic, readonly, nullable) NSNumber *numChannels; 65*d9f75844SAndroid Build Coastguard Worker 66*d9f75844SAndroid Build Coastguard Worker /** The "format specific parameters" field from the "a=fmtp" line in the SDP */ 67*d9f75844SAndroid Build Coastguard Worker @property(nonatomic, readonly, nonnull) NSDictionary *parameters; 68*d9f75844SAndroid Build Coastguard Worker 69*d9f75844SAndroid Build Coastguard Worker - (instancetype)init; 70*d9f75844SAndroid Build Coastguard Worker 71*d9f75844SAndroid Build Coastguard Worker @end 72*d9f75844SAndroid Build Coastguard Worker 73*d9f75844SAndroid Build Coastguard Worker NS_ASSUME_NONNULL_END 74