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