1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2*d9f75844SAndroid Build Coastguard Worker# 3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license 4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source 5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found 6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS. All contributing project authors may 7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree. 8*d9f75844SAndroid Build Coastguard Worker 9*d9f75844SAndroid Build Coastguard Workerimport("//build/config/linux/gtk/gtk.gni") 10*d9f75844SAndroid Build Coastguard Workerimport("//build/config/ui.gni") 11*d9f75844SAndroid Build Coastguard Workerimport("../../webrtc.gni") 12*d9f75844SAndroid Build Coastguard Worker 13*d9f75844SAndroid Build Coastguard Workeruse_desktop_capture_differ_sse2 = current_cpu == "x86" || current_cpu == "x64" 14*d9f75844SAndroid Build Coastguard Worker 15*d9f75844SAndroid Build Coastguard Workerconfig("x11_config") { 16*d9f75844SAndroid Build Coastguard Worker if (rtc_use_x11_extensions) { 17*d9f75844SAndroid Build Coastguard Worker defines = [ "WEBRTC_USE_X11" ] 18*d9f75844SAndroid Build Coastguard Worker } 19*d9f75844SAndroid Build Coastguard Worker} 20*d9f75844SAndroid Build Coastguard Worker 21*d9f75844SAndroid Build Coastguard Workerrtc_library("primitives") { 22*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 23*d9f75844SAndroid Build Coastguard Worker sources = [ 24*d9f75844SAndroid Build Coastguard Worker "desktop_capture_types.h", 25*d9f75844SAndroid Build Coastguard Worker "desktop_frame.cc", 26*d9f75844SAndroid Build Coastguard Worker "desktop_frame.h", 27*d9f75844SAndroid Build Coastguard Worker "desktop_geometry.cc", 28*d9f75844SAndroid Build Coastguard Worker "desktop_geometry.h", 29*d9f75844SAndroid Build Coastguard Worker "desktop_region.cc", 30*d9f75844SAndroid Build Coastguard Worker "desktop_region.h", 31*d9f75844SAndroid Build Coastguard Worker "shared_desktop_frame.cc", 32*d9f75844SAndroid Build Coastguard Worker "shared_desktop_frame.h", 33*d9f75844SAndroid Build Coastguard Worker "shared_memory.cc", 34*d9f75844SAndroid Build Coastguard Worker "shared_memory.h", 35*d9f75844SAndroid Build Coastguard Worker ] 36*d9f75844SAndroid Build Coastguard Worker 37*d9f75844SAndroid Build Coastguard Worker deps = [ 38*d9f75844SAndroid Build Coastguard Worker "../../api:scoped_refptr", 39*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:checks", 40*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:refcount", 41*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/system:rtc_export", 42*d9f75844SAndroid Build Coastguard Worker "//third_party/libyuv", 43*d9f75844SAndroid Build Coastguard Worker ] 44*d9f75844SAndroid Build Coastguard Worker 45*d9f75844SAndroid Build Coastguard Worker if (!build_with_mozilla) { 46*d9f75844SAndroid Build Coastguard Worker deps += [ "../../rtc_base" ] # TODO(kjellander): Cleanup in 47*d9f75844SAndroid Build Coastguard Worker # bugs.webrtc.org/3806. 48*d9f75844SAndroid Build Coastguard Worker } 49*d9f75844SAndroid Build Coastguard Worker} 50*d9f75844SAndroid Build Coastguard Worker 51*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) { 52*d9f75844SAndroid Build Coastguard Worker rtc_library("desktop_capture_modules_tests") { 53*d9f75844SAndroid Build Coastguard Worker testonly = true 54*d9f75844SAndroid Build Coastguard Worker 55*d9f75844SAndroid Build Coastguard Worker defines = [] 56*d9f75844SAndroid Build Coastguard Worker sources = [] 57*d9f75844SAndroid Build Coastguard Worker deps = [ 58*d9f75844SAndroid Build Coastguard Worker ":desktop_capture", 59*d9f75844SAndroid Build Coastguard Worker "../../api:function_view", 60*d9f75844SAndroid Build Coastguard Worker "../../api:scoped_refptr", 61*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:checks", 62*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:logging", 63*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:platform_thread", 64*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:random", 65*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:timeutils", 66*d9f75844SAndroid Build Coastguard Worker ] 67*d9f75844SAndroid Build Coastguard Worker if (rtc_desktop_capture_supported) { 68*d9f75844SAndroid Build Coastguard Worker deps += [ 69*d9f75844SAndroid Build Coastguard Worker ":desktop_capture_mock", 70*d9f75844SAndroid Build Coastguard Worker ":primitives", 71*d9f75844SAndroid Build Coastguard Worker ":screen_drawer", 72*d9f75844SAndroid Build Coastguard Worker "../../rtc_base", 73*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/third_party/base64", 74*d9f75844SAndroid Build Coastguard Worker "../../system_wrappers", 75*d9f75844SAndroid Build Coastguard Worker "../../test:test_support", 76*d9f75844SAndroid Build Coastguard Worker "../../test:video_test_support", 77*d9f75844SAndroid Build Coastguard Worker ] 78*d9f75844SAndroid Build Coastguard Worker sources += [ 79*d9f75844SAndroid Build Coastguard Worker "screen_capturer_integration_test.cc", 80*d9f75844SAndroid Build Coastguard Worker "screen_drawer_unittest.cc", 81*d9f75844SAndroid Build Coastguard Worker "window_finder_unittest.cc", 82*d9f75844SAndroid Build Coastguard Worker ] 83*d9f75844SAndroid Build Coastguard Worker 84*d9f75844SAndroid Build Coastguard Worker if ((is_linux || is_chromeos) && rtc_use_pipewire) { 85*d9f75844SAndroid Build Coastguard Worker configs += [ "../portal:gio" ] 86*d9f75844SAndroid Build Coastguard Worker } 87*d9f75844SAndroid Build Coastguard Worker 88*d9f75844SAndroid Build Coastguard Worker public_configs = [ ":x11_config" ] 89*d9f75844SAndroid Build Coastguard Worker 90*d9f75844SAndroid Build Coastguard Worker if (is_win) { 91*d9f75844SAndroid Build Coastguard Worker deps += [ "../../rtc_base/win:windows_version" ] 92*d9f75844SAndroid Build Coastguard Worker } 93*d9f75844SAndroid Build Coastguard Worker } 94*d9f75844SAndroid Build Coastguard Worker } 95*d9f75844SAndroid Build Coastguard Worker 96*d9f75844SAndroid Build Coastguard Worker if ((is_linux || is_chromeos) && rtc_use_pipewire) { 97*d9f75844SAndroid Build Coastguard Worker rtc_test("shared_screencast_stream_test") { 98*d9f75844SAndroid Build Coastguard Worker testonly = true 99*d9f75844SAndroid Build Coastguard Worker 100*d9f75844SAndroid Build Coastguard Worker sources = [ 101*d9f75844SAndroid Build Coastguard Worker "linux/wayland/shared_screencast_stream_unittest.cc", 102*d9f75844SAndroid Build Coastguard Worker "linux/wayland/test/test_screencast_stream_provider.cc", 103*d9f75844SAndroid Build Coastguard Worker "linux/wayland/test/test_screencast_stream_provider.h", 104*d9f75844SAndroid Build Coastguard Worker ] 105*d9f75844SAndroid Build Coastguard Worker 106*d9f75844SAndroid Build Coastguard Worker configs += [ "../portal:pipewire_all" ] 107*d9f75844SAndroid Build Coastguard Worker 108*d9f75844SAndroid Build Coastguard Worker deps = [ 109*d9f75844SAndroid Build Coastguard Worker ":desktop_capture", 110*d9f75844SAndroid Build Coastguard Worker ":desktop_capture_mock", 111*d9f75844SAndroid Build Coastguard Worker ":primitives", 112*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:checks", 113*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:logging", 114*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:random", 115*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:timeutils", 116*d9f75844SAndroid Build Coastguard Worker "../portal", 117*d9f75844SAndroid Build Coastguard Worker 118*d9f75844SAndroid Build Coastguard Worker # TODO(bugs.webrtc.org/9987): Remove this dep on rtc_base:rtc_base once 119*d9f75844SAndroid Build Coastguard Worker # rtc_base:threading is fully defined. 120*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:rtc_base", 121*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:task_queue_for_test", 122*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:threading", 123*d9f75844SAndroid Build Coastguard Worker "../../system_wrappers", 124*d9f75844SAndroid Build Coastguard Worker "../../test:test_main", 125*d9f75844SAndroid Build Coastguard Worker "../../test:test_support", 126*d9f75844SAndroid Build Coastguard Worker "//api/units:time_delta", 127*d9f75844SAndroid Build Coastguard Worker "//rtc_base:rtc_event", 128*d9f75844SAndroid Build Coastguard Worker ] 129*d9f75844SAndroid Build Coastguard Worker 130*d9f75844SAndroid Build Coastguard Worker data = [ "../../third_party/pipewire" ] 131*d9f75844SAndroid Build Coastguard Worker public_configs = [ "../portal:pipewire_config" ] 132*d9f75844SAndroid Build Coastguard Worker } 133*d9f75844SAndroid Build Coastguard Worker } 134*d9f75844SAndroid Build Coastguard Worker 135*d9f75844SAndroid Build Coastguard Worker rtc_library("desktop_capture_unittests") { 136*d9f75844SAndroid Build Coastguard Worker testonly = true 137*d9f75844SAndroid Build Coastguard Worker 138*d9f75844SAndroid Build Coastguard Worker defines = [] 139*d9f75844SAndroid Build Coastguard Worker sources = [ 140*d9f75844SAndroid Build Coastguard Worker "blank_detector_desktop_capturer_wrapper_unittest.cc", 141*d9f75844SAndroid Build Coastguard Worker "cropped_desktop_frame_unittest.cc", 142*d9f75844SAndroid Build Coastguard Worker "desktop_and_cursor_composer_unittest.cc", 143*d9f75844SAndroid Build Coastguard Worker "desktop_capturer_differ_wrapper_unittest.cc", 144*d9f75844SAndroid Build Coastguard Worker "desktop_frame_rotation_unittest.cc", 145*d9f75844SAndroid Build Coastguard Worker "desktop_frame_unittest.cc", 146*d9f75844SAndroid Build Coastguard Worker "desktop_geometry_unittest.cc", 147*d9f75844SAndroid Build Coastguard Worker "desktop_region_unittest.cc", 148*d9f75844SAndroid Build Coastguard Worker "differ_block_unittest.cc", 149*d9f75844SAndroid Build Coastguard Worker "fallback_desktop_capturer_wrapper_unittest.cc", 150*d9f75844SAndroid Build Coastguard Worker "mouse_cursor_monitor_unittest.cc", 151*d9f75844SAndroid Build Coastguard Worker "rgba_color_unittest.cc", 152*d9f75844SAndroid Build Coastguard Worker "test_utils.cc", 153*d9f75844SAndroid Build Coastguard Worker "test_utils.h", 154*d9f75844SAndroid Build Coastguard Worker "test_utils_unittest.cc", 155*d9f75844SAndroid Build Coastguard Worker ] 156*d9f75844SAndroid Build Coastguard Worker 157*d9f75844SAndroid Build Coastguard Worker if ((is_linux || is_chromeos) && rtc_use_pipewire) { 158*d9f75844SAndroid Build Coastguard Worker configs += [ "../portal:gio" ] 159*d9f75844SAndroid Build Coastguard Worker } 160*d9f75844SAndroid Build Coastguard Worker 161*d9f75844SAndroid Build Coastguard Worker deps = [ 162*d9f75844SAndroid Build Coastguard Worker ":desktop_capture", 163*d9f75844SAndroid Build Coastguard Worker ":desktop_capture_mock", 164*d9f75844SAndroid Build Coastguard Worker ":primitives", 165*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:checks", 166*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:logging", 167*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:macromagic", 168*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:random", 169*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:timeutils", 170*d9f75844SAndroid Build Coastguard Worker 171*d9f75844SAndroid Build Coastguard Worker # TODO(bugs.webrtc.org/9987): Remove this dep on rtc_base:rtc_base once 172*d9f75844SAndroid Build Coastguard Worker # rtc_base:threading is fully defined. 173*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:rtc_base", 174*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:task_queue_for_test", 175*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:threading", 176*d9f75844SAndroid Build Coastguard Worker "../../system_wrappers", 177*d9f75844SAndroid Build Coastguard Worker "../../test:test_support", 178*d9f75844SAndroid Build Coastguard Worker ] 179*d9f75844SAndroid Build Coastguard Worker 180*d9f75844SAndroid Build Coastguard Worker if (is_win) { 181*d9f75844SAndroid Build Coastguard Worker sources += [ 182*d9f75844SAndroid Build Coastguard Worker "win/cursor_unittest.cc", 183*d9f75844SAndroid Build Coastguard Worker "win/cursor_unittest_resources.h", 184*d9f75844SAndroid Build Coastguard Worker "win/cursor_unittest_resources.rc", 185*d9f75844SAndroid Build Coastguard Worker "win/screen_capture_utils_unittest.cc", 186*d9f75844SAndroid Build Coastguard Worker "win/screen_capturer_win_directx_unittest.cc", 187*d9f75844SAndroid Build Coastguard Worker "win/test_support/test_window.cc", 188*d9f75844SAndroid Build Coastguard Worker "win/test_support/test_window.h", 189*d9f75844SAndroid Build Coastguard Worker "win/window_capture_utils_unittest.cc", 190*d9f75844SAndroid Build Coastguard Worker ] 191*d9f75844SAndroid Build Coastguard Worker deps += [ 192*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/win:scoped_com_initializer", 193*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/win:windows_version", 194*d9f75844SAndroid Build Coastguard Worker ] 195*d9f75844SAndroid Build Coastguard Worker } 196*d9f75844SAndroid Build Coastguard Worker 197*d9f75844SAndroid Build Coastguard Worker if (rtc_desktop_capture_supported) { 198*d9f75844SAndroid Build Coastguard Worker sources += [ 199*d9f75844SAndroid Build Coastguard Worker "screen_capturer_helper_unittest.cc", 200*d9f75844SAndroid Build Coastguard Worker "screen_capturer_unittest.cc", 201*d9f75844SAndroid Build Coastguard Worker "window_capturer_unittest.cc", 202*d9f75844SAndroid Build Coastguard Worker ] 203*d9f75844SAndroid Build Coastguard Worker if (is_mac) { 204*d9f75844SAndroid Build Coastguard Worker sources += [ "screen_capturer_mac_unittest.cc" ] 205*d9f75844SAndroid Build Coastguard Worker } 206*d9f75844SAndroid Build Coastguard Worker if (rtc_enable_win_wgc) { 207*d9f75844SAndroid Build Coastguard Worker sources += [ 208*d9f75844SAndroid Build Coastguard Worker "win/wgc_capture_source_unittest.cc", 209*d9f75844SAndroid Build Coastguard Worker "win/wgc_capturer_win_unittest.cc", 210*d9f75844SAndroid Build Coastguard Worker ] 211*d9f75844SAndroid Build Coastguard Worker } 212*d9f75844SAndroid Build Coastguard Worker deps += [ 213*d9f75844SAndroid Build Coastguard Worker ":desktop_capture_mock", 214*d9f75844SAndroid Build Coastguard Worker "../../system_wrappers:metrics", 215*d9f75844SAndroid Build Coastguard Worker ] 216*d9f75844SAndroid Build Coastguard Worker public_configs = [ ":x11_config" ] 217*d9f75844SAndroid Build Coastguard Worker } 218*d9f75844SAndroid Build Coastguard Worker } 219*d9f75844SAndroid Build Coastguard Worker 220*d9f75844SAndroid Build Coastguard Worker rtc_library("screen_drawer") { 221*d9f75844SAndroid Build Coastguard Worker testonly = true 222*d9f75844SAndroid Build Coastguard Worker 223*d9f75844SAndroid Build Coastguard Worker sources = [ 224*d9f75844SAndroid Build Coastguard Worker "screen_drawer.cc", 225*d9f75844SAndroid Build Coastguard Worker "screen_drawer.h", 226*d9f75844SAndroid Build Coastguard Worker ] 227*d9f75844SAndroid Build Coastguard Worker 228*d9f75844SAndroid Build Coastguard Worker if (is_linux || is_chromeos) { 229*d9f75844SAndroid Build Coastguard Worker sources += [ "screen_drawer_linux.cc" ] 230*d9f75844SAndroid Build Coastguard Worker libs = [ "X11" ] 231*d9f75844SAndroid Build Coastguard Worker } 232*d9f75844SAndroid Build Coastguard Worker 233*d9f75844SAndroid Build Coastguard Worker if (is_mac) { 234*d9f75844SAndroid Build Coastguard Worker sources += [ "screen_drawer_mac.cc" ] 235*d9f75844SAndroid Build Coastguard Worker } 236*d9f75844SAndroid Build Coastguard Worker 237*d9f75844SAndroid Build Coastguard Worker if (is_win) { 238*d9f75844SAndroid Build Coastguard Worker sources += [ "screen_drawer_win.cc" ] 239*d9f75844SAndroid Build Coastguard Worker } 240*d9f75844SAndroid Build Coastguard Worker 241*d9f75844SAndroid Build Coastguard Worker deps = [ 242*d9f75844SAndroid Build Coastguard Worker ":desktop_capture", 243*d9f75844SAndroid Build Coastguard Worker ":primitives", 244*d9f75844SAndroid Build Coastguard Worker "../../api:scoped_refptr", 245*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:checks", 246*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:logging", 247*d9f75844SAndroid Build Coastguard Worker "../../system_wrappers", 248*d9f75844SAndroid Build Coastguard Worker ] 249*d9f75844SAndroid Build Coastguard Worker absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] 250*d9f75844SAndroid Build Coastguard Worker 251*d9f75844SAndroid Build Coastguard Worker if (is_posix || is_fuchsia) { 252*d9f75844SAndroid Build Coastguard Worker sources += [ 253*d9f75844SAndroid Build Coastguard Worker "screen_drawer_lock_posix.cc", 254*d9f75844SAndroid Build Coastguard Worker "screen_drawer_lock_posix.h", 255*d9f75844SAndroid Build Coastguard Worker ] 256*d9f75844SAndroid Build Coastguard Worker } 257*d9f75844SAndroid Build Coastguard Worker } 258*d9f75844SAndroid Build Coastguard Worker 259*d9f75844SAndroid Build Coastguard Worker rtc_library("desktop_capture_mock") { 260*d9f75844SAndroid Build Coastguard Worker testonly = true 261*d9f75844SAndroid Build Coastguard Worker 262*d9f75844SAndroid Build Coastguard Worker sources = [ 263*d9f75844SAndroid Build Coastguard Worker "mock_desktop_capturer_callback.cc", 264*d9f75844SAndroid Build Coastguard Worker "mock_desktop_capturer_callback.h", 265*d9f75844SAndroid Build Coastguard Worker ] 266*d9f75844SAndroid Build Coastguard Worker 267*d9f75844SAndroid Build Coastguard Worker if ((is_linux || is_chromeos) && rtc_use_pipewire) { 268*d9f75844SAndroid Build Coastguard Worker configs += [ "../portal:gio" ] 269*d9f75844SAndroid Build Coastguard Worker } 270*d9f75844SAndroid Build Coastguard Worker 271*d9f75844SAndroid Build Coastguard Worker deps = [ 272*d9f75844SAndroid Build Coastguard Worker ":desktop_capture", 273*d9f75844SAndroid Build Coastguard Worker ":primitives", 274*d9f75844SAndroid Build Coastguard Worker "../../test:test_support", 275*d9f75844SAndroid Build Coastguard Worker ] 276*d9f75844SAndroid Build Coastguard Worker } 277*d9f75844SAndroid Build Coastguard Worker} 278*d9f75844SAndroid Build Coastguard Worker 279*d9f75844SAndroid Build Coastguard Worker# TODO(bugs.webrtc.org/14187): remove when all users are gone 280*d9f75844SAndroid Build Coastguard Workerif ((is_linux || is_chromeos) && rtc_use_pipewire) { 281*d9f75844SAndroid Build Coastguard Worker config("pipewire_config") { 282*d9f75844SAndroid Build Coastguard Worker configs = [ "../portal:pipewire_config" ] 283*d9f75844SAndroid Build Coastguard Worker } 284*d9f75844SAndroid Build Coastguard Worker} 285*d9f75844SAndroid Build Coastguard Worker 286*d9f75844SAndroid Build Coastguard Workerrtc_library("desktop_capture") { 287*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 288*d9f75844SAndroid Build Coastguard Worker defines = [] 289*d9f75844SAndroid Build Coastguard Worker deps = [] 290*d9f75844SAndroid Build Coastguard Worker public_configs = [ ":x11_config" ] 291*d9f75844SAndroid Build Coastguard Worker sources = [ 292*d9f75844SAndroid Build Coastguard Worker "blank_detector_desktop_capturer_wrapper.cc", 293*d9f75844SAndroid Build Coastguard Worker "blank_detector_desktop_capturer_wrapper.h", 294*d9f75844SAndroid Build Coastguard Worker "cropped_desktop_frame.cc", 295*d9f75844SAndroid Build Coastguard Worker "cropped_desktop_frame.h", 296*d9f75844SAndroid Build Coastguard Worker "cropping_window_capturer.cc", 297*d9f75844SAndroid Build Coastguard Worker "cropping_window_capturer.h", 298*d9f75844SAndroid Build Coastguard Worker "delegated_source_list_controller.h", 299*d9f75844SAndroid Build Coastguard Worker "desktop_and_cursor_composer.cc", 300*d9f75844SAndroid Build Coastguard Worker "desktop_and_cursor_composer.h", 301*d9f75844SAndroid Build Coastguard Worker "desktop_capture_metrics_helper.cc", 302*d9f75844SAndroid Build Coastguard Worker "desktop_capture_metrics_helper.h", 303*d9f75844SAndroid Build Coastguard Worker "desktop_capture_options.cc", 304*d9f75844SAndroid Build Coastguard Worker "desktop_capture_options.h", 305*d9f75844SAndroid Build Coastguard Worker "desktop_capturer.cc", 306*d9f75844SAndroid Build Coastguard Worker "desktop_capturer.h", 307*d9f75844SAndroid Build Coastguard Worker "desktop_capturer_differ_wrapper.cc", 308*d9f75844SAndroid Build Coastguard Worker "desktop_capturer_differ_wrapper.h", 309*d9f75844SAndroid Build Coastguard Worker "desktop_capturer_wrapper.cc", 310*d9f75844SAndroid Build Coastguard Worker "desktop_capturer_wrapper.h", 311*d9f75844SAndroid Build Coastguard Worker "desktop_frame_generator.cc", 312*d9f75844SAndroid Build Coastguard Worker "desktop_frame_generator.h", 313*d9f75844SAndroid Build Coastguard Worker "desktop_frame_rotation.cc", 314*d9f75844SAndroid Build Coastguard Worker "desktop_frame_rotation.h", 315*d9f75844SAndroid Build Coastguard Worker "differ_block.cc", 316*d9f75844SAndroid Build Coastguard Worker "differ_block.h", 317*d9f75844SAndroid Build Coastguard Worker "fake_desktop_capturer.cc", 318*d9f75844SAndroid Build Coastguard Worker "fake_desktop_capturer.h", 319*d9f75844SAndroid Build Coastguard Worker "fallback_desktop_capturer_wrapper.cc", 320*d9f75844SAndroid Build Coastguard Worker "fallback_desktop_capturer_wrapper.h", 321*d9f75844SAndroid Build Coastguard Worker "full_screen_application_handler.cc", 322*d9f75844SAndroid Build Coastguard Worker "full_screen_application_handler.h", 323*d9f75844SAndroid Build Coastguard Worker "full_screen_window_detector.cc", 324*d9f75844SAndroid Build Coastguard Worker "full_screen_window_detector.h", 325*d9f75844SAndroid Build Coastguard Worker "mouse_cursor.cc", 326*d9f75844SAndroid Build Coastguard Worker "mouse_cursor.h", 327*d9f75844SAndroid Build Coastguard Worker "mouse_cursor_monitor.h", 328*d9f75844SAndroid Build Coastguard Worker "resolution_tracker.cc", 329*d9f75844SAndroid Build Coastguard Worker "resolution_tracker.h", 330*d9f75844SAndroid Build Coastguard Worker "rgba_color.cc", 331*d9f75844SAndroid Build Coastguard Worker "rgba_color.h", 332*d9f75844SAndroid Build Coastguard Worker "screen_capture_frame_queue.h", 333*d9f75844SAndroid Build Coastguard Worker "screen_capturer_helper.cc", 334*d9f75844SAndroid Build Coastguard Worker "screen_capturer_helper.h", 335*d9f75844SAndroid Build Coastguard Worker "window_finder.cc", 336*d9f75844SAndroid Build Coastguard Worker "window_finder.h", 337*d9f75844SAndroid Build Coastguard Worker ] 338*d9f75844SAndroid Build Coastguard Worker if (is_linux && !is_castos && rtc_use_pipewire) { 339*d9f75844SAndroid Build Coastguard Worker sources += [ "desktop_capture_metadata.h" ] 340*d9f75844SAndroid Build Coastguard Worker } 341*d9f75844SAndroid Build Coastguard Worker if (is_mac) { 342*d9f75844SAndroid Build Coastguard Worker sources += [ 343*d9f75844SAndroid Build Coastguard Worker "mac/desktop_configuration.h", 344*d9f75844SAndroid Build Coastguard Worker "mac/desktop_configuration_monitor.cc", 345*d9f75844SAndroid Build Coastguard Worker "mac/desktop_configuration_monitor.h", 346*d9f75844SAndroid Build Coastguard Worker "mac/full_screen_mac_application_handler.cc", 347*d9f75844SAndroid Build Coastguard Worker "mac/full_screen_mac_application_handler.h", 348*d9f75844SAndroid Build Coastguard Worker "mac/window_list_utils.cc", 349*d9f75844SAndroid Build Coastguard Worker "mac/window_list_utils.h", 350*d9f75844SAndroid Build Coastguard Worker ] 351*d9f75844SAndroid Build Coastguard Worker deps += [ ":desktop_capture_objc" ] 352*d9f75844SAndroid Build Coastguard Worker } 353*d9f75844SAndroid Build Coastguard Worker 354*d9f75844SAndroid Build Coastguard Worker if (build_with_mozilla) { 355*d9f75844SAndroid Build Coastguard Worker sources += [ 356*d9f75844SAndroid Build Coastguard Worker "desktop_device_info.cc", 357*d9f75844SAndroid Build Coastguard Worker "desktop_device_info.h", 358*d9f75844SAndroid Build Coastguard Worker ] 359*d9f75844SAndroid Build Coastguard Worker if (is_win) { 360*d9f75844SAndroid Build Coastguard Worker sources += [ 361*d9f75844SAndroid Build Coastguard Worker "app_capturer_win.cc", 362*d9f75844SAndroid Build Coastguard Worker "win/desktop_device_info_win.cc", 363*d9f75844SAndroid Build Coastguard Worker "win/win_shared.cc", 364*d9f75844SAndroid Build Coastguard Worker ] 365*d9f75844SAndroid Build Coastguard Worker } 366*d9f75844SAndroid Build Coastguard Worker } 367*d9f75844SAndroid Build Coastguard Worker if (rtc_use_x11_extensions || rtc_use_pipewire) { 368*d9f75844SAndroid Build Coastguard Worker sources += [ 369*d9f75844SAndroid Build Coastguard Worker "mouse_cursor_monitor_linux.cc", 370*d9f75844SAndroid Build Coastguard Worker "screen_capturer_linux.cc", 371*d9f75844SAndroid Build Coastguard Worker "window_capturer_linux.cc", 372*d9f75844SAndroid Build Coastguard Worker ] 373*d9f75844SAndroid Build Coastguard Worker 374*d9f75844SAndroid Build Coastguard Worker if (build_with_mozilla && (is_linux || is_chromeos)) { 375*d9f75844SAndroid Build Coastguard Worker sources += [ 376*d9f75844SAndroid Build Coastguard Worker "app_capturer_linux.cc", 377*d9f75844SAndroid Build Coastguard Worker "linux/x11/app_capturer_x11.cc", 378*d9f75844SAndroid Build Coastguard Worker "linux/x11/desktop_device_info_linux.cc", 379*d9f75844SAndroid Build Coastguard Worker "linux/x11/desktop_device_info_linux.h", 380*d9f75844SAndroid Build Coastguard Worker "linux/x11/shared_x_util.cc", 381*d9f75844SAndroid Build Coastguard Worker "linux/x11/shared_x_util.h", 382*d9f75844SAndroid Build Coastguard Worker ] 383*d9f75844SAndroid Build Coastguard Worker } 384*d9f75844SAndroid Build Coastguard Worker } 385*d9f75844SAndroid Build Coastguard Worker 386*d9f75844SAndroid Build Coastguard Worker if (rtc_use_x11_extensions) { 387*d9f75844SAndroid Build Coastguard Worker sources += [ 388*d9f75844SAndroid Build Coastguard Worker "linux/x11/mouse_cursor_monitor_x11.cc", 389*d9f75844SAndroid Build Coastguard Worker "linux/x11/mouse_cursor_monitor_x11.h", 390*d9f75844SAndroid Build Coastguard Worker "linux/x11/screen_capturer_x11.cc", 391*d9f75844SAndroid Build Coastguard Worker "linux/x11/screen_capturer_x11.h", 392*d9f75844SAndroid Build Coastguard Worker "linux/x11/shared_x_display.cc", 393*d9f75844SAndroid Build Coastguard Worker "linux/x11/shared_x_display.h", 394*d9f75844SAndroid Build Coastguard Worker "linux/x11/window_capturer_x11.cc", 395*d9f75844SAndroid Build Coastguard Worker "linux/x11/window_capturer_x11.h", 396*d9f75844SAndroid Build Coastguard Worker "linux/x11/window_finder_x11.cc", 397*d9f75844SAndroid Build Coastguard Worker "linux/x11/window_finder_x11.h", 398*d9f75844SAndroid Build Coastguard Worker "linux/x11/window_list_utils.cc", 399*d9f75844SAndroid Build Coastguard Worker "linux/x11/window_list_utils.h", 400*d9f75844SAndroid Build Coastguard Worker "linux/x11/x_atom_cache.cc", 401*d9f75844SAndroid Build Coastguard Worker "linux/x11/x_atom_cache.h", 402*d9f75844SAndroid Build Coastguard Worker "linux/x11/x_error_trap.cc", 403*d9f75844SAndroid Build Coastguard Worker "linux/x11/x_error_trap.h", 404*d9f75844SAndroid Build Coastguard Worker "linux/x11/x_server_pixel_buffer.cc", 405*d9f75844SAndroid Build Coastguard Worker "linux/x11/x_server_pixel_buffer.h", 406*d9f75844SAndroid Build Coastguard Worker "linux/x11/x_window_property.cc", 407*d9f75844SAndroid Build Coastguard Worker "linux/x11/x_window_property.h", 408*d9f75844SAndroid Build Coastguard Worker ] 409*d9f75844SAndroid Build Coastguard Worker libs = [ 410*d9f75844SAndroid Build Coastguard Worker "X11", 411*d9f75844SAndroid Build Coastguard Worker "Xcomposite", 412*d9f75844SAndroid Build Coastguard Worker "Xdamage", 413*d9f75844SAndroid Build Coastguard Worker "Xext", 414*d9f75844SAndroid Build Coastguard Worker "Xfixes", 415*d9f75844SAndroid Build Coastguard Worker "Xrender", 416*d9f75844SAndroid Build Coastguard Worker "Xrandr", 417*d9f75844SAndroid Build Coastguard Worker "Xtst", 418*d9f75844SAndroid Build Coastguard Worker ] 419*d9f75844SAndroid Build Coastguard Worker } 420*d9f75844SAndroid Build Coastguard Worker 421*d9f75844SAndroid Build Coastguard Worker if (!is_win && !is_mac && !rtc_use_x11_extensions && !rtc_use_pipewire && 422*d9f75844SAndroid Build Coastguard Worker !is_fuchsia) { 423*d9f75844SAndroid Build Coastguard Worker sources += [ 424*d9f75844SAndroid Build Coastguard Worker "mouse_cursor_monitor_null.cc", 425*d9f75844SAndroid Build Coastguard Worker "screen_capturer_null.cc", 426*d9f75844SAndroid Build Coastguard Worker "window_capturer_null.cc", 427*d9f75844SAndroid Build Coastguard Worker ] 428*d9f75844SAndroid Build Coastguard Worker } 429*d9f75844SAndroid Build Coastguard Worker 430*d9f75844SAndroid Build Coastguard Worker deps += [ 431*d9f75844SAndroid Build Coastguard Worker ":primitives", 432*d9f75844SAndroid Build Coastguard Worker "../../api:function_view", 433*d9f75844SAndroid Build Coastguard Worker "../../api:make_ref_counted", 434*d9f75844SAndroid Build Coastguard Worker "../../api:refcountedbase", 435*d9f75844SAndroid Build Coastguard Worker "../../api:scoped_refptr", 436*d9f75844SAndroid Build Coastguard Worker "../../api:sequence_checker", 437*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:checks", 438*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:event_tracer", 439*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:logging", 440*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:macromagic", 441*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:random", 442*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:stringutils", 443*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:timeutils", 444*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/synchronization:mutex", 445*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/system:arch", 446*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/system:no_unique_address", 447*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/system:rtc_export", 448*d9f75844SAndroid Build Coastguard Worker "../../system_wrappers", 449*d9f75844SAndroid Build Coastguard Worker "../../system_wrappers:metrics", 450*d9f75844SAndroid Build Coastguard Worker ] 451*d9f75844SAndroid Build Coastguard Worker 452*d9f75844SAndroid Build Coastguard Worker if (is_fuchsia) { 453*d9f75844SAndroid Build Coastguard Worker sources += [ 454*d9f75844SAndroid Build Coastguard Worker "mouse_cursor_monitor_null.cc", 455*d9f75844SAndroid Build Coastguard Worker "screen_capturer_fuchsia.cc", 456*d9f75844SAndroid Build Coastguard Worker "screen_capturer_fuchsia.h", 457*d9f75844SAndroid Build Coastguard Worker "window_capturer_null.cc", 458*d9f75844SAndroid Build Coastguard Worker ] 459*d9f75844SAndroid Build Coastguard Worker deps += [ 460*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:divide_round", 461*d9f75844SAndroid Build Coastguard Worker "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.sysmem", 462*d9f75844SAndroid Build Coastguard Worker "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.ui.composition", 463*d9f75844SAndroid Build Coastguard Worker "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.ui.scenic", 464*d9f75844SAndroid Build Coastguard Worker "//third_party/fuchsia-sdk/sdk/pkg/scenic_cpp", 465*d9f75844SAndroid Build Coastguard Worker "//third_party/fuchsia-sdk/sdk/pkg/sys_cpp", 466*d9f75844SAndroid Build Coastguard Worker ] 467*d9f75844SAndroid Build Coastguard Worker } 468*d9f75844SAndroid Build Coastguard Worker 469*d9f75844SAndroid Build Coastguard Worker if (is_win) { 470*d9f75844SAndroid Build Coastguard Worker sources += [ 471*d9f75844SAndroid Build Coastguard Worker "cropping_window_capturer_win.cc", 472*d9f75844SAndroid Build Coastguard Worker "desktop_frame_win.cc", 473*d9f75844SAndroid Build Coastguard Worker "desktop_frame_win.h", 474*d9f75844SAndroid Build Coastguard Worker "mouse_cursor_monitor_win.cc", 475*d9f75844SAndroid Build Coastguard Worker "screen_capturer_win.cc", 476*d9f75844SAndroid Build Coastguard Worker "win/cursor.cc", 477*d9f75844SAndroid Build Coastguard Worker "win/cursor.h", 478*d9f75844SAndroid Build Coastguard Worker "win/d3d_device.cc", 479*d9f75844SAndroid Build Coastguard Worker "win/d3d_device.h", 480*d9f75844SAndroid Build Coastguard Worker "win/desktop.cc", 481*d9f75844SAndroid Build Coastguard Worker "win/desktop.h", 482*d9f75844SAndroid Build Coastguard Worker "win/desktop_capture_utils.cc", 483*d9f75844SAndroid Build Coastguard Worker "win/desktop_capture_utils.h", 484*d9f75844SAndroid Build Coastguard Worker "win/display_configuration_monitor.cc", 485*d9f75844SAndroid Build Coastguard Worker "win/display_configuration_monitor.h", 486*d9f75844SAndroid Build Coastguard Worker "win/dxgi_adapter_duplicator.cc", 487*d9f75844SAndroid Build Coastguard Worker "win/dxgi_adapter_duplicator.h", 488*d9f75844SAndroid Build Coastguard Worker "win/dxgi_context.cc", 489*d9f75844SAndroid Build Coastguard Worker "win/dxgi_context.h", 490*d9f75844SAndroid Build Coastguard Worker "win/dxgi_duplicator_controller.cc", 491*d9f75844SAndroid Build Coastguard Worker "win/dxgi_duplicator_controller.h", 492*d9f75844SAndroid Build Coastguard Worker "win/dxgi_frame.cc", 493*d9f75844SAndroid Build Coastguard Worker "win/dxgi_frame.h", 494*d9f75844SAndroid Build Coastguard Worker "win/dxgi_output_duplicator.cc", 495*d9f75844SAndroid Build Coastguard Worker "win/dxgi_output_duplicator.h", 496*d9f75844SAndroid Build Coastguard Worker "win/dxgi_texture.cc", 497*d9f75844SAndroid Build Coastguard Worker "win/dxgi_texture.h", 498*d9f75844SAndroid Build Coastguard Worker "win/dxgi_texture_mapping.cc", 499*d9f75844SAndroid Build Coastguard Worker "win/dxgi_texture_mapping.h", 500*d9f75844SAndroid Build Coastguard Worker "win/dxgi_texture_staging.cc", 501*d9f75844SAndroid Build Coastguard Worker "win/dxgi_texture_staging.h", 502*d9f75844SAndroid Build Coastguard Worker "win/full_screen_win_application_handler.cc", 503*d9f75844SAndroid Build Coastguard Worker "win/full_screen_win_application_handler.h", 504*d9f75844SAndroid Build Coastguard Worker "win/scoped_gdi_object.h", 505*d9f75844SAndroid Build Coastguard Worker "win/scoped_thread_desktop.cc", 506*d9f75844SAndroid Build Coastguard Worker "win/scoped_thread_desktop.h", 507*d9f75844SAndroid Build Coastguard Worker "win/screen_capture_utils.cc", 508*d9f75844SAndroid Build Coastguard Worker "win/screen_capture_utils.h", 509*d9f75844SAndroid Build Coastguard Worker "win/screen_capturer_win_directx.cc", 510*d9f75844SAndroid Build Coastguard Worker "win/screen_capturer_win_directx.h", 511*d9f75844SAndroid Build Coastguard Worker "win/screen_capturer_win_gdi.cc", 512*d9f75844SAndroid Build Coastguard Worker "win/screen_capturer_win_gdi.h", 513*d9f75844SAndroid Build Coastguard Worker "win/screen_capturer_win_magnifier.cc", 514*d9f75844SAndroid Build Coastguard Worker "win/screen_capturer_win_magnifier.h", 515*d9f75844SAndroid Build Coastguard Worker "win/selected_window_context.cc", 516*d9f75844SAndroid Build Coastguard Worker "win/selected_window_context.h", 517*d9f75844SAndroid Build Coastguard Worker "win/window_capture_utils.cc", 518*d9f75844SAndroid Build Coastguard Worker "win/window_capture_utils.h", 519*d9f75844SAndroid Build Coastguard Worker "win/window_capturer_win_gdi.cc", 520*d9f75844SAndroid Build Coastguard Worker "win/window_capturer_win_gdi.h", 521*d9f75844SAndroid Build Coastguard Worker "window_capturer_win.cc", 522*d9f75844SAndroid Build Coastguard Worker "window_finder_win.cc", 523*d9f75844SAndroid Build Coastguard Worker "window_finder_win.h", 524*d9f75844SAndroid Build Coastguard Worker ] 525*d9f75844SAndroid Build Coastguard Worker libs = [ 526*d9f75844SAndroid Build Coastguard Worker "d3d11.lib", 527*d9f75844SAndroid Build Coastguard Worker "dxgi.lib", 528*d9f75844SAndroid Build Coastguard Worker ] 529*d9f75844SAndroid Build Coastguard Worker deps += [ 530*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:win32", 531*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/win:create_direct3d_device", 532*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/win:get_activation_factory", 533*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/win:windows_version", 534*d9f75844SAndroid Build Coastguard Worker ] 535*d9f75844SAndroid Build Coastguard Worker } 536*d9f75844SAndroid Build Coastguard Worker 537*d9f75844SAndroid Build Coastguard Worker absl_deps = [ 538*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/memory", 539*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings", 540*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:optional", 541*d9f75844SAndroid Build Coastguard Worker ] 542*d9f75844SAndroid Build Coastguard Worker 543*d9f75844SAndroid Build Coastguard Worker if (rtc_use_x11_extensions) { 544*d9f75844SAndroid Build Coastguard Worker deps += [ "../../rtc_base:sanitizer" ] 545*d9f75844SAndroid Build Coastguard Worker } 546*d9f75844SAndroid Build Coastguard Worker 547*d9f75844SAndroid Build Coastguard Worker if (!build_with_mozilla) { 548*d9f75844SAndroid Build Coastguard Worker deps += [ "//third_party/libyuv" ] 549*d9f75844SAndroid Build Coastguard Worker } 550*d9f75844SAndroid Build Coastguard Worker 551*d9f75844SAndroid Build Coastguard Worker if (use_desktop_capture_differ_sse2) { 552*d9f75844SAndroid Build Coastguard Worker deps += [ ":desktop_capture_differ_sse2" ] 553*d9f75844SAndroid Build Coastguard Worker } 554*d9f75844SAndroid Build Coastguard Worker 555*d9f75844SAndroid Build Coastguard Worker if (rtc_use_pipewire) { 556*d9f75844SAndroid Build Coastguard Worker sources += [ 557*d9f75844SAndroid Build Coastguard Worker "linux/wayland/base_capturer_pipewire.cc", 558*d9f75844SAndroid Build Coastguard Worker "linux/wayland/base_capturer_pipewire.h", 559*d9f75844SAndroid Build Coastguard Worker "linux/wayland/egl_dmabuf.cc", 560*d9f75844SAndroid Build Coastguard Worker "linux/wayland/egl_dmabuf.h", 561*d9f75844SAndroid Build Coastguard Worker "linux/wayland/mouse_cursor_monitor_pipewire.cc", 562*d9f75844SAndroid Build Coastguard Worker "linux/wayland/mouse_cursor_monitor_pipewire.h", 563*d9f75844SAndroid Build Coastguard Worker "linux/wayland/portal_request_response.h", 564*d9f75844SAndroid Build Coastguard Worker "linux/wayland/restore_token_manager.cc", 565*d9f75844SAndroid Build Coastguard Worker "linux/wayland/restore_token_manager.h", 566*d9f75844SAndroid Build Coastguard Worker "linux/wayland/scoped_glib.h", 567*d9f75844SAndroid Build Coastguard Worker "linux/wayland/screen_capture_portal_interface.cc", 568*d9f75844SAndroid Build Coastguard Worker "linux/wayland/screen_capture_portal_interface.h", 569*d9f75844SAndroid Build Coastguard Worker "linux/wayland/screencast_portal.cc", 570*d9f75844SAndroid Build Coastguard Worker "linux/wayland/screencast_portal.h", 571*d9f75844SAndroid Build Coastguard Worker "linux/wayland/screencast_stream_utils.cc", 572*d9f75844SAndroid Build Coastguard Worker "linux/wayland/screencast_stream_utils.h", 573*d9f75844SAndroid Build Coastguard Worker "linux/wayland/shared_screencast_stream.cc", 574*d9f75844SAndroid Build Coastguard Worker "linux/wayland/shared_screencast_stream.h", 575*d9f75844SAndroid Build Coastguard Worker "linux/wayland/xdg_desktop_portal_utils.h", 576*d9f75844SAndroid Build Coastguard Worker "linux/wayland/xdg_session_details.h", 577*d9f75844SAndroid Build Coastguard Worker ] 578*d9f75844SAndroid Build Coastguard Worker 579*d9f75844SAndroid Build Coastguard Worker configs += [ "../portal:pipewire_all" ] 580*d9f75844SAndroid Build Coastguard Worker 581*d9f75844SAndroid Build Coastguard Worker public_configs += [ "../portal:pipewire_config" ] 582*d9f75844SAndroid Build Coastguard Worker 583*d9f75844SAndroid Build Coastguard Worker deps += [ 584*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:sanitizer", 585*d9f75844SAndroid Build Coastguard Worker "../portal", 586*d9f75844SAndroid Build Coastguard Worker ] 587*d9f75844SAndroid Build Coastguard Worker } 588*d9f75844SAndroid Build Coastguard Worker 589*d9f75844SAndroid Build Coastguard Worker if (rtc_enable_win_wgc) { 590*d9f75844SAndroid Build Coastguard Worker sources += [ 591*d9f75844SAndroid Build Coastguard Worker "win/wgc_capture_session.cc", 592*d9f75844SAndroid Build Coastguard Worker "win/wgc_capture_session.h", 593*d9f75844SAndroid Build Coastguard Worker "win/wgc_capture_source.cc", 594*d9f75844SAndroid Build Coastguard Worker "win/wgc_capture_source.h", 595*d9f75844SAndroid Build Coastguard Worker "win/wgc_capturer_win.cc", 596*d9f75844SAndroid Build Coastguard Worker "win/wgc_capturer_win.h", 597*d9f75844SAndroid Build Coastguard Worker "win/wgc_desktop_frame.cc", 598*d9f75844SAndroid Build Coastguard Worker "win/wgc_desktop_frame.h", 599*d9f75844SAndroid Build Coastguard Worker ] 600*d9f75844SAndroid Build Coastguard Worker libs += [ "dwmapi.lib" ] 601*d9f75844SAndroid Build Coastguard Worker deps += [ 602*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:rtc_event", 603*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/win:hstring", 604*d9f75844SAndroid Build Coastguard Worker ] 605*d9f75844SAndroid Build Coastguard Worker } 606*d9f75844SAndroid Build Coastguard Worker} 607*d9f75844SAndroid Build Coastguard Worker 608*d9f75844SAndroid Build Coastguard Workerif (is_mac) { 609*d9f75844SAndroid Build Coastguard Worker rtc_library("desktop_capture_objc") { 610*d9f75844SAndroid Build Coastguard Worker # This target, needs to be separated from ":desktop_capture" because 611*d9f75844SAndroid Build Coastguard Worker # that is the C++ part of the target while this one is the Obj-C++ part. 612*d9f75844SAndroid Build Coastguard Worker # Aside from this, both represent a "desktop_capture" target. 613*d9f75844SAndroid Build Coastguard Worker # This target separation based on programming languages introduces a 614*d9f75844SAndroid Build Coastguard Worker # dependency cycle between ":desktop_capture" and 615*d9f75844SAndroid Build Coastguard Worker # ":desktop_capture_objc". 616*d9f75844SAndroid Build Coastguard Worker # To break this, ":desktop_capture_objc" shares some .h files with 617*d9f75844SAndroid Build Coastguard Worker # ":desktop_capture" but when external targets need one of these 618*d9f75844SAndroid Build Coastguard Worker # headers, they should depend on ":desktop_capture" and consider 619*d9f75844SAndroid Build Coastguard Worker # this target as private. 620*d9f75844SAndroid Build Coastguard Worker visibility = [ ":desktop_capture" ] 621*d9f75844SAndroid Build Coastguard Worker sources = [ 622*d9f75844SAndroid Build Coastguard Worker "delegated_source_list_controller.h", 623*d9f75844SAndroid Build Coastguard Worker "desktop_capture_options.h", 624*d9f75844SAndroid Build Coastguard Worker "desktop_capturer.h", 625*d9f75844SAndroid Build Coastguard Worker "full_screen_application_handler.h", 626*d9f75844SAndroid Build Coastguard Worker "full_screen_window_detector.h", 627*d9f75844SAndroid Build Coastguard Worker "mac/desktop_configuration.h", 628*d9f75844SAndroid Build Coastguard Worker "mac/desktop_configuration.mm", 629*d9f75844SAndroid Build Coastguard Worker "mac/desktop_configuration_monitor.h", 630*d9f75844SAndroid Build Coastguard Worker "mac/desktop_frame_cgimage.h", 631*d9f75844SAndroid Build Coastguard Worker "mac/desktop_frame_cgimage.mm", 632*d9f75844SAndroid Build Coastguard Worker "mac/desktop_frame_iosurface.h", 633*d9f75844SAndroid Build Coastguard Worker "mac/desktop_frame_iosurface.mm", 634*d9f75844SAndroid Build Coastguard Worker "mac/desktop_frame_provider.h", 635*d9f75844SAndroid Build Coastguard Worker "mac/desktop_frame_provider.mm", 636*d9f75844SAndroid Build Coastguard Worker "mac/screen_capturer_mac.h", 637*d9f75844SAndroid Build Coastguard Worker "mac/screen_capturer_mac.mm", 638*d9f75844SAndroid Build Coastguard Worker "mac/window_list_utils.h", 639*d9f75844SAndroid Build Coastguard Worker "mouse_cursor.h", 640*d9f75844SAndroid Build Coastguard Worker "mouse_cursor_monitor.h", 641*d9f75844SAndroid Build Coastguard Worker "mouse_cursor_monitor_mac.mm", 642*d9f75844SAndroid Build Coastguard Worker "screen_capture_frame_queue.h", 643*d9f75844SAndroid Build Coastguard Worker "screen_capturer_darwin.mm", 644*d9f75844SAndroid Build Coastguard Worker "screen_capturer_helper.h", 645*d9f75844SAndroid Build Coastguard Worker "window_capturer_mac.mm", 646*d9f75844SAndroid Build Coastguard Worker "window_finder.h", 647*d9f75844SAndroid Build Coastguard Worker "window_finder_mac.h", 648*d9f75844SAndroid Build Coastguard Worker "window_finder_mac.mm", 649*d9f75844SAndroid Build Coastguard Worker ] 650*d9f75844SAndroid Build Coastguard Worker deps = [ 651*d9f75844SAndroid Build Coastguard Worker ":primitives", 652*d9f75844SAndroid Build Coastguard Worker "../../api:function_view", 653*d9f75844SAndroid Build Coastguard Worker "../../api:refcountedbase", 654*d9f75844SAndroid Build Coastguard Worker "../../api:scoped_refptr", 655*d9f75844SAndroid Build Coastguard Worker "../../api:sequence_checker", 656*d9f75844SAndroid Build Coastguard Worker "../../rtc_base", 657*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:checks", 658*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:event_tracer", 659*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:logging", 660*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:macromagic", 661*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:timeutils", 662*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/synchronization:mutex", 663*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/system:rtc_export", 664*d9f75844SAndroid Build Coastguard Worker "../../sdk:helpers_objc", 665*d9f75844SAndroid Build Coastguard Worker ] 666*d9f75844SAndroid Build Coastguard Worker frameworks = [ 667*d9f75844SAndroid Build Coastguard Worker "AppKit.framework", 668*d9f75844SAndroid Build Coastguard Worker "IOKit.framework", 669*d9f75844SAndroid Build Coastguard Worker "IOSurface.framework", 670*d9f75844SAndroid Build Coastguard Worker ] 671*d9f75844SAndroid Build Coastguard Worker } 672*d9f75844SAndroid Build Coastguard Worker} 673*d9f75844SAndroid Build Coastguard Worker 674*d9f75844SAndroid Build Coastguard Workerif (use_desktop_capture_differ_sse2) { 675*d9f75844SAndroid Build Coastguard Worker # Have to be compiled as a separate target because it needs to be compiled 676*d9f75844SAndroid Build Coastguard Worker # with SSE2 enabled. 677*d9f75844SAndroid Build Coastguard Worker rtc_library("desktop_capture_differ_sse2") { 678*d9f75844SAndroid Build Coastguard Worker visibility = [ ":*" ] 679*d9f75844SAndroid Build Coastguard Worker sources = [ 680*d9f75844SAndroid Build Coastguard Worker "differ_vector_sse2.cc", 681*d9f75844SAndroid Build Coastguard Worker "differ_vector_sse2.h", 682*d9f75844SAndroid Build Coastguard Worker ] 683*d9f75844SAndroid Build Coastguard Worker 684*d9f75844SAndroid Build Coastguard Worker if (is_posix || is_fuchsia) { 685*d9f75844SAndroid Build Coastguard Worker cflags = [ "-msse2" ] 686*d9f75844SAndroid Build Coastguard Worker } 687*d9f75844SAndroid Build Coastguard Worker } 688*d9f75844SAndroid Build Coastguard Worker} 689