aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Bromberg <jakebromberg@google.com>2021-06-14 13:44:25 -0700
committerWebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com>2021-06-21 22:47:44 +0000
commitfb7fd24b3dc65881b9debc95601360bc1bcdac94 (patch)
treea41eda5e9783dd21da2a8b1cbdd65d29c754eb4a
parentc6b9ac782ae6d3f8e84194880f4fe145c5ed5685 (diff)
downloadwebrtc-fb7fd24b3dc65881b9debc95601360bc1bcdac94.tar.gz
Removing RTC_SUPPORTS_METAL compilation flag. This flag is a holdover from before either macOS or the iOS Simulator supported Metal rendering.
Bug: webrtc:12638 Change-Id: Iced21bfac40192f609b65f5ea1dc3393ee1695fb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222461 Commit-Queue: Jake Bromberg <jakebromberg@google.com> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34347}
-rw-r--r--sdk/BUILD.gn109
-rw-r--r--sdk/objc/components/renderer/metal/RTCMTLVideoView.h2
-rw-r--r--sdk/objc/components/renderer/metal/RTCMTLVideoView.m4
3 files changed, 51 insertions, 64 deletions
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 4ae6023667..e7d186aa4b 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -488,7 +488,10 @@ if (is_ios || is_mac) {
rtc_library("ui_objc") {
visibility = [ "*" ]
- allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
+ allow_poison = [
+ "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
+ "default_task_queue",
+ ]
if (is_ios) {
sources = [
"objc/components/renderer/opengl/RTCDisplayLinkTimer.h",
@@ -507,61 +510,60 @@ if (is_ios || is_mac) {
deps = [
":base_objc",
":helpers_objc",
+ ":metal_objc",
":video_objc",
":videocapture_objc",
":videoframebuffer_objc",
]
}
- if (rtc_use_metal_rendering) {
- rtc_library("metal_objc") {
- visibility = [ "*" ]
- allow_poison = [
- "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
- "default_task_queue",
- ]
- sources = [
- "objc/components/renderer/metal/RTCMTLI420Renderer.h",
- "objc/components/renderer/metal/RTCMTLI420Renderer.mm",
- "objc/components/renderer/metal/RTCMTLRenderer+Private.h",
- "objc/components/renderer/metal/RTCMTLRenderer.h",
- "objc/components/renderer/metal/RTCMTLRenderer.mm",
- ]
- if (is_ios) {
- sources += [
- "objc/components/renderer/metal/RTCMTLNV12Renderer.h",
- "objc/components/renderer/metal/RTCMTLNV12Renderer.mm",
- "objc/components/renderer/metal/RTCMTLRGBRenderer.h",
- "objc/components/renderer/metal/RTCMTLRGBRenderer.mm",
- "objc/components/renderer/metal/RTCMTLVideoView.h",
- "objc/components/renderer/metal/RTCMTLVideoView.m",
- ]
- }
- frameworks = [
- "CoreVideo.framework",
- "Metal.framework",
- "MetalKit.framework",
+ rtc_library("metal_objc") {
+ visibility = [ "*" ]
+ allow_poison = [
+ "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
+ "default_task_queue",
+ ]
+ sources = [
+ "objc/components/renderer/metal/RTCMTLI420Renderer.h",
+ "objc/components/renderer/metal/RTCMTLI420Renderer.mm",
+ "objc/components/renderer/metal/RTCMTLNV12Renderer.h",
+ "objc/components/renderer/metal/RTCMTLNV12Renderer.mm",
+ "objc/components/renderer/metal/RTCMTLRGBRenderer.h",
+ "objc/components/renderer/metal/RTCMTLRGBRenderer.mm",
+ "objc/components/renderer/metal/RTCMTLRenderer+Private.h",
+ "objc/components/renderer/metal/RTCMTLRenderer.h",
+ "objc/components/renderer/metal/RTCMTLRenderer.mm",
+ ]
+ frameworks = [
+ "CoreVideo.framework",
+ "Metal.framework",
+ "MetalKit.framework",
+ ]
+ if (is_ios) {
+ sources += [
+ "objc/components/renderer/metal/RTCMTLVideoView.h",
+ "objc/components/renderer/metal/RTCMTLVideoView.m",
]
- if (is_mac) {
- sources += [
- "objc/components/renderer/metal/RTCMTLNSVideoView.h",
- "objc/components/renderer/metal/RTCMTLNSVideoView.m",
- ]
- frameworks += [ "AppKit.framework" ]
- }
- deps = [
- ":base_objc",
- ":peerconnectionfactory_base_objc",
- ":video_objc",
- ":videoframebuffer_objc",
- "../api/video:video_frame",
- "../api/video:video_rtp_headers",
- "../rtc_base:checks",
- "../rtc_base:rtc_base_approved",
+ }
+ if (is_mac) {
+ sources += [
+ "objc/components/renderer/metal/RTCMTLNSVideoView.h",
+ "objc/components/renderer/metal/RTCMTLNSVideoView.m",
]
- configs += [ "..:common_objc" ]
- public_configs = [ ":common_config_objc" ]
+ frameworks += [ "AppKit.framework" ]
}
+ deps = [
+ ":base_objc",
+ ":peerconnectionfactory_base_objc",
+ ":video_objc",
+ ":videoframebuffer_objc",
+ "../api/video:video_frame",
+ "../api/video:video_rtp_headers",
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ ]
+ configs += [ "..:common_objc" ]
+ public_configs = [ ":common_config_objc" ]
}
# TODO(bugs.webrtc.org/9627): Remove this target.
@@ -1027,6 +1029,7 @@ if (is_ios || is_mac) {
"objc/unittests/RTCEncodedImage_xctest.mm",
"objc/unittests/RTCFileVideoCapturer_xctest.mm",
"objc/unittests/RTCH264ProfileLevelId_xctest.m",
+ "objc/unittests/RTCMTLVideoView_xctest.m",
"objc/unittests/RTCNV12TextureCache_xctest.m",
"objc/unittests/RTCPeerConnectionFactory_xctest.m",
"objc/unittests/frame_buffer_helpers.h",
@@ -1051,6 +1054,7 @@ if (is_ios || is_mac) {
":callback_logger_objc",
":framework_objc",
":mediaconstraints_objc",
+ ":metal_objc",
":native_api",
":native_api_audio_device_module",
":native_video",
@@ -1074,11 +1078,6 @@ if (is_ios || is_mac) {
"//third_party/libyuv",
]
- if (rtc_use_metal_rendering) {
- sources += [ "objc/unittests/RTCMTLVideoView_xctest.m" ]
- deps += [ ":metal_objc" ]
- }
-
public_deps = [
"//build/config/ios:xctest",
"//third_party/ocmock",
@@ -1319,9 +1318,6 @@ if (is_ios || is_mac) {
":videotoolbox_objc",
"../rtc_base:rtc_base_approved",
]
- if (rtc_use_metal_rendering) {
- deps += [ ":metal_objc" ]
- }
if (!build_with_chromium) {
deps += [
":callback_logger_objc",
@@ -1453,9 +1449,6 @@ if (is_ios || is_mac) {
":videotoolbox_objc",
"../rtc_base:rtc_base_approved",
]
- if (rtc_use_metal_rendering) {
- deps += [ ":metal_objc" ]
- }
if (!build_with_chromium) {
deps += [
":callback_logger_objc",
diff --git a/sdk/objc/components/renderer/metal/RTCMTLVideoView.h b/sdk/objc/components/renderer/metal/RTCMTLVideoView.h
index 5678112ade..3320d12076 100644
--- a/sdk/objc/components/renderer/metal/RTCMTLVideoView.h
+++ b/sdk/objc/components/renderer/metal/RTCMTLVideoView.h
@@ -21,8 +21,6 @@ NS_ASSUME_NONNULL_BEGIN
*
* It has id<RTCVideoRenderer> property that renders video frames in the view's
* bounds using Metal.
- * NOTE: always check if metal is available on the running device via
- * RTC_SUPPORTS_METAL macro before initializing this class.
*/
NS_CLASS_AVAILABLE_IOS(9)
diff --git a/sdk/objc/components/renderer/metal/RTCMTLVideoView.m b/sdk/objc/components/renderer/metal/RTCMTLVideoView.m
index f5be7c061c..4c50bcf9c1 100644
--- a/sdk/objc/components/renderer/metal/RTCMTLVideoView.m
+++ b/sdk/objc/components/renderer/metal/RTCMTLVideoView.m
@@ -86,11 +86,7 @@
#pragma mark - Private
+ (BOOL)isMetalAvailable {
-#if defined(RTC_SUPPORTS_METAL)
return MTLCreateSystemDefaultDevice() != nil;
-#else
- return NO;
-#endif
}
+ (MTKView *)createMetalView:(CGRect)frame {