| # 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("../webrtc.gni") | 
 |  | 
 | rtc_static_library("common_video") { | 
 |   visibility = [ "*" ] | 
 |  | 
 |   sources = [ | 
 |     "bitrate_adjuster.cc", | 
 |     "frame_rate_estimator.cc", | 
 |     "frame_rate_estimator.h", | 
 |     "h264/h264_bitstream_parser.cc", | 
 |     "h264/h264_bitstream_parser.h", | 
 |     "h264/h264_common.cc", | 
 |     "h264/h264_common.h", | 
 |     "h264/pps_parser.cc", | 
 |     "h264/pps_parser.h", | 
 |     "h264/profile_level_id.h", | 
 |     "h264/sps_parser.cc", | 
 |     "h264/sps_parser.h", | 
 |     "h264/sps_vui_rewriter.cc", | 
 |     "h264/sps_vui_rewriter.h", | 
 |     "i420_buffer_pool.cc", | 
 |     "include/bitrate_adjuster.h", | 
 |     "include/i420_buffer_pool.h", | 
 |     "include/incoming_video_stream.h", | 
 |     "include/quality_limitation_reason.h", | 
 |     "include/video_frame.h", | 
 |     "include/video_frame_buffer.h", | 
 |     "incoming_video_stream.cc", | 
 |     "libyuv/include/webrtc_libyuv.h", | 
 |     "libyuv/webrtc_libyuv.cc", | 
 |     "video_frame_buffer.cc", | 
 |     "video_render_frames.cc", | 
 |     "video_render_frames.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     "../api:scoped_refptr", | 
 |     "../api/task_queue", | 
 |     "../api/units:time_delta", | 
 |     "../api/units:timestamp", | 
 |     "../api/video:encoded_image", | 
 |     "../api/video:video_bitrate_allocation", | 
 |     "../api/video:video_bitrate_allocator", | 
 |     "../api/video:video_frame", | 
 |     "../api/video:video_frame_i420", | 
 |     "../api/video:video_rtp_headers", | 
 |     "../api/video_codecs:bitstream_parser_api", | 
 |     "../media:rtc_h264_profile_id", | 
 |     "../rtc_base", | 
 |     "../rtc_base:checks", | 
 |     "../rtc_base:rtc_task_queue", | 
 |     "../rtc_base:safe_minmax", | 
 |     "../system_wrappers:metrics", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |     "//third_party/libyuv", | 
 |   ] | 
 | } | 
 |  | 
 | if (rtc_include_tests) { | 
 |   common_video_resources = [ "../resources/foreman_cif.yuv" ] | 
 |  | 
 |   if (is_ios) { | 
 |     bundle_data("common_video_unittests_bundle_data") { | 
 |       testonly = true | 
 |       sources = common_video_resources | 
 |       outputs = [ | 
 |         "{{bundle_resources_dir}}/{{source_file_part}}", | 
 |       ] | 
 |     } | 
 |   } | 
 |  | 
 |   rtc_test("common_video_unittests") { | 
 |     testonly = true | 
 |  | 
 |     sources = [ | 
 |       "bitrate_adjuster_unittest.cc", | 
 |       "frame_rate_estimator_unittest.cc", | 
 |       "h264/h264_bitstream_parser_unittest.cc", | 
 |       "h264/pps_parser_unittest.cc", | 
 |       "h264/profile_level_id_unittest.cc", | 
 |       "h264/sps_parser_unittest.cc", | 
 |       "h264/sps_vui_rewriter_unittest.cc", | 
 |       "i420_buffer_pool_unittest.cc", | 
 |       "libyuv/libyuv_unittest.cc", | 
 |       "video_frame_unittest.cc", | 
 |     ] | 
 |  | 
 |     deps = [ | 
 |       ":common_video", | 
 |       "../:webrtc_common", | 
 |       "../api:scoped_refptr", | 
 |       "../api/units:time_delta", | 
 |       "../api/video:video_frame", | 
 |       "../api/video:video_frame_i010", | 
 |       "../api/video:video_frame_i420", | 
 |       "../api/video:video_rtp_headers", | 
 |       "../media:rtc_h264_profile_id", | 
 |       "../rtc_base", | 
 |       "../rtc_base:checks", | 
 |       "../rtc_base:rtc_base_approved", | 
 |       "../rtc_base:rtc_base_tests_utils", | 
 |       "../system_wrappers:system_wrappers", | 
 |       "../test:fileutils", | 
 |       "../test:test_main", | 
 |       "../test:test_support", | 
 |       "../test:video_test_common", | 
 |       "//testing/gtest", | 
 |       "//third_party/abseil-cpp/absl/memory", | 
 |       "//third_party/libyuv", | 
 |     ] | 
 |  | 
 |     data = common_video_resources | 
 |     if (is_android) { | 
 |       deps += [ "//testing/android/native_test:native_test_support" ] | 
 |       shard_timeout = 900 | 
 |     } | 
 |  | 
 |     if (is_ios) { | 
 |       deps += [ ":common_video_unittests_bundle_data" ] | 
 |     } | 
 |   } | 
 | } |