blob: 770476947238ec09bb3c3184e2984555bcb8066f [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 "RTCRtpCodecParameters+Private.h"
#import "NSString+StdString.h"
#include "webrtc/media/base/mediaconstants.h"
const NSString * const kRTCRtxCodecMimeType = @(cricket::kRtxCodecName);
const NSString * const kRTCRedCodecMimeType = @(cricket::kRedCodecName);
const NSString * const kRTCUlpfecCodecMimeType = @(cricket::kUlpfecCodecName);
const NSString * const kRTCOpusCodecMimeType = @(cricket::kOpusCodecName);
const NSString * const kRTCIsacCodecMimeType = @(cricket::kIsacCodecName);
const NSString * const kRTCL16CodecMimeType = @(cricket::kL16CodecName);
const NSString * const kRTCG722CodecMimeType = @(cricket::kG722CodecName);
const NSString * const kRTCIlbcCodecMimeType = @(cricket::kIlbcCodecName);
const NSString * const kRTCPcmuCodecMimeType = @(cricket::kPcmuCodecName);
const NSString * const kRTCPcmaCodecMimeType = @(cricket::kPcmaCodecName);
const NSString * const kRTCDtmfCodecMimeType = @(cricket::kDtmfCodecName);
const NSString * const kRTCComfortNoiseCodecMimeType =
@(cricket::kComfortNoiseCodecName);
const NSString * const kVp8CodecMimeType = @(cricket::kVp8CodecName);
const NSString * const kVp9CodecMimeType = @(cricket::kVp9CodecName);
const NSString * const kH264CodecMimeType = @(cricket::kH264CodecName);
@implementation RTCRtpCodecParameters
@synthesize payloadType = _payloadType;
@synthesize mimeType = _mimeType;
@synthesize clockRate = _clockRate;
@synthesize channels = _channels;
- (instancetype)init {
return [super init];
}
- (instancetype)initWithNativeParameters:
(const webrtc::RtpCodecParameters &)nativeParameters {
if (self = [self init]) {
_payloadType = nativeParameters.payload_type;
_mimeType = [NSString stringForStdString:nativeParameters.mime_type];
_clockRate = nativeParameters.clock_rate;
_channels = nativeParameters.channels;
}
return self;
}
- (webrtc::RtpCodecParameters)nativeParameters {
webrtc::RtpCodecParameters parameters;
parameters.payload_type = _payloadType;
parameters.mime_type = [NSString stdStringForString:_mimeType];
parameters.clock_rate = _clockRate;
parameters.channels = _channels;
return parameters;
}
@end