| Index: webrtc/sdk/BUILD.gn
 | 
| diff --git a/webrtc/sdk/BUILD.gn b/webrtc/sdk/BUILD.gn
 | 
| index 07792918794f656d1dcb4478fa6b375f924e0cf0..d54961cefb6afc6e8e52d04ad47b63f02e2618a3 100644
 | 
| --- a/webrtc/sdk/BUILD.gn
 | 
| +++ b/webrtc/sdk/BUILD.gn
 | 
| @@ -30,6 +30,14 @@ if (is_ios || (is_mac && mac_deployment_target == "10.7")) {
 | 
|        "objc/Framework/Headers",
 | 
|      ]
 | 
|    }
 | 
| +  config("webrtc_h264_video_toolbox_warnings_config") {
 | 
| +    if (is_clang) {
 | 
| +      # TODO(tkchin): Make webrtc_h264_video_toolbox compile with the standard set
 | 
| +      # of warnings.
 | 
| +      # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6307
 | 
| +      cflags = [ "-Wno-thread-safety-analysis" ]
 | 
| +    }
 | 
| +  }
 | 
|  
 | 
|    rtc_static_library("rtc_sdk_common_objc") {
 | 
|      deps = [
 | 
| @@ -143,6 +151,8 @@ if (is_ios || (is_mac && mac_deployment_target == "10.7")) {
 | 
|        "objc/Framework/Classes/RTCVideoTrack.mm",
 | 
|        "objc/Framework/Classes/avfoundationvideocapturer.h",
 | 
|        "objc/Framework/Classes/avfoundationvideocapturer.mm",
 | 
| +      "objc/Framework/Classes/videotoolboxvideocodecfactory.cc",
 | 
| +      "objc/Framework/Classes/videotoolboxvideocodecfactory.h",
 | 
|        "objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h",
 | 
|        "objc/Framework/Headers/WebRTC/RTCAudioSource.h",
 | 
|        "objc/Framework/Headers/WebRTC/RTCAudioTrack.h",
 | 
| @@ -182,6 +192,9 @@ if (is_ios || (is_mac && mac_deployment_target == "10.7")) {
 | 
|          "OpenGLES.framework",
 | 
|          "QuartzCore.framework",
 | 
|        ]
 | 
| +      deps = [
 | 
| +        ":webrtc_h264_video_toolbox",
 | 
| +      ]
 | 
|      }
 | 
|  
 | 
|      if (is_mac) {
 | 
| @@ -193,6 +206,7 @@ if (is_ios || (is_mac && mac_deployment_target == "10.7")) {
 | 
|          "CoreMedia.framework",
 | 
|          "OpenGL.framework",
 | 
|        ]
 | 
| +      deps = []
 | 
|      }
 | 
|  
 | 
|      configs += [
 | 
| @@ -209,7 +223,7 @@ if (is_ios || (is_mac && mac_deployment_target == "10.7")) {
 | 
|  
 | 
|      libs += [ "AVFoundation.framework" ]
 | 
|  
 | 
| -    deps = [
 | 
| +    deps += [
 | 
|        ":rtc_sdk_common_objc",
 | 
|        "../api:libjingle_peerconnection",
 | 
|      ]
 | 
| @@ -351,8 +365,51 @@ if (is_ios || (is_mac && mac_deployment_target == "10.7")) {
 | 
|      complete_static_lib = true
 | 
|      deps = [
 | 
|        ":rtc_sdk_peerconnection_objc",
 | 
| -      "../system_wrappers:field_trial_default",
 | 
| -      "../system_wrappers:metrics_default",
 | 
| +      "//webrtc/system_wrappers:field_trial_default",
 | 
| +      "//webrtc/system_wrappers:metrics_default",
 | 
| +    ]
 | 
| +  }
 | 
| +
 | 
| +  rtc_static_library("webrtc_h264_video_toolbox") {
 | 
| +    sources = [
 | 
| +      "objc/Framework/Classes/h264_video_toolbox_decoder.cc",
 | 
| +      "objc/Framework/Classes/h264_video_toolbox_decoder.h",
 | 
| +      "objc/Framework/Classes/h264_video_toolbox_encoder.h",
 | 
| +      "objc/Framework/Classes/h264_video_toolbox_encoder.mm",
 | 
| +      "objc/Framework/Classes/h264_video_toolbox_nalu.cc",
 | 
| +      "objc/Framework/Classes/h264_video_toolbox_nalu.h",
 | 
| +    ]
 | 
| +
 | 
| +    configs += [
 | 
| +      ":webrtc_h264_video_toolbox_warnings_config",
 | 
| +      "//webrtc:common_objc",
 | 
| +      "//build/config/compiler:enable_arc",
 | 
|      ]
 | 
| +
 | 
| +    deps = [
 | 
| +      ":rtc_sdk_common_objc",
 | 
| +    ]
 | 
| +
 | 
| +    libs = [
 | 
| +      "CoreFoundation.framework",
 | 
| +      "CoreMedia.framework",
 | 
| +      "CoreVideo.framework",
 | 
| +      "VideoToolbox.framework",
 | 
| +    ]
 | 
| +
 | 
| +    if (!build_with_chromium && is_clang) {
 | 
| +      # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
 | 
| +      suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
 | 
| +    }
 | 
| +
 | 
| +    if (rtc_build_libyuv) {
 | 
| +      deps += [ "$rtc_libyuv_dir" ]
 | 
| +      public_deps = [
 | 
| +        "$rtc_libyuv_dir",
 | 
| +      ]
 | 
| +    } else {
 | 
| +      # Need to add a directory normally exported by libyuv.
 | 
| +      include_dirs = [ "$rtc_libyuv_dir/include" ]
 | 
| +    }
 | 
|    }
 | 
|  }
 | 
| 
 |