Replace use of codec name strings with constants.
Bug: webrtc:8401
Change-Id: I2aee61e026330ec233eb8b3bfe2d529187562249
Reviewed-on: https://webrtc-review.googlesource.com/10814
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20340}
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm b/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm
index 46e6a51..2a49189 100644
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm
+++ b/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm
@@ -14,6 +14,12 @@
#import "RTCVideoCodec+Private.h"
#import "WebRTC/RTCVideoCodecFactory.h"
+NSString *const kVideoCodecVp8Name = @"VP8";
+NSString *const kVideoCodecVp9Name = @"VP9";
+NSString *const kVideoCodecH264Name = @"H264";
+NSString *const kLevel31ConstrainedHigh = @"640c1f";
+NSString *const kLevel31ConstrainedBaseline = @"42e01f";
+
@implementation RTCVideoCodecInfo
@synthesize name = _name;
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodecH264.mm b/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodecH264.mm
index b5322b6..d7f9c19 100644
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodecH264.mm
+++ b/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodecH264.mm
@@ -20,9 +20,6 @@
#include "system_wrappers/include/field_trial.h"
const char kHighProfileExperiment[] = "WebRTC-H264HighProfile";
-static NSString *kH264CodecName = @"H264";
-static NSString *kLevel31ConstrainedHigh = @"640c1f";
-static NSString *kLevel31ConstrainedBaseline = @"42e01f";
bool IsHighProfileEnabled() {
return webrtc::field_trial::IsEnabled(kHighProfileExperiment);
@@ -36,7 +33,7 @@
- (webrtc::CodecSpecificInfo)nativeCodecSpecificInfo {
webrtc::CodecSpecificInfo codecSpecificInfo;
codecSpecificInfo.codecType = webrtc::kVideoCodecH264;
- codecSpecificInfo.codec_name = [kH264CodecName cStringUsingEncoding:NSUTF8StringEncoding];
+ codecSpecificInfo.codec_name = [kVideoCodecH264Name cStringUsingEncoding:NSUTF8StringEncoding];
codecSpecificInfo.codecSpecific.H264.packetization_mode =
(webrtc::H264PacketizationMode)_packetizationMode;
@@ -50,7 +47,7 @@
- (NSArray<RTCVideoCodecInfo *> *)supportedCodecs {
NSMutableArray<RTCVideoCodecInfo *> *codecs = [NSMutableArray array];
- NSString *codecName = kH264CodecName;
+ NSString *codecName = kVideoCodecH264Name;
if (IsHighProfileEnabled()) {
NSDictionary<NSString *, NSString *> *constrainedHighParams = @{
@@ -89,7 +86,7 @@
}
- (NSArray<RTCVideoCodecInfo *> *)supportedCodecs {
- NSString *codecName = kH264CodecName;
+ NSString *codecName = kVideoCodecH264Name;
return @[ [[RTCVideoCodecInfo alloc] initWithName:codecName parameters:nil] ];
}
diff --git a/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm b/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm
index 7a6629e..79eb763 100644
--- a/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm
+++ b/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm
@@ -304,7 +304,7 @@
_packetizationMode = RTCH264PacketizationModeNonInterleaved;
_profile = ExtractProfile([codecInfo nativeSdpVideoFormat]);
LOG(LS_INFO) << "Using profile " << CFStringToString(_profile);
- RTC_CHECK([codecInfo.name isEqualToString:@"H264"]);
+ RTC_CHECK([codecInfo.name isEqualToString:kVideoCodecH264Name]);
#if defined(WEBRTC_IOS)
[RTCUIApplicationStatusObserver prepareForUse];
@@ -320,7 +320,7 @@
- (NSInteger)startEncodeWithSettings:(RTCVideoEncoderSettings *)settings
numberOfCores:(int)numberOfCores {
RTC_DCHECK(settings);
- RTC_DCHECK([settings.name isEqualToString:@"H264"]);
+ RTC_DCHECK([settings.name isEqualToString:kVideoCodecH264Name]);
_width = settings.width;
_height = settings.height;
diff --git a/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.mm b/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.mm
index f78b74b..d7601cf 100644
--- a/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.mm
+++ b/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.mm
@@ -144,7 +144,8 @@
const SdpVideoFormat &format) const {
// TODO(andersc): This is a hack until we figure out how this should be done properly.
NSString *formatName = [NSString stringForStdString:format.name];
- NSSet *wrappedSoftwareFormats = [NSSet setWithObjects:@"VP8", @"VP9", nil];
+ NSSet *wrappedSoftwareFormats =
+ [NSSet setWithObjects:kVideoCodecVp8Name, kVideoCodecVp9Name, nil];
CodecInfo codec_info;
codec_info.is_hardware_accelerated = ![wrappedSoftwareFormats containsObject:formatName];
diff --git a/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h b/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h
index bfd768a..59c69e0 100644
--- a/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h
+++ b/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h
@@ -15,6 +15,12 @@
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT extern NSString *const kVideoCodecVp8Name;
+RTC_EXPORT extern NSString *const kVideoCodecVp9Name;
+RTC_EXPORT extern NSString *const kVideoCodecH264Name;
+RTC_EXPORT extern NSString *const kLevel31ConstrainedHigh;
+RTC_EXPORT extern NSString *const kLevel31ConstrainedBaseline;
+
/** Represents an encoded frame's type. */
typedef NS_ENUM(NSUInteger, RTCFrameType) {
RTCFrameTypeEmptyFrame = 0,