From: Andreas Pehrson <apehrson@mozilla.com>
Date: Mon, 12 Dec 2022 15:47:00 +0000
Subject: Bug 1451394 - Expose mac camera capture backend in .gn and switch it
 to gecko libyuv. r=webrtc-reviewers,mjf

Differential Revision: https://phabricator.services.mozilla.com/D163682
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/b0658888969395dca938597783c8a377b9bea209
---
 BUILD.gn     | 4 ++++
 sdk/BUILD.gn | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/BUILD.gn b/BUILD.gn
index 0d71d46954..4bb90af194 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -627,6 +627,10 @@ if (!build_with_chromium) {
       ]
     }
 
+    if (build_with_mozilla && is_mac) {
+      deps += [ "sdk:videocapture_objc" ]
+    }
+
     if (rtc_enable_protobuf) {
       deps += [ "logging:rtc_event_log_proto" ]
     }
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 26fc06efa8..7aa3c3f428 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -553,6 +553,7 @@ if (is_ios || is_mac) {
       }
     }
 
+    if (!build_with_mozilla) {
     rtc_library("videosource_objc") {
       sources = [
         "objc/api/peerconnection/RTCVideoSource+Private.h",
@@ -582,6 +583,7 @@ if (is_ios || is_mac) {
         ":used_from_extension",
       ]
     }
+    }
 
     rtc_library("videoframebuffer_objc") {
       visibility = [ "*" ]
@@ -614,6 +616,7 @@ if (is_ios || is_mac) {
       ]
     }
 
+    if (!build_with_mozilla) {
     rtc_library("metal_objc") {
       visibility = [ "*" ]
       allow_poison = [
@@ -675,6 +678,7 @@ if (is_ios || is_mac) {
         ":videoframebuffer_objc",
       ]
     }
+    }
 
     rtc_library("videocapture_objc") {
       visibility = [ "*" ]
@@ -703,6 +707,7 @@ if (is_ios || is_mac) {
       ]
     }
 
+    if (!build_with_mozilla) {
     rtc_library("videocodec_objc") {
       visibility = [ "*" ]
       configs += [ "..:no_global_constructors" ]
@@ -1800,5 +1805,6 @@ if (is_ios || is_mac) {
         "VideoToolbox.framework",
       ]
     }
+    }
   }
 }
