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;