# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. # # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file in the root of the source # tree. An additional intellectual property rights grant can be found # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. import("../../build/webrtc.gni") # Note this target is missing an implementation for the video capture. # Targets must link with either 'video_capture' or # 'video_capture_internal_impl' depending on whether they want to # use the internal capturer. source_set("video_capture_module") { sources = [ "device_info_impl.cc", "device_info_impl.h", "include/video_capture.h", "include/video_capture_defines.h", "include/video_capture_factory.h", "video_capture_config.h", "video_capture_delay.h", "video_capture_factory.cc", "video_capture_impl.cc", "video_capture_impl.h", ] deps = [ "../..:webrtc_common", "../../common_video", "../../system_wrappers", "../utility", ] configs += [ "../..:common_config" ] public_configs = [ "../..:common_inherited_config" ] if (is_clang) { # Suppress warnings from Chrome's Clang plugins. # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. configs -= [ "//build/config/clang:find_bad_constructs" ] } } source_set("video_capture") { sources = [ "external/device_info_external.cc", "external/video_capture_external.cc", ] deps = [ ":video_capture_module", "../../system_wrappers", ] configs += [ "../..:common_config" ] public_configs = [ "../..:common_inherited_config" ] if (is_clang) { # Suppress warnings from Chrome's Clang plugins. # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. configs -= [ "//build/config/clang:find_bad_constructs" ] } } if (!build_with_chromium) { config("video_capture_internal_impl_config") { if (is_ios) { libs = [ "AVFoundation.framework", "CoreMedia.framework", "CoreVideo.framework", ] } } source_set("video_capture_internal_impl") { deps = [ ":video_capture_module", "../../system_wrappers", ] if (is_linux) { sources = [ "linux/device_info_linux.cc", "linux/device_info_linux.h", "linux/video_capture_linux.cc", "linux/video_capture_linux.h", ] deps += [ "../..:webrtc_common" ] } if (is_mac) { sources = [ "mac/qtkit/video_capture_qtkit.h", "mac/qtkit/video_capture_qtkit.mm", "mac/qtkit/video_capture_qtkit_info.h", "mac/qtkit/video_capture_qtkit_info.mm", "mac/qtkit/video_capture_qtkit_info_objc.h", "mac/qtkit/video_capture_qtkit_info_objc.mm", "mac/qtkit/video_capture_qtkit_objc.h", "mac/qtkit/video_capture_qtkit_objc.mm", "mac/qtkit/video_capture_qtkit_utility.h", "mac/video_capture_mac.mm", ] libs = [ "CoreVideo.framework", "QTKit.framework", ] } if (is_win) { sources = [ "windows/device_info_ds.cc", "windows/device_info_ds.h", "windows/device_info_mf.cc", "windows/device_info_mf.h", "windows/help_functions_ds.cc", "windows/help_functions_ds.h", "windows/sink_filter_ds.cc", "windows/sink_filter_ds.h", "windows/video_capture_ds.cc", "windows/video_capture_ds.h", "windows/video_capture_factory_windows.cc", "windows/video_capture_mf.cc", "windows/video_capture_mf.h", ] libs = [ "Strmiids.lib" ] deps += [ "//third_party/winsdk_samples" ] } if (is_ios) { sources = [ "ios/device_info_ios.h", "ios/device_info_ios.mm", "ios/device_info_ios_objc.h", "ios/device_info_ios_objc.mm", "ios/rtc_video_capture_ios_objc.h", "ios/rtc_video_capture_ios_objc.mm", "ios/video_capture_ios.h", "ios/video_capture_ios.mm", ] cflags = [ "-fobjc-arc", # CLANG_ENABLE_OBJC_ARC = YES. # To avoid warnings for deprecated videoMinFrameDuration and # videoMaxFrameDuration properties in iOS 7.0. # See webrtc:3705 for more details. "-Wno-deprecated-declarations", ] } all_dependent_configs = [ ":video_capture_internal_impl_config" ] configs += [ "../..:common_config" ] public_configs = [ "../..:common_inherited_config" ] if (is_clang) { # Suppress warnings from Chrome's Clang plugins. # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. configs -= [ "//build/config/clang:find_bad_constructs" ] } } }