kjellander@webrtc.org | 1227ab8 | 2014-06-23 19:21:07 +0000 | [diff] [blame] | 1 | # 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 | |
mbonadei | 9aa3f0a | 2017-01-24 06:58:22 -0800 | [diff] [blame] | 9 | import("../webrtc.gni") |
kjellander@webrtc.org | 1227ab8 | 2014-06-23 19:21:07 +0000 | [diff] [blame] | 10 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 11 | rtc_library("video") { |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 +0000 | [diff] [blame] | 12 | sources = [ |
Benjamin Wright | 0076529 | 2018-11-30 16:18:26 -0800 | [diff] [blame] | 13 | "buffered_frame_decryptor.cc", |
| 14 | "buffered_frame_decryptor.h", |
Peter Boström | 7623ce4 | 2015-12-09 12:13:30 +0100 | [diff] [blame] | 15 | "call_stats.cc", |
| 16 | "call_stats.h", |
Elad Alon | 14d1c9d | 2019-04-08 14:16:17 +0200 | [diff] [blame] | 17 | "encoder_rtcp_feedback.cc", |
| 18 | "encoder_rtcp_feedback.h", |
Henrik Boström | ce33b6a | 2019-05-28 17:42:38 +0200 | [diff] [blame] | 19 | "quality_limitation_reason_tracker.cc", |
| 20 | "quality_limitation_reason_tracker.h", |
palmkvist | 349092b | 2016-12-13 02:45:57 -0800 | [diff] [blame] | 21 | "quality_threshold.cc", |
| 22 | "quality_threshold.h", |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 +0000 | [diff] [blame] | 23 | "receive_statistics_proxy.cc", |
| 24 | "receive_statistics_proxy.h", |
Peter Boström | 7623ce4 | 2015-12-09 12:13:30 +0100 | [diff] [blame] | 25 | "report_block_stats.cc", |
| 26 | "report_block_stats.h", |
mflodman | 4cd2790 | 2016-08-05 06:28:45 -0700 | [diff] [blame] | 27 | "rtp_streams_synchronizer.cc", |
| 28 | "rtp_streams_synchronizer.h", |
nisse | b1f2ff9 | 2017-06-09 04:01:55 -0700 | [diff] [blame] | 29 | "rtp_video_stream_receiver.cc", |
| 30 | "rtp_video_stream_receiver.h", |
asapersson | 35151f3 | 2016-05-02 23:44:01 -0700 | [diff] [blame] | 31 | "send_delay_stats.cc", |
| 32 | "send_delay_stats.h", |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 +0000 | [diff] [blame] | 33 | "send_statistics_proxy.cc", |
| 34 | "send_statistics_proxy.h", |
asapersson | 0e9d6d9 | 2016-05-23 06:07:55 -0700 | [diff] [blame] | 35 | "stats_counter.cc", |
| 36 | "stats_counter.h", |
Peter Boström | 7623ce4 | 2015-12-09 12:13:30 +0100 | [diff] [blame] | 37 | "stream_synchronization.cc", |
| 38 | "stream_synchronization.h", |
charujain | bf6a45b | 2016-11-03 04:21:42 -0700 | [diff] [blame] | 39 | "transport_adapter.cc", |
| 40 | "transport_adapter.h", |
Ilya Nikolaevskiy | 94150ee | 2018-05-23 11:53:19 +0200 | [diff] [blame] | 41 | "video_quality_observer.cc", |
| 42 | "video_quality_observer.h", |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 +0000 | [diff] [blame] | 43 | "video_receive_stream.cc", |
| 44 | "video_receive_stream.h", |
| 45 | "video_send_stream.cc", |
| 46 | "video_send_stream.h", |
Sebastian Jansson | 8e0b15b | 2018-04-18 19:19:22 +0200 | [diff] [blame] | 47 | "video_send_stream_impl.cc", |
| 48 | "video_send_stream_impl.h", |
mflodman | cfc8e3b | 2016-05-03 21:22:04 -0700 | [diff] [blame] | 49 | "video_stream_decoder.cc", |
| 50 | "video_stream_decoder.h", |
kjellander@webrtc.org | 788f058 | 2014-08-28 13:51:08 +0000 | [diff] [blame] | 51 | ] |
| 52 | |
kwiberg@webrtc.org | ac2d27d | 2015-02-26 13:59:22 +0000 | [diff] [blame] | 53 | deps = [ |
Erik Språng | 96965ae | 2018-10-23 15:42:37 +0200 | [diff] [blame] | 54 | ":frame_dumping_decoder", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 55 | "../api:array_view", |
Ying Wang | 3b790f3 | 2018-01-19 17:58:57 +0100 | [diff] [blame] | 56 | "../api:fec_controller_api", |
Marina Ciocea | 412a31b | 2020-02-28 16:02:06 +0100 | [diff] [blame^] | 57 | "../api:frame_transformer_interface", |
Patrik Höglund | be214a2 | 2018-01-04 12:14:35 +0100 | [diff] [blame] | 58 | "../api:libjingle_peerconnection_api", |
Niels Möller | 6dcd4dc | 2019-08-26 10:45:28 +0200 | [diff] [blame] | 59 | "../api:rtp_parameters", |
Mirko Bonadei | d970807 | 2019-01-25 20:26:48 +0100 | [diff] [blame] | 60 | "../api:scoped_refptr", |
aleloi | a8eb756 | 2016-11-28 07:02:13 -0800 | [diff] [blame] | 61 | "../api:transport_api", |
Mirko Bonadei | eaaaf41 | 2019-09-13 14:42:15 +0200 | [diff] [blame] | 62 | "../api/crypto:frame_decryptor_interface", |
| 63 | "../api/crypto:options", |
Danil Chapovalov | 83bbe91 | 2019-08-07 12:24:53 +0200 | [diff] [blame] | 64 | "../api/rtc_event_log", |
Sebastian Jansson | 74682c1 | 2019-03-01 11:50:20 +0100 | [diff] [blame] | 65 | "../api/task_queue", |
Niels Möller | 65f17ca | 2019-09-12 13:59:36 +0200 | [diff] [blame] | 66 | "../api/transport/media:media_transport_interface", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 67 | "../api/video:encoded_image", |
Markus Handell | 269ac81 | 2019-12-03 14:31:45 +0100 | [diff] [blame] | 68 | "../api/video:recordable_encoded_frame", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 69 | "../api/video:video_bitrate_allocation", |
Jiawei Ou | 4206a0a | 2018-07-20 15:49:43 -0700 | [diff] [blame] | 70 | "../api/video:video_bitrate_allocator", |
Evan Shrubsole | cc62b16 | 2019-09-09 11:26:45 +0200 | [diff] [blame] | 71 | "../api/video:video_codec_constants", |
Niels Möller | c6ce9c5 | 2018-05-11 11:15:30 +0200 | [diff] [blame] | 72 | "../api/video:video_frame", |
| 73 | "../api/video:video_frame_i420", |
Chen Xing | 5d24b16 | 2019-06-10 12:59:38 +0200 | [diff] [blame] | 74 | "../api/video:video_rtp_headers", |
Niels Möller | 0327c2d | 2018-05-21 14:09:31 +0200 | [diff] [blame] | 75 | "../api/video:video_stream_encoder", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 76 | "../api/video:video_stream_encoder_create", |
ilnik | d60d06a | 2017-04-05 03:02:20 -0700 | [diff] [blame] | 77 | "../api/video_codecs:video_codecs_api", |
Mirko Bonadei | 245660a | 2017-10-10 14:38:11 +0200 | [diff] [blame] | 78 | "../call:bitrate_allocator", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 79 | "../call:call_interfaces", |
nisse | d76b7b2 | 2017-06-01 04:02:35 -0700 | [diff] [blame] | 80 | "../call:rtp_interfaces", |
Danil Chapovalov | 1aa7581 | 2019-03-05 11:11:35 +0100 | [diff] [blame] | 81 | "../call:rtp_receiver", # For RtxReceiveStream. |
Stefan Holmer | a2f1533 | 2018-07-11 17:11:31 +0200 | [diff] [blame] | 82 | "../call:rtp_sender", |
aleloi | 440b6d9 | 2017-08-22 05:43:23 -0700 | [diff] [blame] | 83 | "../call:video_stream_api", |
Danil Chapovalov | 1aa7581 | 2019-03-05 11:11:35 +0100 | [diff] [blame] | 84 | "../common_video", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 85 | "../media:rtc_h264_profile_id", |
Danil Chapovalov | 1aa7581 | 2019-03-05 11:11:35 +0100 | [diff] [blame] | 86 | "../modules:module_api", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 87 | "../modules:module_api_public", |
Danil Chapovalov | 1aa7581 | 2019-03-05 11:11:35 +0100 | [diff] [blame] | 88 | "../modules/pacing", |
| 89 | "../modules/remote_bitrate_estimator", |
| 90 | "../modules/rtp_rtcp", |
Mirko Bonadei | b5728d9 | 2017-12-06 07:51:33 +0100 | [diff] [blame] | 91 | "../modules/rtp_rtcp:rtp_rtcp_format", |
philipel | 1a4746a | 2018-07-09 15:52:29 +0200 | [diff] [blame] | 92 | "../modules/rtp_rtcp:rtp_video_header", |
Danil Chapovalov | 1aa7581 | 2019-03-05 11:11:35 +0100 | [diff] [blame] | 93 | "../modules/utility", |
| 94 | "../modules/video_coding", |
Sergey Silkin | 8668496 | 2018-03-28 19:32:37 +0200 | [diff] [blame] | 95 | "../modules/video_coding:codec_globals_headers", |
Ilya Nikolaevskiy | 8643b78 | 2018-06-07 16:15:40 +0200 | [diff] [blame] | 96 | "../modules/video_coding:nack_module", |
Patrik Höglund | 99175c6 | 2018-01-08 11:05:10 +0100 | [diff] [blame] | 97 | "../modules/video_coding:video_codec_interface", |
Danil Chapovalov | 1aa7581 | 2019-03-05 11:11:35 +0100 | [diff] [blame] | 98 | "../modules/video_coding:video_coding_utility", |
| 99 | "../modules/video_processing", |
Patrik Höglund | a8005cf | 2017-12-13 16:05:42 +0100 | [diff] [blame] | 100 | "../rtc_base:checks", |
Stefan Holmer | dbdb3a0 | 2018-07-17 16:03:46 +0200 | [diff] [blame] | 101 | "../rtc_base:rate_limiter", |
Danil Chapovalov | 1aa7581 | 2019-03-05 11:11:35 +0100 | [diff] [blame] | 102 | "../rtc_base:rtc_base_approved", |
| 103 | "../rtc_base:rtc_numerics", |
| 104 | "../rtc_base:rtc_task_queue", |
Tommi | fef0500 | 2018-02-27 13:51:08 +0100 | [diff] [blame] | 105 | "../rtc_base:stringutils", |
Danil Chapovalov | 1aa7581 | 2019-03-05 11:11:35 +0100 | [diff] [blame] | 106 | "../rtc_base:weak_ptr", |
Sebastian Jansson | cabe383 | 2018-01-12 10:54:18 +0100 | [diff] [blame] | 107 | "../rtc_base/experiments:alr_experiment", |
Jonas Olsson | 0182a03 | 2019-07-09 12:31:20 +0200 | [diff] [blame] | 108 | "../rtc_base/experiments:field_trial_parser", |
Rasmus Brandt | 3dde450 | 2019-03-21 11:46:17 +0100 | [diff] [blame] | 109 | "../rtc_base/experiments:keyframe_interval_settings_experiment", |
Elad Alon | 80f53b7 | 2019-10-11 16:19:43 +0200 | [diff] [blame] | 110 | "../rtc_base/experiments:min_video_bitrate_experiment", |
Åsa Persson | a945aee | 2018-04-24 16:53:25 +0200 | [diff] [blame] | 111 | "../rtc_base/experiments:quality_scaling_experiment", |
Erik Språng | cd76eab | 2019-01-21 18:06:46 +0100 | [diff] [blame] | 112 | "../rtc_base/experiments:rate_control_settings", |
Sebastian Jansson | b55015e | 2019-04-09 13:44:04 +0200 | [diff] [blame] | 113 | "../rtc_base/synchronization:sequence_checker", |
Karl Wiberg | ab03638 | 2019-03-12 18:01:51 +0100 | [diff] [blame] | 114 | "../rtc_base/system:thread_registry", |
Sebastian Jansson | ecb6897 | 2019-01-18 10:30:54 +0100 | [diff] [blame] | 115 | "../rtc_base/task_utils:repeating_task", |
Danil Chapovalov | 1aa7581 | 2019-03-05 11:11:35 +0100 | [diff] [blame] | 116 | "../rtc_base/task_utils:to_queued_task", |
| 117 | "../rtc_base/time:timestamp_extrapolator", |
| 118 | "../system_wrappers", |
Mirko Bonadei | 17f4878 | 2018-09-28 08:51:10 +0200 | [diff] [blame] | 119 | "../system_wrappers:field_trial", |
| 120 | "../system_wrappers:metrics", |
Steve Anton | bd631a0 | 2019-03-28 10:51:27 -0700 | [diff] [blame] | 121 | "//third_party/abseil-cpp/absl/algorithm:container", |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 122 | "//third_party/abseil-cpp/absl/base:core_headers", |
Karl Wiberg | 918f50c | 2018-07-05 11:40:33 +0200 | [diff] [blame] | 123 | "//third_party/abseil-cpp/absl/memory", |
Danil Chapovalov | b9b146c | 2018-06-15 12:28:07 +0200 | [diff] [blame] | 124 | "//third_party/abseil-cpp/absl/types:optional", |
kwiberg@webrtc.org | ac2d27d | 2015-02-26 13:59:22 +0000 | [diff] [blame] | 125 | ] |
Dan Minor | 9c68613 | 2018-01-15 10:20:00 -0500 | [diff] [blame] | 126 | |
| 127 | if (!build_with_mozilla) { |
| 128 | deps += [ "../media:rtc_media_base" ] |
| 129 | } |
kjellander@webrtc.org | 1227ab8 | 2014-06-23 19:21:07 +0000 | [diff] [blame] | 130 | } |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 131 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 132 | rtc_library("video_stream_decoder_impl") { |
philipel | 2fee4d6 | 2018-03-21 16:52:13 +0100 | [diff] [blame] | 133 | visibility = [ "*" ] |
Anders Carlsson | 51e23ae | 2018-05-24 13:31:30 +0200 | [diff] [blame] | 134 | |
philipel | 2fee4d6 | 2018-03-21 16:52:13 +0100 | [diff] [blame] | 135 | sources = [ |
| 136 | "video_stream_decoder_impl.cc", |
| 137 | "video_stream_decoder_impl.h", |
| 138 | ] |
| 139 | |
| 140 | deps = [ |
Danil Chapovalov | 471783f | 2019-03-11 14:26:02 +0100 | [diff] [blame] | 141 | "../api/task_queue", |
Niels Möller | c6ce9c5 | 2018-05-11 11:15:30 +0200 | [diff] [blame] | 142 | "../api/video:encoded_frame", |
| 143 | "../api/video:video_frame", |
Chen Xing | 5d24b16 | 2019-06-10 12:59:38 +0200 | [diff] [blame] | 144 | "../api/video:video_rtp_headers", |
Niels Möller | c6ce9c5 | 2018-05-11 11:15:30 +0200 | [diff] [blame] | 145 | "../api/video:video_stream_decoder", |
philipel | 2fee4d6 | 2018-03-21 16:52:13 +0100 | [diff] [blame] | 146 | "../api/video_codecs:video_codecs_api", |
Artem Titov | 94b57c0 | 2019-03-21 13:35:10 +0100 | [diff] [blame] | 147 | "../modules/video_coding", |
philipel | 2fee4d6 | 2018-03-21 16:52:13 +0100 | [diff] [blame] | 148 | "../rtc_base:rtc_base_approved", |
Danil Chapovalov | 07a4f2b | 2019-03-05 19:58:28 +0100 | [diff] [blame] | 149 | "../rtc_base:rtc_task_queue", |
Artem Titov | 94b57c0 | 2019-03-21 13:35:10 +0100 | [diff] [blame] | 150 | "../system_wrappers", |
Danil Chapovalov | b9b146c | 2018-06-15 12:28:07 +0200 | [diff] [blame] | 151 | "//third_party/abseil-cpp/absl/types:optional", |
philipel | 2fee4d6 | 2018-03-21 16:52:13 +0100 | [diff] [blame] | 152 | ] |
philipel | 2fee4d6 | 2018-03-21 16:52:13 +0100 | [diff] [blame] | 153 | } |
| 154 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 155 | rtc_library("frame_dumping_decoder") { |
Erik Språng | 96965ae | 2018-10-23 15:42:37 +0200 | [diff] [blame] | 156 | visibility = [ "*" ] |
| 157 | |
| 158 | sources = [ |
| 159 | "frame_dumping_decoder.cc", |
| 160 | "frame_dumping_decoder.h", |
| 161 | ] |
| 162 | |
| 163 | deps = [ |
| 164 | "../api/video:encoded_frame", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 165 | "../api/video:encoded_image", |
Erik Språng | 96965ae | 2018-10-23 15:42:37 +0200 | [diff] [blame] | 166 | "../api/video_codecs:video_codecs_api", |
Artem Titov | 94b57c0 | 2019-03-21 13:35:10 +0100 | [diff] [blame] | 167 | "../modules/video_coding", |
Erik Språng | 96965ae | 2018-10-23 15:42:37 +0200 | [diff] [blame] | 168 | "../modules/video_coding:video_codec_interface", |
Erik Språng | 96965ae | 2018-10-23 15:42:37 +0200 | [diff] [blame] | 169 | "../modules/video_coding:video_coding_utility", |
| 170 | "../rtc_base:rtc_base_approved", |
Markus Handell | 1c2f637 | 2019-08-20 20:21:37 +0200 | [diff] [blame] | 171 | "../rtc_base/system:file_wrapper", |
Erik Språng | 96965ae | 2018-10-23 15:42:37 +0200 | [diff] [blame] | 172 | ] |
| 173 | } |
| 174 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 175 | rtc_library("video_stream_encoder_impl") { |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 176 | visibility = [ "*" ] |
| 177 | |
| 178 | # visibility = [ "../api/video:video_stream_encoder_create" ] |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 179 | sources = [ |
Henrik Boström | 0653485 | 2020-02-06 14:27:00 +0100 | [diff] [blame] | 180 | "encode_usage_resource.cc", |
| 181 | "encode_usage_resource.h", |
Erik Språng | 7ca375c | 2019-02-06 16:20:17 +0100 | [diff] [blame] | 182 | "encoder_bitrate_adjuster.cc", |
| 183 | "encoder_bitrate_adjuster.h", |
| 184 | "encoder_overshoot_detector.cc", |
| 185 | "encoder_overshoot_detector.h", |
Ilya Nikolaevskiy | 2ebf523 | 2019-05-13 16:13:36 +0200 | [diff] [blame] | 186 | "frame_encode_metadata_writer.cc", |
| 187 | "frame_encode_metadata_writer.h", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 188 | "overuse_frame_detector.cc", |
| 189 | "overuse_frame_detector.h", |
Henrik Boström | b08882b | 2020-01-07 10:11:17 +0100 | [diff] [blame] | 190 | "overuse_frame_detector_resource_adaptation_module.cc", |
| 191 | "overuse_frame_detector_resource_adaptation_module.h", |
Henrik Boström | 0653485 | 2020-02-06 14:27:00 +0100 | [diff] [blame] | 192 | "quality_scaler_resource.cc", |
| 193 | "quality_scaler_resource.h", |
Henrik Boström | ce0ea49 | 2020-01-13 11:27:18 +0100 | [diff] [blame] | 194 | "video_source_sink_controller.cc", |
| 195 | "video_source_sink_controller.h", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 196 | "video_stream_encoder.cc", |
| 197 | "video_stream_encoder.h", |
| 198 | ] |
| 199 | |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 200 | deps = [ |
Henrik Boström | b08882b | 2020-01-07 10:11:17 +0100 | [diff] [blame] | 201 | "../api:rtp_parameters", |
Henrik Boström | 07b17df | 2020-01-15 11:42:12 +0100 | [diff] [blame] | 202 | "../api/task_queue:task_queue", |
Erik Språng | 7ca375c | 2019-02-06 16:20:17 +0100 | [diff] [blame] | 203 | "../api/units:data_rate", |
Niels Möller | 4dc66c5 | 2018-10-05 14:17:58 +0200 | [diff] [blame] | 204 | "../api/video:encoded_image", |
Erik Språng | 7ca375c | 2019-02-06 16:20:17 +0100 | [diff] [blame] | 205 | "../api/video:video_bitrate_allocation", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 206 | "../api/video:video_bitrate_allocator", |
Jiawei Ou | c2ebe21 | 2018-11-08 10:02:56 -0800 | [diff] [blame] | 207 | "../api/video:video_bitrate_allocator_factory", |
Evan Shrubsole | cc62b16 | 2019-09-09 11:26:45 +0200 | [diff] [blame] | 208 | "../api/video:video_codec_constants", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 209 | "../api/video:video_frame", |
| 210 | "../api/video:video_frame_i420", |
Chen Xing | 5d24b16 | 2019-06-10 12:59:38 +0200 | [diff] [blame] | 211 | "../api/video:video_rtp_headers", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 212 | "../api/video:video_stream_encoder", |
| 213 | "../api/video_codecs:video_codecs_api", |
Henrik Boström | 382cc6d | 2020-01-07 10:15:04 +0100 | [diff] [blame] | 214 | "../call/adaptation:resource_adaptation", |
Artem Titov | 94b57c0 | 2019-03-21 13:35:10 +0100 | [diff] [blame] | 215 | "../common_video", |
Erik Språng | 6a7baa7 | 2019-02-26 18:31:00 +0100 | [diff] [blame] | 216 | "../modules:module_api_public", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 217 | "../modules/video_coding", |
Erik Språng | 6a7baa7 | 2019-02-26 18:31:00 +0100 | [diff] [blame] | 218 | "../modules/video_coding:video_codec_interface", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 219 | "../modules/video_coding:video_coding_utility", |
Sergey Silkin | 8b9b5f9 | 2018-12-10 09:28:53 +0100 | [diff] [blame] | 220 | "../modules/video_coding:webrtc_vp9_helpers", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 221 | "../rtc_base:checks", |
| 222 | "../rtc_base:criticalsection", |
| 223 | "../rtc_base:logging", |
| 224 | "../rtc_base:macromagic", |
| 225 | "../rtc_base:rtc_base_approved", |
| 226 | "../rtc_base:rtc_event", |
| 227 | "../rtc_base:rtc_numerics", |
| 228 | "../rtc_base:rtc_task_queue", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 229 | "../rtc_base:timeutils", |
Erik Språng | 6a7baa7 | 2019-02-26 18:31:00 +0100 | [diff] [blame] | 230 | "../rtc_base/experiments:alr_experiment", |
Åsa Persson | f3d828e | 2019-05-06 12:22:49 +0200 | [diff] [blame] | 231 | "../rtc_base/experiments:balanced_degradation_settings", |
Niels Möller | eea9288 | 2019-04-25 08:44:04 +0200 | [diff] [blame] | 232 | "../rtc_base/experiments:field_trial_parser", |
Åsa Persson | e644a03 | 2019-11-08 15:56:00 +0100 | [diff] [blame] | 233 | "../rtc_base/experiments:quality_rampup_experiment", |
Åsa Persson | 139f4dc | 2019-08-02 09:29:58 +0200 | [diff] [blame] | 234 | "../rtc_base/experiments:quality_scaler_settings", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 235 | "../rtc_base/experiments:quality_scaling_experiment", |
Erik Språng | 7ca375c | 2019-02-06 16:20:17 +0100 | [diff] [blame] | 236 | "../rtc_base/experiments:rate_control_settings", |
Sebastian Jansson | b55015e | 2019-04-09 13:44:04 +0200 | [diff] [blame] | 237 | "../rtc_base/synchronization:sequence_checker", |
Sebastian Jansson | ecb6897 | 2019-01-18 10:30:54 +0100 | [diff] [blame] | 238 | "../rtc_base/task_utils:repeating_task", |
Niels Möller | fe407b7 | 2019-09-10 10:48:48 +0200 | [diff] [blame] | 239 | "../system_wrappers", |
Mirko Bonadei | 17f4878 | 2018-09-28 08:51:10 +0200 | [diff] [blame] | 240 | "../system_wrappers:field_trial", |
Steve Anton | bd631a0 | 2019-03-28 10:51:27 -0700 | [diff] [blame] | 241 | "//third_party/abseil-cpp/absl/algorithm:container", |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 242 | "//third_party/abseil-cpp/absl/base:core_headers", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 243 | "//third_party/abseil-cpp/absl/types:optional", |
| 244 | ] |
| 245 | } |
| 246 | |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 247 | if (rtc_include_tests) { |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 248 | rtc_library("video_mocks") { |
Sebastian Jansson | 652dc91 | 2018-04-19 17:09:15 +0200 | [diff] [blame] | 249 | testonly = true |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 250 | sources = [ "test/mock_video_stream_encoder.h" ] |
Sebastian Jansson | 652dc91 | 2018-04-19 17:09:15 +0200 | [diff] [blame] | 251 | deps = [ |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 252 | "../api/video:video_stream_encoder", |
Sebastian Jansson | 652dc91 | 2018-04-19 17:09:15 +0200 | [diff] [blame] | 253 | "../test:test_support", |
| 254 | ] |
| 255 | } |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 256 | rtc_library("video_quality_test") { |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 257 | testonly = true |
Patrik Höglund | b6b29e0 | 2018-06-21 16:58:01 +0200 | [diff] [blame] | 258 | |
| 259 | # Only targets in this file and api/ can depend on this. |
| 260 | visibility = [ |
| 261 | ":*", |
| 262 | "../api:create_video_quality_test_fixture_api", |
| 263 | ] |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 264 | sources = [ |
Sebastian Jansson | d4c5d63 | 2018-07-10 12:57:37 +0200 | [diff] [blame] | 265 | "video_analyzer.cc", |
| 266 | "video_analyzer.h", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 267 | "video_quality_test.cc", |
| 268 | "video_quality_test.h", |
| 269 | ] |
| 270 | deps = [ |
Erik Språng | 96965ae | 2018-10-23 15:42:37 +0200 | [diff] [blame] | 271 | ":frame_dumping_decoder", |
Artem Titov | 33f9d2b | 2019-12-05 15:59:00 +0100 | [diff] [blame] | 272 | "../api:create_frame_generator", |
Patrik Höglund | b6b29e0 | 2018-06-21 16:58:01 +0200 | [diff] [blame] | 273 | "../api:fec_controller_api", |
Artem Titov | 33f9d2b | 2019-12-05 15:59:00 +0100 | [diff] [blame] | 274 | "../api:frame_generator_api", |
Anton Sukhanov | 4f08faa | 2019-05-21 11:12:57 -0700 | [diff] [blame] | 275 | "../api:libjingle_peerconnection_api", |
Niels Möller | d8b9ed7 | 2019-05-08 13:53:51 +0200 | [diff] [blame] | 276 | "../api:rtc_event_log_output_file", |
Patrik Höglund | d8f3c17 | 2018-09-26 14:39:17 +0200 | [diff] [blame] | 277 | "../api:test_dependency_factory", |
Patrik Höglund | b6b29e0 | 2018-06-21 16:58:01 +0200 | [diff] [blame] | 278 | "../api:video_quality_test_fixture_api", |
Danil Chapovalov | 4ba04b7 | 2019-06-26 15:49:47 +0200 | [diff] [blame] | 279 | "../api/rtc_event_log:rtc_event_log_factory", |
Danil Chapovalov | 1c41be6 | 2019-04-01 09:16:12 +0200 | [diff] [blame] | 280 | "../api/task_queue", |
| 281 | "../api/task_queue:default_task_queue_factory", |
Niels Möller | 65f17ca | 2019-09-12 13:59:36 +0200 | [diff] [blame] | 282 | "../api/transport/media:media_transport_interface", |
Jiawei Ou | c2ebe21 | 2018-11-08 10:02:56 -0800 | [diff] [blame] | 283 | "../api/video:builtin_video_bitrate_allocator_factory", |
| 284 | "../api/video:video_bitrate_allocator_factory", |
Niels Möller | 1c931c4 | 2018-12-18 16:08:11 +0100 | [diff] [blame] | 285 | "../api/video:video_frame", |
Chen Xing | 5d24b16 | 2019-06-10 12:59:38 +0200 | [diff] [blame] | 286 | "../api/video:video_rtp_headers", |
Elad Alon | 370f93a | 2019-06-11 14:57:57 +0200 | [diff] [blame] | 287 | "../api/video_codecs:video_codecs_api", |
Patrik Höglund | b6b29e0 | 2018-06-21 16:58:01 +0200 | [diff] [blame] | 288 | "../call:fake_network", |
Artem Titov | dd2eebe | 2018-08-20 13:27:45 +0200 | [diff] [blame] | 289 | "../call:simulated_network", |
Niels Möller | 1c931c4 | 2018-12-18 16:08:11 +0100 | [diff] [blame] | 290 | "../common_video", |
Mirko Bonadei | 5f99e65 | 2017-12-19 13:40:40 +0100 | [diff] [blame] | 291 | "../media:rtc_audio_video", |
Florent Castelli | e7862cc | 2018-12-06 13:38:24 +0100 | [diff] [blame] | 292 | "../media:rtc_encoder_simulcast_proxy", |
Anders Carlsson | a114c88 | 2018-01-04 15:10:22 +0100 | [diff] [blame] | 293 | "../media:rtc_internal_video_codecs", |
henrika | 255750b | 2018-08-27 16:13:37 +0200 | [diff] [blame] | 294 | "../modules/audio_device:audio_device_api", |
| 295 | "../modules/audio_device:audio_device_module_from_input_and_output", |
| 296 | "../modules/audio_device:windows_core_audio_utility", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 297 | "../modules/audio_mixer:audio_mixer_impl", |
| 298 | "../modules/rtp_rtcp", |
Danil Chapovalov | b57fe17 | 2019-12-11 09:38:44 +0100 | [diff] [blame] | 299 | "../modules/rtp_rtcp:rtp_rtcp_format", |
Artem Titov | 94b57c0 | 2019-03-21 13:35:10 +0100 | [diff] [blame] | 300 | "../modules/video_coding", |
Niels Möller | 1beef1a | 2018-09-03 14:21:44 +0200 | [diff] [blame] | 301 | "../modules/video_coding:video_coding_utility", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 302 | "../modules/video_coding:webrtc_h264", |
Emircan Uysaler | 03e6ec9 | 2018-03-09 15:03:26 -0800 | [diff] [blame] | 303 | "../modules/video_coding:webrtc_multiplex", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 304 | "../modules/video_coding:webrtc_vp8", |
| 305 | "../modules/video_coding:webrtc_vp9", |
mbonadei | 95c8f65 | 2017-08-27 23:40:10 -0700 | [diff] [blame] | 306 | "../rtc_base:rtc_base_approved", |
ehmaldonado | f6a861a | 2017-07-19 10:40:47 -0700 | [diff] [blame] | 307 | "../rtc_base:rtc_base_tests_utils", |
Yves Gerey | 79e9f4b | 2019-04-13 18:59:53 +0200 | [diff] [blame] | 308 | "../rtc_base:rtc_numerics", |
Danil Chapovalov | 82a3f0a | 2019-10-21 09:24:27 +0200 | [diff] [blame] | 309 | "../rtc_base:task_queue_for_test", |
Danil Chapovalov | 9cd53b4 | 2019-10-21 13:36:59 +0200 | [diff] [blame] | 310 | "../rtc_base/task_utils:repeating_task", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 311 | "../system_wrappers", |
Emircan Uysaler | 7c03bdc | 2019-01-16 15:07:56 -0500 | [diff] [blame] | 312 | "../test:fake_video_codecs", |
Patrik Höglund | 7696bef | 2018-03-15 15:05:39 +0100 | [diff] [blame] | 313 | "../test:fileutils", |
Edward Lemur | e66572b | 2018-01-05 15:34:09 +0100 | [diff] [blame] | 314 | "../test:perf_test", |
Kári Tristan Helgason | ede7cb2 | 2019-03-06 10:34:09 +0100 | [diff] [blame] | 315 | "../test:platform_video_capturer", |
Jianjun Zhu | 037f3e4 | 2017-08-15 21:48:37 +0800 | [diff] [blame] | 316 | "../test:rtp_test_utils", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 317 | "../test:test_common", |
jianjun.zhu | c024740 | 2017-07-11 06:20:45 -0700 | [diff] [blame] | 318 | "../test:test_renderer", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 319 | "../test:test_support", |
Edward Lemur | af8659a | 2017-09-27 14:46:24 +0200 | [diff] [blame] | 320 | "../test:test_support_test_artifacts", |
jianjun.zhu | c024740 | 2017-07-11 06:20:45 -0700 | [diff] [blame] | 321 | "../test:video_test_common", |
ilnik | 59cac99 | 2017-07-25 05:45:03 -0700 | [diff] [blame] | 322 | "../test:video_test_support", |
Steve Anton | bd631a0 | 2019-03-28 10:51:27 -0700 | [diff] [blame] | 323 | "//third_party/abseil-cpp/absl/algorithm:container", |
Mirko Bonadei | 2ab97f6 | 2019-07-18 13:44:12 +0200 | [diff] [blame] | 324 | "//third_party/abseil-cpp/absl/flags:flag", |
| 325 | "//third_party/abseil-cpp/absl/flags:parse", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 326 | ] |
Kári Tristan Helgason | ede7cb2 | 2019-03-06 10:34:09 +0100 | [diff] [blame] | 327 | |
| 328 | if (is_mac || is_ios) { |
| 329 | deps += [ "../test:video_test_mac" ] |
| 330 | } |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 331 | } |
| 332 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 333 | rtc_library("video_full_stack_tests") { |
ehmaldonado | 021eef3 | 2017-01-05 07:09:50 -0800 | [diff] [blame] | 334 | testonly = true |
kjellander | e0629c0 | 2017-04-25 04:04:50 -0700 | [diff] [blame] | 335 | |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 336 | sources = [ "full_stack_tests.cc" ] |
ehmaldonado | 021eef3 | 2017-01-05 07:09:50 -0800 | [diff] [blame] | 337 | deps = [ |
| 338 | ":video_quality_test", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 339 | "../api:simulated_network_api", |
Patrik Höglund | d8f3c17 | 2018-09-26 14:39:17 +0200 | [diff] [blame] | 340 | "../api:test_dependency_factory", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 341 | "../api:video_quality_test_fixture_api", |
| 342 | "../api/video_codecs:video_codecs_api", |
Emircan Uysaler | 0823eec | 2018-07-13 17:10:00 -0700 | [diff] [blame] | 343 | "../media:rtc_vp9_profile", |
Artem Titov | 94b57c0 | 2019-03-21 13:35:10 +0100 | [diff] [blame] | 344 | "../modules/pacing", |
Emircan Uysaler | 0823eec | 2018-07-13 17:10:00 -0700 | [diff] [blame] | 345 | "../modules/video_coding:webrtc_vp9", |
Sebastian Jansson | cabe383 | 2018-01-12 10:54:18 +0100 | [diff] [blame] | 346 | "../rtc_base/experiments:alr_experiment", |
Mirko Bonadei | 17f4878 | 2018-09-28 08:51:10 +0200 | [diff] [blame] | 347 | "../system_wrappers:field_trial", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 348 | "../test:field_trial", |
Rasmus Brandt | 3c589be | 2019-03-13 11:32:40 +0100 | [diff] [blame] | 349 | "../test:fileutils", |
jianjun.zhu | c024740 | 2017-07-11 06:20:45 -0700 | [diff] [blame] | 350 | "../test:test_common", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 351 | "../test:test_support", |
ehmaldonado | 021eef3 | 2017-01-05 07:09:50 -0800 | [diff] [blame] | 352 | "//testing/gtest", |
Mirko Bonadei | 2ab97f6 | 2019-07-18 13:44:12 +0200 | [diff] [blame] | 353 | "//third_party/abseil-cpp/absl/flags:flag", |
| 354 | "//third_party/abseil-cpp/absl/flags:parse", |
ehmaldonado | 021eef3 | 2017-01-05 07:09:50 -0800 | [diff] [blame] | 355 | ] |
ehmaldonado | 021eef3 | 2017-01-05 07:09:50 -0800 | [diff] [blame] | 356 | } |
| 357 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 358 | rtc_library("video_pc_full_stack_tests") { |
Artem Titov | 137f6c8 | 2019-05-17 10:51:15 +0200 | [diff] [blame] | 359 | testonly = true |
| 360 | |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 361 | sources = [ "pc_full_stack_tests.cc" ] |
Artem Titov | 137f6c8 | 2019-05-17 10:51:15 +0200 | [diff] [blame] | 362 | deps = [ |
| 363 | "../api:create_network_emulation_manager", |
| 364 | "../api:create_peerconnection_quality_test_fixture", |
| 365 | "../api:network_emulation_manager_api", |
| 366 | "../api:peer_connection_quality_test_fixture_api", |
| 367 | "../api:simulated_network_api", |
| 368 | "../call:simulated_network", |
| 369 | "../media:rtc_vp9_profile", |
| 370 | "../modules/video_coding:webrtc_vp9", |
| 371 | "../system_wrappers:field_trial", |
| 372 | "../test:field_trial", |
| 373 | "../test:fileutils", |
| 374 | "../test:test_support", |
| 375 | "../test/pc/e2e:network_quality_metrics_reporter", |
Artem Titov | 137f6c8 | 2019-05-17 10:51:15 +0200 | [diff] [blame] | 376 | ] |
| 377 | } |
| 378 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 379 | rtc_library("video_loopback_lib") { |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 380 | testonly = true |
| 381 | sources = [ |
| 382 | "video_loopback.cc", |
Kári Tristan Helgason | ede7cb2 | 2019-03-06 10:34:09 +0100 | [diff] [blame] | 383 | "video_loopback.h", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 384 | ] |
| 385 | deps = [ |
| 386 | ":video_quality_test", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 387 | "../api:libjingle_peerconnection_api", |
| 388 | "../api:simulated_network_api", |
| 389 | "../api:video_quality_test_fixture_api", |
Mirko Bonadei | 738bfa7 | 2019-09-17 14:47:38 +0200 | [diff] [blame] | 390 | "../api/transport:bitrate_settings", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 391 | "../api/video_codecs:video_codecs_api", |
| 392 | "../rtc_base:checks", |
Mirko Bonadei | 45a4c41 | 2018-07-31 15:07:28 +0200 | [diff] [blame] | 393 | "../rtc_base:logging", |
Mirko Bonadei | 17f4878 | 2018-09-28 08:51:10 +0200 | [diff] [blame] | 394 | "../system_wrappers:field_trial", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 395 | "../test:field_trial", |
| 396 | "../test:run_test", |
mbonadei | 9c296b3 | 2017-09-05 05:11:41 -0700 | [diff] [blame] | 397 | "../test:run_test_interface", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 398 | "../test:test_common", |
| 399 | "../test:test_renderer", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 400 | "../test:test_support", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 401 | "//testing/gtest", |
Mirko Bonadei | 2ab97f6 | 2019-07-18 13:44:12 +0200 | [diff] [blame] | 402 | "//third_party/abseil-cpp/absl/flags:flag", |
| 403 | "//third_party/abseil-cpp/absl/flags:parse", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 404 | ] |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 405 | } |
| 406 | |
Kári Tristan Helgason | ede7cb2 | 2019-03-06 10:34:09 +0100 | [diff] [blame] | 407 | if (is_mac) { |
| 408 | mac_app_bundle("video_loopback") { |
| 409 | testonly = true |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 410 | sources = [ "video_loopback_main.mm" ] |
Kári Tristan Helgason | ede7cb2 | 2019-03-06 10:34:09 +0100 | [diff] [blame] | 411 | info_plist = "../test/mac/Info.plist" |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 412 | deps = [ ":video_loopback_lib" ] |
Kári Tristan Helgason | ede7cb2 | 2019-03-06 10:34:09 +0100 | [diff] [blame] | 413 | } |
| 414 | } else { |
| 415 | rtc_executable("video_loopback") { |
| 416 | testonly = true |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 417 | sources = [ "video_loopback_main.cc" ] |
| 418 | deps = [ ":video_loopback_lib" ] |
Kári Tristan Helgason | ede7cb2 | 2019-03-06 10:34:09 +0100 | [diff] [blame] | 419 | } |
| 420 | } |
| 421 | |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 422 | rtc_executable("screenshare_loopback") { |
| 423 | testonly = true |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 424 | sources = [ "screenshare_loopback.cc" ] |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 425 | |
| 426 | deps = [ |
| 427 | ":video_quality_test", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 428 | "../api:libjingle_peerconnection_api", |
| 429 | "../api:simulated_network_api", |
| 430 | "../api:video_quality_test_fixture_api", |
Mirko Bonadei | 738bfa7 | 2019-09-17 14:47:38 +0200 | [diff] [blame] | 431 | "../api/transport:bitrate_settings", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 432 | "../api/video_codecs:video_codecs_api", |
| 433 | "../rtc_base:checks", |
Mirko Bonadei | 45a4c41 | 2018-07-31 15:07:28 +0200 | [diff] [blame] | 434 | "../rtc_base:logging", |
Mirko Bonadei | 2ab97f6 | 2019-07-18 13:44:12 +0200 | [diff] [blame] | 435 | "../rtc_base:stringutils", |
Mirko Bonadei | 17f4878 | 2018-09-28 08:51:10 +0200 | [diff] [blame] | 436 | "../system_wrappers:field_trial", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 437 | "../test:field_trial", |
| 438 | "../test:run_test", |
mbonadei | 9c296b3 | 2017-09-05 05:11:41 -0700 | [diff] [blame] | 439 | "../test:run_test_interface", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 440 | "../test:test_common", |
| 441 | "../test:test_renderer", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 442 | "../test:test_support", |
Mirko Bonadei | 2ab97f6 | 2019-07-18 13:44:12 +0200 | [diff] [blame] | 443 | "//third_party/abseil-cpp/absl/flags:flag", |
| 444 | "//third_party/abseil-cpp/absl/flags:parse", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 445 | "//third_party/abseil-cpp/absl/types:optional", |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 446 | ] |
kjellander | a3cac05 | 2016-10-24 01:52:39 -0700 | [diff] [blame] | 447 | } |
| 448 | |
Ilya Nikolaevskiy | 255d1cd | 2017-12-21 18:02:59 +0100 | [diff] [blame] | 449 | rtc_executable("sv_loopback") { |
| 450 | testonly = true |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 451 | sources = [ "sv_loopback.cc" ] |
Ilya Nikolaevskiy | 255d1cd | 2017-12-21 18:02:59 +0100 | [diff] [blame] | 452 | deps = [ |
| 453 | ":video_quality_test", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 454 | "../api:libjingle_peerconnection_api", |
| 455 | "../api:simulated_network_api", |
| 456 | "../api:video_quality_test_fixture_api", |
Mirko Bonadei | 738bfa7 | 2019-09-17 14:47:38 +0200 | [diff] [blame] | 457 | "../api/transport:bitrate_settings", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 458 | "../api/video_codecs:video_codecs_api", |
| 459 | "../rtc_base:checks", |
Mirko Bonadei | 45a4c41 | 2018-07-31 15:07:28 +0200 | [diff] [blame] | 460 | "../rtc_base:logging", |
Mirko Bonadei | 2ab97f6 | 2019-07-18 13:44:12 +0200 | [diff] [blame] | 461 | "../rtc_base:stringutils", |
Mirko Bonadei | 17f4878 | 2018-09-28 08:51:10 +0200 | [diff] [blame] | 462 | "../system_wrappers:field_trial", |
Ilya Nikolaevskiy | 255d1cd | 2017-12-21 18:02:59 +0100 | [diff] [blame] | 463 | "../test:field_trial", |
| 464 | "../test:run_test", |
| 465 | "../test:run_test_interface", |
| 466 | "../test:test_common", |
| 467 | "../test:test_renderer", |
| 468 | "../test:test_support", |
Ilya Nikolaevskiy | 255d1cd | 2017-12-21 18:02:59 +0100 | [diff] [blame] | 469 | "//testing/gtest", |
Mirko Bonadei | 2ab97f6 | 2019-07-18 13:44:12 +0200 | [diff] [blame] | 470 | "//third_party/abseil-cpp/absl/flags:flag", |
| 471 | "//third_party/abseil-cpp/absl/flags:parse", |
Ilya Nikolaevskiy | 255d1cd | 2017-12-21 18:02:59 +0100 | [diff] [blame] | 472 | ] |
Ilya Nikolaevskiy | 255d1cd | 2017-12-21 18:02:59 +0100 | [diff] [blame] | 473 | } |
| 474 | |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 475 | # TODO(pbos): Rename test suite. |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 476 | rtc_library("video_tests") { |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 477 | testonly = true |
kjellander | e0629c0 | 2017-04-25 04:04:50 -0700 | [diff] [blame] | 478 | |
hta | 9aa9688 | 2016-12-06 05:36:03 -0800 | [diff] [blame] | 479 | defines = [] |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 480 | sources = [ |
Benjamin Wright | 0076529 | 2018-11-30 16:18:26 -0800 | [diff] [blame] | 481 | "buffered_frame_decryptor_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 482 | "call_stats_unittest.cc", |
Åsa Persson | cb7eddb | 2018-11-05 14:11:44 +0100 | [diff] [blame] | 483 | "cpu_scaling_tests.cc", |
Erik Språng | 7ca375c | 2019-02-06 16:20:17 +0100 | [diff] [blame] | 484 | "encoder_bitrate_adjuster_unittest.cc", |
Erik Språng | 7ca375c | 2019-02-06 16:20:17 +0100 | [diff] [blame] | 485 | "encoder_overshoot_detector_unittest.cc", |
Elad Alon | 14d1c9d | 2019-04-08 14:16:17 +0200 | [diff] [blame] | 486 | "encoder_rtcp_feedback_unittest.cc", |
Sebastian Jansson | c501713 | 2018-02-02 16:24:16 +0100 | [diff] [blame] | 487 | "end_to_end_tests/bandwidth_tests.cc", |
| 488 | "end_to_end_tests/call_operation_tests.cc", |
| 489 | "end_to_end_tests/codec_tests.cc", |
| 490 | "end_to_end_tests/config_tests.cc", |
| 491 | "end_to_end_tests/extended_reports_tests.cc", |
| 492 | "end_to_end_tests/fec_tests.cc", |
Benjamin Wright | 150a907 | 2018-10-26 15:43:06 -0700 | [diff] [blame] | 493 | "end_to_end_tests/frame_encryption_tests.cc", |
Sebastian Jansson | c501713 | 2018-02-02 16:24:16 +0100 | [diff] [blame] | 494 | "end_to_end_tests/histogram_tests.cc", |
Åsa Persson | 96c9fc4 | 2018-05-23 12:47:20 +0200 | [diff] [blame] | 495 | "end_to_end_tests/multi_codec_receive_tests.cc", |
Sebastian Jansson | c501713 | 2018-02-02 16:24:16 +0100 | [diff] [blame] | 496 | "end_to_end_tests/multi_stream_tester.cc", |
| 497 | "end_to_end_tests/multi_stream_tester.h", |
| 498 | "end_to_end_tests/multi_stream_tests.cc", |
| 499 | "end_to_end_tests/network_state_tests.cc", |
| 500 | "end_to_end_tests/probing_tests.cc", |
| 501 | "end_to_end_tests/retransmission_tests.cc", |
| 502 | "end_to_end_tests/rtp_rtcp_tests.cc", |
| 503 | "end_to_end_tests/ssrc_tests.cc", |
| 504 | "end_to_end_tests/stats_tests.cc", |
| 505 | "end_to_end_tests/transport_feedback_tests.cc", |
Ilya Nikolaevskiy | 2ebf523 | 2019-05-13 16:13:36 +0200 | [diff] [blame] | 506 | "frame_encode_metadata_writer_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 507 | "overuse_frame_detector_unittest.cc", |
Sebastian Jansson | e92f93f | 2017-06-22 14:44:04 +0200 | [diff] [blame] | 508 | "picture_id_tests.cc", |
Henrik Boström | ce33b6a | 2019-05-28 17:42:38 +0200 | [diff] [blame] | 509 | "quality_limitation_reason_tracker_unittest.cc", |
Åsa Persson | 2027b66 | 2018-05-02 18:08:06 +0200 | [diff] [blame] | 510 | "quality_scaling_tests.cc", |
palmkvist | 349092b | 2016-12-13 02:45:57 -0800 | [diff] [blame] | 511 | "quality_threshold_unittest.cc", |
sakal | e5ba44e | 2016-10-26 07:09:24 -0700 | [diff] [blame] | 512 | "receive_statistics_proxy_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 513 | "report_block_stats_unittest.cc", |
nisse | b1f2ff9 | 2017-06-09 04:01:55 -0700 | [diff] [blame] | 514 | "rtp_video_stream_receiver_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 515 | "send_delay_stats_unittest.cc", |
| 516 | "send_statistics_proxy_unittest.cc", |
| 517 | "stats_counter_unittest.cc", |
| 518 | "stream_synchronization_unittest.cc", |
johan | f2183ff | 2017-02-28 01:33:09 -0800 | [diff] [blame] | 519 | "video_receive_stream_unittest.cc", |
Sebastian Jansson | 652dc91 | 2018-04-19 17:09:15 +0200 | [diff] [blame] | 520 | "video_send_stream_impl_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 521 | "video_send_stream_tests.cc", |
Henrik Boström | ce0ea49 | 2020-01-13 11:27:18 +0100 | [diff] [blame] | 522 | "video_source_sink_controller_unittest.cc", |
philipel | 539f9b3 | 2020-01-09 16:12:25 +0100 | [diff] [blame] | 523 | "video_stream_decoder_impl_unittest.cc", |
mflodman | cc3d442 | 2017-08-03 08:27:51 -0700 | [diff] [blame] | 524 | "video_stream_encoder_unittest.cc", |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 525 | ] |
| 526 | deps = [ |
| 527 | ":video", |
Sebastian Jansson | 652dc91 | 2018-04-19 17:09:15 +0200 | [diff] [blame] | 528 | ":video_mocks", |
philipel | 539f9b3 | 2020-01-09 16:12:25 +0100 | [diff] [blame] | 529 | ":video_stream_decoder_impl", |
Niels Möller | 213618e | 2018-07-24 09:29:58 +0200 | [diff] [blame] | 530 | ":video_stream_encoder_impl", |
Artem Titov | 33f9d2b | 2019-12-05 15:59:00 +0100 | [diff] [blame] | 531 | "../api:create_frame_generator", |
Benjamin Wright | 150a907 | 2018-10-26 15:43:06 -0700 | [diff] [blame] | 532 | "../api:fake_frame_decryptor", |
| 533 | "../api:fake_frame_encryptor", |
Artem Titov | 33f9d2b | 2019-12-05 15:59:00 +0100 | [diff] [blame] | 534 | "../api:frame_generator_api", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 535 | "../api:libjingle_peerconnection_api", |
Elad Alon | 45befc5 | 2019-07-02 11:20:09 +0200 | [diff] [blame] | 536 | "../api:mock_fec_controller_override", |
Benjamin Wright | 0076529 | 2018-11-30 16:18:26 -0800 | [diff] [blame] | 537 | "../api:mock_frame_decryptor", |
philipel | 9b05803 | 2020-02-10 11:30:00 +0100 | [diff] [blame] | 538 | "../api:mock_video_encoder", |
Niels Möller | ef1052a | 2019-03-20 08:40:23 +0100 | [diff] [blame] | 539 | "../api:rtp_headers", |
Niels Möller | 6dcd4dc | 2019-08-26 10:45:28 +0200 | [diff] [blame] | 540 | "../api:rtp_parameters", |
Mirko Bonadei | d970807 | 2019-01-25 20:26:48 +0100 | [diff] [blame] | 541 | "../api:scoped_refptr", |
Artem Titov | 46c4e60 | 2018-08-17 14:26:54 +0200 | [diff] [blame] | 542 | "../api:simulated_network_api", |
Mirko Bonadei | eaaaf41 | 2019-09-13 14:42:15 +0200 | [diff] [blame] | 543 | "../api/crypto:options", |
Danil Chapovalov | 83bbe91 | 2019-08-07 12:24:53 +0200 | [diff] [blame] | 544 | "../api/rtc_event_log", |
Danil Chapovalov | 44db436 | 2019-09-30 04:16:28 +0200 | [diff] [blame] | 545 | "../api/task_queue", |
Danil Chapovalov | 22ed366 | 2019-03-19 19:39:49 +0100 | [diff] [blame] | 546 | "../api/task_queue:default_task_queue_factory", |
Danil Chapovalov | 99b71df | 2018-10-26 15:57:48 +0200 | [diff] [blame] | 547 | "../api/test/video:function_video_factory", |
Erik Språng | 7ca375c | 2019-02-06 16:20:17 +0100 | [diff] [blame] | 548 | "../api/units:data_rate", |
Henrik Boström | 23aff9b | 2019-05-20 15:15:38 +0200 | [diff] [blame] | 549 | "../api/units:timestamp", |
Jiawei Ou | c2ebe21 | 2018-11-08 10:02:56 -0800 | [diff] [blame] | 550 | "../api/video:builtin_video_bitrate_allocator_factory", |
Niels Möller | 4dc66c5 | 2018-10-05 14:17:58 +0200 | [diff] [blame] | 551 | "../api/video:encoded_image", |
Erik Språng | f93eda1 | 2019-01-16 17:10:57 +0100 | [diff] [blame] | 552 | "../api/video:video_bitrate_allocation", |
Niels Möller | c6ce9c5 | 2018-05-11 11:15:30 +0200 | [diff] [blame] | 553 | "../api/video:video_frame", |
| 554 | "../api/video:video_frame_i420", |
Johannes Kron | d51ec58 | 2019-04-15 13:32:41 +0200 | [diff] [blame] | 555 | "../api/video:video_frame_type", |
Chen Xing | 5d24b16 | 2019-06-10 12:59:38 +0200 | [diff] [blame] | 556 | "../api/video:video_rtp_headers", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 557 | "../api/video_codecs:video_codecs_api", |
Elad Alon | cde8ab2 | 2019-03-20 11:56:20 +0100 | [diff] [blame] | 558 | "../api/video_codecs:vp8_temporal_layers_factory", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 559 | "../call:call_interfaces", |
Artem Titov | dd2eebe | 2018-08-20 13:27:45 +0200 | [diff] [blame] | 560 | "../call:fake_network", |
Sebastian Jansson | 652dc91 | 2018-04-19 17:09:15 +0200 | [diff] [blame] | 561 | "../call:mock_bitrate_allocator", |
eladalon | e2173d9 | 2017-07-28 10:05:45 -0700 | [diff] [blame] | 562 | "../call:mock_rtp_interfaces", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 563 | "../call:rtp_interfaces", |
nisse | 0f15f92 | 2017-06-21 01:05:22 -0700 | [diff] [blame] | 564 | "../call:rtp_receiver", |
sprang | db2a9fc | 2017-08-09 06:42:32 -0700 | [diff] [blame] | 565 | "../call:rtp_sender", |
Artem Titov | dd2eebe | 2018-08-20 13:27:45 +0200 | [diff] [blame] | 566 | "../call:simulated_network", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 567 | "../call:simulated_packet_receiver", |
aleloi | 440b6d9 | 2017-08-22 05:43:23 -0700 | [diff] [blame] | 568 | "../call:video_stream_api", |
Henrik Boström | ce0ea49 | 2020-01-13 11:27:18 +0100 | [diff] [blame] | 569 | "../call/adaptation:resource_adaptation", |
Evan Shrubsole | aa6fbc1 | 2020-02-25 16:26:01 +0100 | [diff] [blame] | 570 | "../call/adaptation:resource_adaptation_test_utilities", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 571 | "../common_video", |
Johannes Kron | f1ab9b9 | 2018-12-14 10:14:07 +0100 | [diff] [blame] | 572 | "../common_video/test:utilities", |
Mirko Bonadei | 75baa49 | 2018-01-11 17:07:30 +0100 | [diff] [blame] | 573 | "../media:rtc_audio_video", |
Anders Carlsson | a114c88 | 2018-01-04 15:10:22 +0100 | [diff] [blame] | 574 | "../media:rtc_internal_video_codecs", |
brandtr | 5e17175 | 2017-05-23 03:32:16 -0700 | [diff] [blame] | 575 | "../media:rtc_media", |
magjed | ceecea4 | 2016-11-28 07:20:21 -0800 | [diff] [blame] | 576 | "../media:rtc_media_base", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 577 | "../media:rtc_media_tests_utils", |
Jonathan Yu | 9a5da49 | 2018-10-19 00:51:18 -0700 | [diff] [blame] | 578 | "../media:rtc_simulcast_encoder_adapter", |
mbonadei | 1140f97 | 2017-04-26 03:38:35 -0700 | [diff] [blame] | 579 | "../modules:module_api", |
Danil Chapovalov | 7c06777 | 2019-10-07 12:56:24 +0200 | [diff] [blame] | 580 | "../modules:module_api_public", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 581 | "../modules/pacing", |
| 582 | "../modules/rtp_rtcp", |
kjellander | e0629c0 | 2017-04-25 04:04:50 -0700 | [diff] [blame] | 583 | "../modules/rtp_rtcp:mock_rtp_rtcp", |
Mirko Bonadei | b5728d9 | 2017-12-06 07:51:33 +0100 | [diff] [blame] | 584 | "../modules/rtp_rtcp:rtp_rtcp_format", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 585 | "../modules/utility", |
| 586 | "../modules/video_coding", |
Sergey Silkin | 8668496 | 2018-03-28 19:32:37 +0200 | [diff] [blame] | 587 | "../modules/video_coding:codec_globals_headers", |
Markus Handell | 269ac81 | 2019-12-03 14:31:45 +0100 | [diff] [blame] | 588 | "../modules/video_coding:encoded_frame", |
Patrik Höglund | 99175c6 | 2018-01-08 11:05:10 +0100 | [diff] [blame] | 589 | "../modules/video_coding:video_codec_interface", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 590 | "../modules/video_coding:video_coding_utility", |
| 591 | "../modules/video_coding:webrtc_h264", |
Emircan Uysaler | ef76e5a | 2018-02-12 13:36:41 -0800 | [diff] [blame] | 592 | "../modules/video_coding:webrtc_multiplex", |
Sergio Garcia Murillo | 43800f9 | 2018-06-21 16:16:38 +0200 | [diff] [blame] | 593 | "../modules/video_coding:webrtc_vp8", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 594 | "../modules/video_coding:webrtc_vp9", |
Elad Alon | 157540a | 2019-02-08 23:37:52 +0100 | [diff] [blame] | 595 | "../rtc_base", |
Patrik Höglund | a8005cf | 2017-12-13 16:05:42 +0100 | [diff] [blame] | 596 | "../rtc_base:checks", |
| 597 | "../rtc_base:rate_limiter", |
ehmaldonado | f6a861a | 2017-07-19 10:40:47 -0700 | [diff] [blame] | 598 | "../rtc_base:rtc_base_approved", |
| 599 | "../rtc_base:rtc_base_tests_utils", |
Bjorn Terelius | a194e58 | 2017-10-25 13:07:09 +0200 | [diff] [blame] | 600 | "../rtc_base:rtc_numerics", |
Tommi | 38c5d93 | 2018-03-27 23:11:09 +0200 | [diff] [blame] | 601 | "../rtc_base:rtc_task_queue", |
Danil Chapovalov | d26a916 | 2019-03-19 18:08:37 +0100 | [diff] [blame] | 602 | "../rtc_base:task_queue_for_test", |
Sebastian Jansson | cabe383 | 2018-01-12 10:54:18 +0100 | [diff] [blame] | 603 | "../rtc_base/experiments:alr_experiment", |
Tommi | 31d1bce | 2019-08-27 11:34:20 +0200 | [diff] [blame] | 604 | "../rtc_base/synchronization:sequence_checker", |
Danil Chapovalov | 1aa7581 | 2019-03-05 11:11:35 +0100 | [diff] [blame] | 605 | "../rtc_base/task_utils:to_queued_task", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 606 | "../system_wrappers", |
Mirko Bonadei | 17f4878 | 2018-09-28 08:51:10 +0200 | [diff] [blame] | 607 | "../system_wrappers:field_trial", |
| 608 | "../system_wrappers:metrics", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 609 | "../test:direct_transport", |
Danil Chapovalov | ce92817 | 2019-04-24 18:17:42 +0200 | [diff] [blame] | 610 | "../test:encoder_settings", |
Ilya Nikolaevskiy | b0588e6 | 2018-08-27 14:12:27 +0200 | [diff] [blame] | 611 | "../test:fake_video_codecs", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 612 | "../test:field_trial", |
Patrik Höglund | 7696bef | 2018-03-15 15:05:39 +0100 | [diff] [blame] | 613 | "../test:fileutils", |
Artem Titov | 33f9d2b | 2019-12-05 15:59:00 +0100 | [diff] [blame] | 614 | "../test:frame_utils", |
Tim Na | 9526c55 | 2020-02-20 11:53:13 -0800 | [diff] [blame] | 615 | "../test:mock_transport", |
Danil Chapovalov | ce92817 | 2019-04-24 18:17:42 +0200 | [diff] [blame] | 616 | "../test:null_transport", |
Edward Lemur | e66572b | 2018-01-05 15:34:09 +0100 | [diff] [blame] | 617 | "../test:perf_test", |
mbonadei | 9087d49 | 2017-04-25 00:35:35 -0700 | [diff] [blame] | 618 | "../test:rtp_test_utils", |
| 619 | "../test:test_common", |
| 620 | "../test:test_support", |
| 621 | "../test:video_test_common", |
Markus Handell | 486cc55 | 2019-12-03 14:37:28 +0100 | [diff] [blame] | 622 | "../test/time_controller", |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 623 | "//testing/gtest", |
Steve Anton | bd631a0 | 2019-03-28 10:51:27 -0700 | [diff] [blame] | 624 | "//third_party/abseil-cpp/absl/algorithm:container", |
Karl Wiberg | 918f50c | 2018-07-05 11:40:33 +0200 | [diff] [blame] | 625 | "//third_party/abseil-cpp/absl/memory", |
Danil Chapovalov | b9b146c | 2018-06-15 12:28:07 +0200 | [diff] [blame] | 626 | "//third_party/abseil-cpp/absl/types:optional", |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 627 | ] |
Dan Minor | 9c68613 | 2018-01-15 10:20:00 -0500 | [diff] [blame] | 628 | if (!build_with_mozilla) { |
| 629 | deps += [ "../media:rtc_media_base" ] |
| 630 | } |
Peter Boström | 0208322 | 2016-06-14 12:52:54 +0200 | [diff] [blame] | 631 | } |
| 632 | } |