iOS: Always build H264 HW encoder/decoder
This CL removes the use_objc_h264 flag. This means that the VideoToolbox
H264 encoder and decoder will always be built.
BUG=webrtc:4081
NOTRY=TRUE
Review-Url: https://codereview.webrtc.org/2366443003
Cr-Commit-Position: refs/heads/master@{#14372}
diff --git a/webrtc/BUILD.gn b/webrtc/BUILD.gn
index d4308e1..d2381f3 100644
--- a/webrtc/BUILD.gn
+++ b/webrtc/BUILD.gn
@@ -57,9 +57,6 @@
"WEBRTC_IOS",
]
}
- if (is_ios && rtc_use_objc_h264) {
- defines += [ "WEBRTC_OBJC_H264" ]
- }
if (is_linux) {
defines += [ "WEBRTC_LINUX" ]
}
diff --git a/webrtc/build/common.gypi b/webrtc/build/common.gypi
index 0ec953f..849b71f 100644
--- a/webrtc/build/common.gypi
+++ b/webrtc/build/common.gypi
@@ -163,10 +163,6 @@
# Disable this to skip building source requiring GTK.
'use_gtk%': 1,
- # Enable this to use HW H.264 encoder/decoder on iOS/Mac PeerConnections.
- # Enabling this may break interop with Android clients that support H264.
- 'use_objc_h264%': 0,
-
# Enable this to prevent extern symbols from being hidden on iOS builds.
# The chromium settings we inherit hide symbols by default on Release
# builds. We want our symbols to be visible when distributing WebRTC via
@@ -447,11 +443,6 @@
'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
}
}],
- ['OS=="ios" and use_objc_h264==1', {
- 'defines': [
- 'WEBRTC_OBJC_H264',
- ],
- }],
['OS=="linux"', {
'defines': [
'WEBRTC_LINUX',
diff --git a/webrtc/build/ios/build_ios_libs.sh b/webrtc/build/ios/build_ios_libs.sh
index 25aed63..9797b8d 100755
--- a/webrtc/build/ios/build_ios_libs.sh
+++ b/webrtc/build/ios/build_ios_libs.sh
@@ -86,7 +86,7 @@
exit 1
fi
- export GYP_DEFINES="OS=ios target_arch=${target_arch} use_objc_h264=1 \
+ export GYP_DEFINES="OS=ios target_arch=${target_arch} \
clang_xcode=1 ios_deployment_target=8.0 \
ios_override_visibility=${override_visibility} \
libvpx_build_vp9=${libvpx_build_vp9}"
diff --git a/webrtc/build/webrtc.gni b/webrtc/build/webrtc.gni
index 0a851de..ac03959 100644
--- a/webrtc/build/webrtc.gni
+++ b/webrtc/build/webrtc.gni
@@ -105,10 +105,6 @@
rtc_build_with_neon =
(current_cpu == "arm" && arm_use_neon) || current_cpu == "arm64"
- # Enable this to use HW H.264 encoder/decoder on iOS PeerConnections.
- # Enabling this may break interop with Android clients that support H264.
- rtc_use_objc_h264 = false
-
# Enable this to build OpenH264 encoder/FFmpeg decoder. This is supported on
# all platforms except Android and iOS. Because FFmpeg can be built
# with/without H.264 support, |ffmpeg_branding| has to separately be set to a
diff --git a/webrtc/modules/video_coding/codecs/h264/h264_objc.mm b/webrtc/modules/video_coding/codecs/h264/h264_objc.mm
index b9e0fc0..9a6582d 100644
--- a/webrtc/modules/video_coding/codecs/h264/h264_objc.mm
+++ b/webrtc/modules/video_coding/codecs/h264/h264_objc.mm
@@ -18,8 +18,7 @@
namespace webrtc {
bool IsH264CodecSupportedObjC() {
-#if defined(WEBRTC_OBJC_H264) && \
- defined(WEBRTC_VIDEO_TOOLBOX_SUPPORTED) && \
+#if defined(WEBRTC_VIDEO_TOOLBOX_SUPPORTED) && \
defined(WEBRTC_IOS)
// Supported on iOS8+.
return [[[UIDevice currentDevice] systemVersion] doubleValue] >= 8.0;