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}
This commit is contained in:
magjed
2016-09-23 07:01:37 -07:00
committed by Commit bot
parent 512ecb3206
commit 44428a8aa6
5 changed files with 2 additions and 19 deletions

View File

@ -57,9 +57,6 @@ config("common_inherited_config") {
"WEBRTC_IOS", "WEBRTC_IOS",
] ]
} }
if (is_ios && rtc_use_objc_h264) {
defines += [ "WEBRTC_OBJC_H264" ]
}
if (is_linux) { if (is_linux) {
defines += [ "WEBRTC_LINUX" ] defines += [ "WEBRTC_LINUX" ]
} }

View File

@ -163,10 +163,6 @@
# Disable this to skip building source requiring GTK. # Disable this to skip building source requiring GTK.
'use_gtk%': 1, '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. # Enable this to prevent extern symbols from being hidden on iOS builds.
# The chromium settings we inherit hide symbols by default on Release # The chromium settings we inherit hide symbols by default on Release
# builds. We want our symbols to be visible when distributing WebRTC via # builds. We want our symbols to be visible when distributing WebRTC via
@ -447,11 +443,6 @@
'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
} }
}], }],
['OS=="ios" and use_objc_h264==1', {
'defines': [
'WEBRTC_OBJC_H264',
],
}],
['OS=="linux"', { ['OS=="linux"', {
'defines': [ 'defines': [
'WEBRTC_LINUX', 'WEBRTC_LINUX',

View File

@ -86,7 +86,7 @@ function build_webrtc {
exit 1 exit 1
fi 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 \ clang_xcode=1 ios_deployment_target=8.0 \
ios_override_visibility=${override_visibility} \ ios_override_visibility=${override_visibility} \
libvpx_build_vp9=${libvpx_build_vp9}" libvpx_build_vp9=${libvpx_build_vp9}"

View File

@ -105,10 +105,6 @@ declare_args() {
rtc_build_with_neon = rtc_build_with_neon =
(current_cpu == "arm" && arm_use_neon) || current_cpu == "arm64" (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 # Enable this to build OpenH264 encoder/FFmpeg decoder. This is supported on
# all platforms except Android and iOS. Because FFmpeg can be built # 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 # with/without H.264 support, |ffmpeg_branding| has to separately be set to a

View File

@ -18,8 +18,7 @@
namespace webrtc { namespace webrtc {
bool IsH264CodecSupportedObjC() { bool IsH264CodecSupportedObjC() {
#if defined(WEBRTC_OBJC_H264) && \ #if defined(WEBRTC_VIDEO_TOOLBOX_SUPPORTED) && \
defined(WEBRTC_VIDEO_TOOLBOX_SUPPORTED) && \
defined(WEBRTC_IOS) defined(WEBRTC_IOS)
// Supported on iOS8+. // Supported on iOS8+.
return [[[UIDevice currentDevice] systemVersion] doubleValue] >= 8.0; return [[[UIDevice currentDevice] systemVersion] doubleValue] >= 8.0;