Split out a separate target for VP8EncoderSimulcastProxy

This will allow downstream projects to use it to construct their own
injected codecs without pulling in dependencies on software codecs that
they don't need.

TBR=shampson@webrtc.org

Bug: webrtc:7925
Change-Id: Ie5c246bbf8e2ef1b27562887f717af9e719a1edf
Reviewed-on: https://webrtc-review.googlesource.com/c/107698
Commit-Queue: Jonathan Yu <yujo@chromium.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25379}
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 3bce800..cf843bc 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -190,6 +190,24 @@
   }
 }
 
+rtc_static_library("rtc_vp8_encoder_simulcast_proxy") {
+  visibility = [ "*" ]
+  defines = []
+  libs = []
+  sources = [
+    "engine/vp8_encoder_simulcast_proxy.cc",
+    "engine/vp8_encoder_simulcast_proxy.h",
+  ]
+  deps = [
+    ":rtc_simulcast_encoder_adapter",
+    "../api/video_codecs:video_codecs_api",
+  ]
+  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" ]
+  }
+}
+
 rtc_static_library("rtc_internal_video_codecs") {
   visibility = [ "*" ]
   allow_poison = [ "software_video_codecs" ]
@@ -198,6 +216,7 @@
   deps = [
     ":rtc_h264_profile_id",
     ":rtc_simulcast_encoder_adapter",
+    ":rtc_vp8_encoder_simulcast_proxy",
     "../modules/video_coding:video_codec_interface",
     "//third_party/abseil-cpp/absl/memory",
   ]
@@ -214,7 +233,9 @@
     "engine/scopedvideodecoder.h",
     "engine/scopedvideoencoder.cc",
     "engine/scopedvideoencoder.h",
-    "engine/vp8_encoder_simulcast_proxy.cc",
+
+    # TODO(bugs.webrtc.org/7925): stop exporting this header once downstream
+    # targets depend on :rtc_vp8_encoder_simulcast_proxy directly.
     "engine/vp8_encoder_simulcast_proxy.h",
     "engine/webrtcvideodecoderfactory.h",
     "engine/webrtcvideoencoderfactory.h",
@@ -599,6 +620,7 @@
       ":rtc_media_base",
       ":rtc_media_tests_utils",
       ":rtc_simulcast_encoder_adapter",
+      ":rtc_vp8_encoder_simulcast_proxy",
       ":rtc_vp9_profile",
       "../api:create_simulcast_test_fixture_api",
       "../api:libjingle_peerconnection_api",