/* * 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