From 48eb3152d122fe36d43e836d78feff7c911d34f2 Mon Sep 17 00:00:00 2001 From: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com> Date: Tue, 6 Dec 2022 15:18:31 +0900 Subject: [PATCH 1/2] workaround for iOS also --- sdk/objc/components/renderer/metal/RTCMTLVideoView.m | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sdk/objc/components/renderer/metal/RTCMTLVideoView.m b/sdk/objc/components/renderer/metal/RTCMTLVideoView.m index ba97fbf625..c910fda136 100644 --- a/sdk/objc/components/renderer/metal/RTCMTLVideoView.m +++ b/sdk/objc/components/renderer/metal/RTCMTLVideoView.m @@ -271,9 +271,6 @@ - (void)renderFrame:(nullable RTC_OBJC_TYPE(RTCVideoFrame) *)frame { return; } -#if TARGET_OS_IPHONE - self.videoFrame = frame; -#elif TARGET_OS_OSX // Rendering native CVPixelBuffer is not supported on OS X. BOOL useI420 = NO; if ([frame.buffer isKindOfClass:[RTC_OBJC_TYPE(RTCCVPixelBuffer) class]]) { @@ -282,7 +279,6 @@ - (void)renderFrame:(nullable RTC_OBJC_TYPE(RTCVideoFrame) *)frame { useI420 = pixelFormat == kCVPixelFormatType_32BGRA || pixelFormat == kCVPixelFormatType_32ARGB; } self.videoFrame = useI420 ? [frame newI420VideoFrame] : frame; -#endif } #pragma mark - Cross platform From c815b346ccb5f85582703b1f4e86adfc142dd173 Mon Sep 17 00:00:00 2001 From: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com> Date: Tue, 6 Dec 2022 15:21:04 +0900 Subject: [PATCH 2/2] comment --- sdk/objc/components/renderer/metal/RTCMTLVideoView.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/objc/components/renderer/metal/RTCMTLVideoView.m b/sdk/objc/components/renderer/metal/RTCMTLVideoView.m index c910fda136..8b2ec1aaa3 100644 --- a/sdk/objc/components/renderer/metal/RTCMTLVideoView.m +++ b/sdk/objc/components/renderer/metal/RTCMTLVideoView.m @@ -271,7 +271,8 @@ - (void)renderFrame:(nullable RTC_OBJC_TYPE(RTCVideoFrame) *)frame { return; } - // Rendering native CVPixelBuffer is not supported on OS X. + // Workaround to support RTCCVPixelBuffer rendering. + // RTCMTLRGBRenderer seems to be broken at the moment. BOOL useI420 = NO; if ([frame.buffer isKindOfClass:[RTC_OBJC_TYPE(RTCCVPixelBuffer) class]]) { RTC_OBJC_TYPE(RTCCVPixelBuffer) *buffer = (RTC_OBJC_TYPE(RTCCVPixelBuffer) *)frame.buffer;