blob: 832d6ee4de31842404528b20b66e8439f8066a3e [file] [log] [blame]
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +00001# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../build/webrtc.gni")
10
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000011config("common_video_config") {
12 include_dirs = [
kjellander6f8ce062015-11-16 13:52:24 -080013 "include",
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000014 "libyuv/include",
15 ]
16}
17
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000018source_set("common_video") {
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000019 sources = [
magjed@webrtc.org73d763e2015-03-17 11:40:45 +000020 "i420_buffer_pool.cc",
pbosa96b60b2016-04-18 21:12:48 -070021 "include/frame_callback.h",
kjellander6f8ce062015-11-16 13:52:24 -080022 "include/i420_buffer_pool.h",
23 "include/incoming_video_stream.h",
24 "include/video_frame_buffer.h",
Peter Boström9a638662015-05-13 13:28:11 +020025 "incoming_video_stream.cc",
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000026 "libyuv/include/scaler.h",
27 "libyuv/include/webrtc_libyuv.h",
28 "libyuv/scaler.cc",
29 "libyuv/webrtc_libyuv.cc",
Miguel Casas-Sanchez47650702015-05-29 17:21:40 -070030 "video_frame.cc",
magjed@webrtc.org2386d6d2015-03-05 14:03:08 +000031 "video_frame_buffer.cc",
Peter Boström9a638662015-05-13 13:28:11 +020032 "video_render_frames.cc",
33 "video_render_frames.h",
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000034 ]
35
36 include_dirs = [ "../modules/interface" ]
37
kjellander@webrtc.orgf21ea912014-09-28 17:37:22 +000038 configs += [ "..:common_config" ]
39 public_configs = [
40 "..:common_inherited_config",
41 ":common_video_config",
42 ]
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000043
kjellander@webrtc.org42ee5b52014-08-25 14:15:35 +000044 if (is_clang) {
45 # Suppress warnings from Chrome's Clang plugins.
46 # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
47 configs -= [ "//build/config/clang:find_bad_constructs" ]
48 }
49
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +000050 deps = [
51 "..:webrtc_common",
52 "../system_wrappers",
53 ]
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000054
kjellander@webrtc.org6d08ca62014-09-07 17:36:10 +000055 if (rtc_build_libyuv) {
kjellander@webrtc.orgce22f132015-02-16 12:47:20 +000056 deps += [ "$rtc_libyuv_dir" ]
Henrik Kjellander57e5fd22015-05-25 12:55:39 +020057 public_deps = [
58 "$rtc_libyuv_dir",
59 ]
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000060 } else {
61 # Need to add a directory normally exported by libyuv.
kjellander@webrtc.orgce22f132015-02-16 12:47:20 +000062 include_dirs += [ "$rtc_libyuv_dir/include" ]
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000063 }
tkchin7d06a8c2016-04-04 14:10:43 -070064
65 if (is_ios || is_mac) {
66 sources += [
67 "corevideo_frame_buffer.cc",
68 "include/corevideo_frame_buffer.h",
69 ]
70 libs = [ "CoreVideo.framework" ]
71 }
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000072}