| # Copyright (c) 2018 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("../../webrtc.gni") | 
 |  | 
 | rtc_source_set("video_frame") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "color_space.cc", | 
 |     "color_space.h", | 
 |     "video_content_type.cc", | 
 |     "video_content_type.h", | 
 |     "video_frame.cc", | 
 |     "video_frame.h", | 
 |     "video_frame_buffer.cc", | 
 |     "video_frame_buffer.h", | 
 |     "video_rotation.h", | 
 |     "video_sink_interface.h", | 
 |     "video_source_interface.cc", | 
 |     "video_source_interface.h", | 
 |     "video_timing.cc", | 
 |     "video_timing.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     "../../rtc_base:checks", | 
 |     "../../rtc_base:rtc_base_approved", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("video_frame_i420") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "i420_buffer.cc", | 
 |     "i420_buffer.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":video_frame", | 
 |     "../../rtc_base:checks", | 
 |     "../../rtc_base:rtc_base", | 
 |     "../../rtc_base/memory:aligned_malloc", | 
 |     "//third_party/libyuv", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("video_frame_i010") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "i010_buffer.cc", | 
 |     "i010_buffer.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":video_frame", | 
 |     ":video_frame_i420", | 
 |     "../../rtc_base:checks", | 
 |     "../../rtc_base:rtc_base", | 
 |     "../../rtc_base/memory:aligned_malloc", | 
 |     "//third_party/libyuv", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("encoded_frame") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "encoded_frame.cc", | 
 |     "encoded_frame.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     "../../modules/video_coding:encoded_frame", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("video_bitrate_allocation") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "video_bitrate_allocation.cc", | 
 |     "video_bitrate_allocation.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../../rtc_base:checks", | 
 |     "../../rtc_base:safe_conversions", | 
 |     "../../rtc_base:stringutils", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("video_bitrate_allocator") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "video_bitrate_allocator.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":video_bitrate_allocation", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("video_bitrate_allocator_factory") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "video_bitrate_allocator_factory.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":video_bitrate_allocator", | 
 |     "../../media:rtc_media_base", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("video_stream_decoder") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "video_stream_decoder.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":encoded_frame", | 
 |     ":video_frame", | 
 |     "../video_codecs:video_codecs_api", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("video_stream_decoder_create") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "video_stream_decoder_create.cc", | 
 |     "video_stream_decoder_create.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":video_stream_decoder", | 
 |     "../../rtc_base:rtc_base_approved", | 
 |     "../../video:video_stream_decoder_impl", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("video_stream_encoder") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "video_stream_encoder_interface.h", | 
 |     "video_stream_encoder_observer.h", | 
 |     "video_stream_encoder_settings.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":video_frame", | 
 |  | 
 |     # For rtpparameters.h | 
 |     "..:libjingle_peerconnection_api", | 
 |     "../video_codecs:video_codecs_api", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("video_stream_encoder_create") { | 
 |   visibility = [ "*" ] | 
 |   allow_poison = [ "software_video_codecs" ]  # TODO(bugs.webrtc.org/7925): Remove. | 
 |   sources = [ | 
 |     "video_stream_encoder_create.cc", | 
 |     "video_stream_encoder_create.h", | 
 |   ] | 
 |  | 
 |   if (!build_with_chromium && is_clang) { | 
 |     # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). | 
 |     suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] | 
 |   } | 
 |  | 
 |   deps = [ | 
 |     ":video_stream_encoder", | 
 |     "../../rtc_base:ptr_util", | 
 |     "../../video:video_stream_encoder_impl", | 
 |     "../video_codecs:video_codecs_api", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |   ] | 
 | } |