From 59230836579a7ce0386faebb07c73ac23f31a2b4 Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Mon, 24 Aug 2020 22:08:52 +0200 Subject: [PATCH] RTC_OBJC_TYPE RTCWrappedNativeVideo{Decoder,Encoder}. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some versionss of WebKit.framework export these symbols. Even if they are private symbols, WebRTC needs to provide a way to prefix them like the OBJC API symbols (see [1]). [1] - https://webrtc-review.googlesource.com/c/src/+/173781 Bug: None Change-Id: Ibb9ca2c89796a0d5e2ca65c549ba8799f24bbe7c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182421 Commit-Queue: Kári Helgason Reviewed-by: Kári Helgason Cr-Commit-Position: refs/heads/master@{#31987} --- sdk/objc/api/video_codec/RTCVideoDecoderVP8.mm | 3 ++- sdk/objc/api/video_codec/RTCVideoDecoderVP9.mm | 3 ++- sdk/objc/api/video_codec/RTCVideoEncoderVP8.mm | 3 ++- sdk/objc/api/video_codec/RTCVideoEncoderVP9.mm | 3 ++- sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.h | 3 ++- sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.mm | 3 ++- sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.h | 3 ++- sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.mm | 3 ++- sdk/objc/native/src/objc_video_decoder_factory.mm | 5 +++-- sdk/objc/native/src/objc_video_encoder_factory.mm | 4 ++-- 10 files changed, 21 insertions(+), 12 deletions(-) diff --git a/sdk/objc/api/video_codec/RTCVideoDecoderVP8.mm b/sdk/objc/api/video_codec/RTCVideoDecoderVP8.mm index 91ca3b7aec..c150cf6d3a 100644 --- a/sdk/objc/api/video_codec/RTCVideoDecoderVP8.mm +++ b/sdk/objc/api/video_codec/RTCVideoDecoderVP8.mm @@ -11,6 +11,7 @@ #import +#import "RTCMacros.h" #import "RTCVideoDecoderVP8.h" #import "RTCWrappedNativeVideoDecoder.h" @@ -19,7 +20,7 @@ @implementation RTC_OBJC_TYPE (RTCVideoDecoderVP8) + (id)vp8Decoder { - return [[RTCWrappedNativeVideoDecoder alloc] + return [[RTC_OBJC_TYPE(RTCWrappedNativeVideoDecoder) alloc] initWithNativeDecoder:std::unique_ptr(webrtc::VP8Decoder::Create())]; } diff --git a/sdk/objc/api/video_codec/RTCVideoDecoderVP9.mm b/sdk/objc/api/video_codec/RTCVideoDecoderVP9.mm index 56041a27eb..a44a870850 100644 --- a/sdk/objc/api/video_codec/RTCVideoDecoderVP9.mm +++ b/sdk/objc/api/video_codec/RTCVideoDecoderVP9.mm @@ -11,6 +11,7 @@ #import +#import "RTCMacros.h" #import "RTCVideoDecoderVP9.h" #import "RTCWrappedNativeVideoDecoder.h" @@ -19,7 +20,7 @@ @implementation RTC_OBJC_TYPE (RTCVideoDecoderVP9) + (id)vp9Decoder { - return [[RTCWrappedNativeVideoDecoder alloc] + return [[RTC_OBJC_TYPE(RTCWrappedNativeVideoDecoder) alloc] initWithNativeDecoder:std::unique_ptr(webrtc::VP9Decoder::Create())]; } diff --git a/sdk/objc/api/video_codec/RTCVideoEncoderVP8.mm b/sdk/objc/api/video_codec/RTCVideoEncoderVP8.mm index 135512723e..d72f705813 100644 --- a/sdk/objc/api/video_codec/RTCVideoEncoderVP8.mm +++ b/sdk/objc/api/video_codec/RTCVideoEncoderVP8.mm @@ -11,6 +11,7 @@ #import +#import "RTCMacros.h" #import "RTCVideoEncoderVP8.h" #import "RTCWrappedNativeVideoEncoder.h" @@ -19,7 +20,7 @@ @implementation RTC_OBJC_TYPE (RTCVideoEncoderVP8) + (id)vp8Encoder { - return [[RTCWrappedNativeVideoEncoder alloc] + return [[RTC_OBJC_TYPE(RTCWrappedNativeVideoEncoder) alloc] initWithNativeEncoder:std::unique_ptr(webrtc::VP8Encoder::Create())]; } diff --git a/sdk/objc/api/video_codec/RTCVideoEncoderVP9.mm b/sdk/objc/api/video_codec/RTCVideoEncoderVP9.mm index ec9e75a5ed..736051cff9 100644 --- a/sdk/objc/api/video_codec/RTCVideoEncoderVP9.mm +++ b/sdk/objc/api/video_codec/RTCVideoEncoderVP9.mm @@ -11,6 +11,7 @@ #import +#import "RTCMacros.h" #import "RTCVideoEncoderVP9.h" #import "RTCWrappedNativeVideoEncoder.h" @@ -19,7 +20,7 @@ @implementation RTC_OBJC_TYPE (RTCVideoEncoderVP9) + (id)vp9Encoder { - return [[RTCWrappedNativeVideoEncoder alloc] + return [[RTC_OBJC_TYPE(RTCWrappedNativeVideoEncoder) alloc] initWithNativeEncoder:std::unique_ptr(webrtc::VP9Encoder::Create())]; } diff --git a/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.h b/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.h index 2241c0c056..3a9b39e959 100644 --- a/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.h +++ b/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.h @@ -10,12 +10,13 @@ #import +#import "base/RTCMacros.h" #import "base/RTCVideoDecoder.h" #include "api/video_codecs/video_decoder.h" #include "media/base/codec.h" -@interface RTCWrappedNativeVideoDecoder : NSObject +@interface RTC_OBJC_TYPE (RTCWrappedNativeVideoDecoder) : NSObject - (instancetype)initWithNativeDecoder:(std::unique_ptr)decoder; diff --git a/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.mm b/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.mm index e4d8dc357d..48d09cf396 100644 --- a/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.mm +++ b/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.mm @@ -11,9 +11,10 @@ #import #import "RTCWrappedNativeVideoDecoder.h" +#import "base/RTCMacros.h" #import "helpers/NSString+StdString.h" -@implementation RTCWrappedNativeVideoDecoder { +@implementation RTC_OBJC_TYPE (RTCWrappedNativeVideoDecoder) { std::unique_ptr _wrappedDecoder; } diff --git a/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.h b/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.h index ec16793f8c..8df9ceec35 100644 --- a/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.h +++ b/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.h @@ -10,13 +10,14 @@ #import +#import "base/RTCMacros.h" #import "base/RTCVideoEncoder.h" #include "api/video_codecs/sdp_video_format.h" #include "api/video_codecs/video_encoder.h" #include "media/base/codec.h" -@interface RTCWrappedNativeVideoEncoder : NSObject +@interface RTC_OBJC_TYPE (RTCWrappedNativeVideoEncoder) : NSObject - (instancetype)initWithNativeEncoder:(std::unique_ptr)encoder; diff --git a/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.mm b/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.mm index 6feecabd07..843b6ad001 100644 --- a/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.mm +++ b/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.mm @@ -11,9 +11,10 @@ #import #import "RTCWrappedNativeVideoEncoder.h" +#import "base/RTCMacros.h" #import "helpers/NSString+StdString.h" -@implementation RTCWrappedNativeVideoEncoder { +@implementation RTC_OBJC_TYPE (RTCWrappedNativeVideoEncoder) { std::unique_ptr _wrappedEncoder; } diff --git a/sdk/objc/native/src/objc_video_decoder_factory.mm b/sdk/objc/native/src/objc_video_decoder_factory.mm index 09060548de..ccaed74d5a 100644 --- a/sdk/objc/native/src/objc_video_decoder_factory.mm +++ b/sdk/objc/native/src/objc_video_decoder_factory.mm @@ -10,6 +10,7 @@ #include "sdk/objc/native/src/objc_video_decoder_factory.h" +#import "base/RTCMacros.h" #import "base/RTCVideoDecoder.h" #import "base/RTCVideoDecoderFactory.h" #import "base/RTCVideoFrame.h" @@ -98,8 +99,8 @@ std::unique_ptr ObjCVideoDecoderFactory::CreateVideoDecoder( if ([codecName isEqualToString:codecInfo.name]) { id decoder = [decoder_factory_ createDecoder:codecInfo]; - if ([decoder isKindOfClass:[RTCWrappedNativeVideoDecoder class]]) { - return [(RTCWrappedNativeVideoDecoder *)decoder releaseWrappedDecoder]; + if ([decoder isKindOfClass:[RTC_OBJC_TYPE(RTCWrappedNativeVideoDecoder) class]]) { + return [(RTC_OBJC_TYPE(RTCWrappedNativeVideoDecoder) *)decoder releaseWrappedDecoder]; } else { return std::unique_ptr(new ObjCVideoDecoder(decoder)); } diff --git a/sdk/objc/native/src/objc_video_encoder_factory.mm b/sdk/objc/native/src/objc_video_encoder_factory.mm index b3e458ced3..7ef82f4a67 100644 --- a/sdk/objc/native/src/objc_video_encoder_factory.mm +++ b/sdk/objc/native/src/objc_video_encoder_factory.mm @@ -175,8 +175,8 @@ std::unique_ptr ObjCVideoEncoderFactory::CreateVideoEncoder( RTC_OBJC_TYPE(RTCVideoCodecInfo) *info = [[RTC_OBJC_TYPE(RTCVideoCodecInfo) alloc] initWithNativeSdpVideoFormat:format]; id encoder = [encoder_factory_ createEncoder:info]; - if ([encoder isKindOfClass:[RTCWrappedNativeVideoEncoder class]]) { - return [(RTCWrappedNativeVideoEncoder *)encoder releaseWrappedEncoder]; + if ([encoder isKindOfClass:[RTC_OBJC_TYPE(RTCWrappedNativeVideoEncoder) class]]) { + return [(RTC_OBJC_TYPE(RTCWrappedNativeVideoEncoder) *)encoder releaseWrappedEncoder]; } else { return std::unique_ptr(new ObjCVideoEncoder(encoder)); }