Rewrite video_loopback to use new mac capturer.

The old one has been deprecated for a long time.

Bug: webrtc:6333, webrtc:6898, webrtc:7861
Change-Id: Ib9b798262817e80019afcacc5b41d18957a28101
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/124827
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26993}
diff --git a/test/BUILD.gn b/test/BUILD.gn
index c1e6362..c0b3f17 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -49,8 +49,6 @@
     "frame_utils.h",
     "test_video_capturer.cc",
     "test_video_capturer.h",
-    "vcm_capturer.cc",
-    "vcm_capturer.h",
     "video_codec_settings.h",
   ]
 
@@ -67,7 +65,6 @@
     "../call:video_stream_api",
     "../common_video",
     "../media:rtc_media_base",
-    "../modules/video_capture:video_capture_module",
     "../rtc_base:checks",
     "../rtc_base:rtc_base",
     "../rtc_base:rtc_task_queue",
@@ -78,6 +75,55 @@
   ]
 }
 
+if (!build_with_chromium) {
+  if (is_mac || is_ios) {
+    rtc_source_set("video_test_mac") {
+      testonly = true
+      sources = [
+        "mac_capturer.h",
+        "mac_capturer.mm",
+      ]
+      deps = [
+        ":video_test_common",
+        "../api:libjingle_peerconnection_api",
+        "../api:scoped_refptr",
+        "../modules/video_capture:video_capture_module",
+        "../rtc_base:rtc_base",
+        "../sdk:base_objc",
+        "../sdk:native_api",
+        "../sdk:native_video",
+        "../sdk:videocapture_objc",
+      ]
+    }
+  }
+
+  rtc_source_set("platform_video_capturer") {
+    testonly = true
+    sources = [
+      "platform_video_capturer.cc",
+      "platform_video_capturer.h",
+    ]
+    deps = [
+      ":video_test_common",
+      "//third_party/abseil-cpp/absl/memory",
+    ]
+    if (is_mac || is_ios) {
+      deps += [ ":video_test_mac" ]
+    } else {
+      sources += [
+        "vcm_capturer.cc",
+        "vcm_capturer.h",
+      ]
+      deps += [
+        "../api:scoped_refptr",
+        "../modules/video_capture:video_capture_module",
+        "../rtc_base:checks",
+        "../rtc_base:logging",
+      ]
+    }
+  }
+}
+
 rtc_source_set("rtp_test_utils") {
   testonly = true
   sources = [
@@ -185,9 +231,9 @@
     "gtest.h",
   ]
 
-  public_deps = []
+  public_deps = []  # no-presubmit-check TODO(webrtc:8603)
   if (is_ios) {
-    public_deps += [ ":test_support_objc" ]
+    public_deps += [ ":test_support_objc" ]  # no-presubmit-check TODO(webrtc:8603)
   }
 
   public_configs = [ ":test_main_direct_config" ]
@@ -485,11 +531,11 @@
 rtc_source_set("run_test") {
   testonly = true
   if (is_mac) {
-    public_deps = [
+    public_deps = [  # no-presubmit-check TODO(webrtc:8603)
       ":run_test_objc",
     ]
   } else {
-    public_deps = [
+    public_deps = [  # no-presubmit-check TODO(webrtc:8603)
       ":run_test_generic",
     ]
   }
@@ -560,7 +606,7 @@
     "../system_wrappers",
     "//third_party/abseil-cpp/absl/memory",
   ]
-  public_deps = [
+  public_deps = [  # no-presubmit-check TODO(webrtc:8603)
     ":single_threaded_task_queue",
     "../call:fake_network",
   ]
@@ -719,12 +765,12 @@
 }
 
 rtc_source_set("test_renderer") {
-  public_deps = [
+  public_deps = [  # no-presubmit-check TODO(webrtc:8603)
     ":test_renderer_generic",
   ]
   testonly = true
   if (is_mac) {
-    public_deps += [ ":test_renderer_objc" ]
+    public_deps += [ ":test_renderer_objc" ]  # no-presubmit-check TODO(webrtc:8603)
   }
 }