| # 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("column_printer") { | 
 |   testonly = true | 
 |   sources = [ | 
 |     "column_printer.cc", | 
 |     "column_printer.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../../rtc_base:macromagic", | 
 |     "../../rtc_base:stringutils", | 
 |     "../logging:log_writer", | 
 |   ] | 
 | } | 
 |  | 
 | if (is_ios || rtc_include_tests) { | 
 |   scenario_resources = [ | 
 |     "../../resources/difficult_photo_1850_1110.yuv", | 
 |     "../../resources/photo_1850_1110.yuv", | 
 |     "../../resources/presentation_1850_1110.yuv", | 
 |     "../../resources/web_screenshot_1850_1110.yuv", | 
 |   ] | 
 |   scenario_unittest_resources = [ "../../resources/foreman_cif.yuv" ] | 
 | } | 
 |  | 
 | if (is_ios) { | 
 |   bundle_data("scenario_resources_bundle_data") { | 
 |     testonly = true | 
 |     sources = scenario_resources | 
 |     outputs = [ | 
 |       "{{bundle_resources_dir}}/{{source_file_part}}", | 
 |     ] | 
 |   } | 
 |   bundle_data("scenario_unittest_resources_bundle_data") { | 
 |     testonly = true | 
 |     sources = scenario_unittest_resources | 
 |     outputs = [ | 
 |       "{{bundle_resources_dir}}/{{source_file_part}}", | 
 |     ] | 
 |   } | 
 | } | 
 | if (rtc_include_tests) { | 
 |   rtc_source_set("scenario") { | 
 |     testonly = true | 
 |     sources = [ | 
 |       "audio_stream.cc", | 
 |       "audio_stream.h", | 
 |       "call_client.cc", | 
 |       "call_client.h", | 
 |       "hardware_codecs.cc", | 
 |       "hardware_codecs.h", | 
 |       "network_node.cc", | 
 |       "network_node.h", | 
 |       "performance_stats.h", | 
 |       "scenario.cc", | 
 |       "scenario.h", | 
 |       "scenario_config.cc", | 
 |       "scenario_config.h", | 
 |       "simulated_time.cc", | 
 |       "simulated_time.h", | 
 |       "stats_collection.cc", | 
 |       "stats_collection.h", | 
 |       "video_frame_matcher.cc", | 
 |       "video_frame_matcher.h", | 
 |       "video_stream.cc", | 
 |       "video_stream.h", | 
 |     ] | 
 |     deps = [ | 
 |       ":column_printer", | 
 |       "../:fake_video_codecs", | 
 |       "../:fileutils", | 
 |       "../:test_common", | 
 |       "../:test_support", | 
 |       "../:video_test_common", | 
 |       "../../api:fec_controller_api", | 
 |       "../../api:libjingle_peerconnection_api", | 
 |       "../../api:transport_api", | 
 |       "../../api/audio_codecs:builtin_audio_decoder_factory", | 
 |       "../../api/audio_codecs:builtin_audio_encoder_factory", | 
 |       "../../api/test/video:function_video_factory", | 
 |       "../../api/transport:network_control", | 
 |       "../../api/units:data_rate", | 
 |       "../../api/units:data_size", | 
 |       "../../api/units:time_delta", | 
 |       "../../api/units:timestamp", | 
 |       "../../api/video:builtin_video_bitrate_allocator_factory", | 
 |       "../../api/video:video_frame", | 
 |       "../../api/video:video_frame_i420", | 
 |       "../../api/video_codecs:video_codecs_api", | 
 |       "../../audio", | 
 |       "../../call", | 
 |       "../../call:call_interfaces", | 
 |       "../../call:rtp_sender", | 
 |       "../../call:simulated_network", | 
 |       "../../call:video_stream_api", | 
 |       "../../common_video", | 
 |       "../../logging:rtc_event_log_api", | 
 |       "../../logging:rtc_event_log_impl_base", | 
 |       "../../logging:rtc_event_log_impl_output", | 
 |       "../../media:rtc_audio_video", | 
 |       "../../media:rtc_internal_video_codecs", | 
 |       "../../media:rtc_media_base", | 
 |       "../../modules/audio_device", | 
 |       "../../modules/audio_device:audio_device_impl", | 
 |       "../../modules/audio_device:mock_audio_device", | 
 |       "../../modules/audio_mixer:audio_mixer_impl", | 
 |       "../../modules/audio_processing", | 
 |       "../../modules/congestion_controller:test_controller_printer", | 
 |       "../../modules/congestion_controller/goog_cc:test_goog_cc_printer", | 
 |       "../../modules/rtp_rtcp", | 
 |       "../../modules/rtp_rtcp:mock_rtp_rtcp", | 
 |       "../../modules/rtp_rtcp:rtp_rtcp_format", | 
 |       "../../modules/video_coding:video_codec_interface", | 
 |       "../../modules/video_coding:video_coding_utility", | 
 |       "../../modules/video_coding:webrtc_h264", | 
 |       "../../modules/video_coding:webrtc_multiplex", | 
 |       "../../modules/video_coding:webrtc_vp8", | 
 |       "../../modules/video_coding:webrtc_vp9", | 
 |       "../../rtc_base", | 
 |       "../../rtc_base:checks", | 
 |       "../../rtc_base:rtc_base_approved", | 
 |       "../../rtc_base:rtc_base_tests_utils", | 
 |       "../../rtc_base:rtc_task_queue", | 
 |       "../../rtc_base:safe_minmax", | 
 |       "../../rtc_base:task_queue_for_test", | 
 |       "../../rtc_base/synchronization:sequence_checker", | 
 |       "../../rtc_base/task_utils:repeating_task", | 
 |       "../../system_wrappers", | 
 |       "../../system_wrappers:field_trial", | 
 |       "../../video", | 
 |       "../logging:log_writer", | 
 |       "../time_controller", | 
 |       "network:emulated_network", | 
 |       "//third_party/abseil-cpp/absl/memory", | 
 |       "//third_party/abseil-cpp/absl/types:optional", | 
 |     ] | 
 |     if (is_android) { | 
 |       deps += [ "../../modules/video_coding:android_codec_factory_helper" ] | 
 |     } else if (is_ios || is_mac) { | 
 |       deps += [ "../../modules/video_coding:objc_codec_factory_helper" ] | 
 |     } | 
 |     if (rtc_enable_protobuf) { | 
 |       deps += [ "../../modules/audio_coding:ana_config_proto" ] | 
 |     } | 
 |     data = scenario_resources | 
 |     if (is_ios) { | 
 |       deps += [ ":scenario_resources_bundle_data" ] | 
 |     } | 
 |   } | 
 |   rtc_source_set("scenario_unittests") { | 
 |     testonly = true | 
 |     sources = [ | 
 |       "scenario_unittest.cc", | 
 |       "stats_collection_unittest.cc", | 
 |       "video_stream_unittest.cc", | 
 |     ] | 
 |     deps = [ | 
 |       ":scenario", | 
 |       "../../logging:mocks", | 
 |       "../../rtc_base:checks", | 
 |       "../../rtc_base:rtc_base_approved", | 
 |       "../../system_wrappers", | 
 |       "../../system_wrappers:field_trial", | 
 |       "../../test:field_trial", | 
 |       "../../test:test_support", | 
 |       "//testing/gmock", | 
 |       "//third_party/abseil-cpp/absl/memory", | 
 |     ] | 
 |     data = scenario_unittest_resources | 
 |     if (is_ios) { | 
 |       deps += [ ":scenario_unittest_resources_bundle_data" ] | 
 |     } | 
 |   } | 
 | } |