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 fe7047fa35..81521f249b 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -628,6 +628,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 e76b68c92e..627e59cfed 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -539,6 +539,7 @@ if (is_ios || is_mac) {
       }
     }
 
+    if (!build_with_mozilla) {
     rtc_library("videosource_objc") {
       sources = [
         "objc/api/peerconnection/RTCVideoSource+Private.h",
@@ -568,6 +569,7 @@ if (is_ios || is_mac) {
         ":used_from_extension",
       ]
     }
+    }
 
     rtc_library("videoframebuffer_objc") {
       visibility = [ "*" ]
@@ -600,6 +602,7 @@ if (is_ios || is_mac) {
       ]
     }
 
+    if (!build_with_mozilla) {
     rtc_library("metal_objc") {
       visibility = [ "*" ]
       allow_poison = [
@@ -661,6 +664,7 @@ if (is_ios || is_mac) {
         ":videoframebuffer_objc",
       ]
     }
+    }
 
     rtc_library("videocapture_objc") {
       visibility = [ "*" ]
@@ -689,6 +693,7 @@ if (is_ios || is_mac) {
       ]
     }
 
+    if (!build_with_mozilla) {
     rtc_library("videocodec_objc") {
       visibility = [ "*" ]
       configs += [ "..:no_global_constructors" ]
@@ -1781,5 +1786,6 @@ if (is_ios || is_mac) {
         "VideoToolbox.framework",
       ]
     }
+    }
   }
 }
