2022-01-29 00:11:22 +03:00
|
|
|
# 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")
|
|
|
|
if (rtc_enable_protobuf) {
|
|
|
|
import("//third_party/protobuf/proto_library.gni")
|
|
|
|
}
|
|
|
|
|
|
|
|
group("rtc_tools") {
|
|
|
|
# This target shall build all targets in tools/.
|
|
|
|
testonly = true
|
|
|
|
|
2023-04-01 02:01:03 +03:00
|
|
|
deps = [ ":video_file_reader" ]
|
2022-01-29 00:11:22 +03:00
|
|
|
if (!build_with_chromium) {
|
|
|
|
deps += [
|
2023-04-01 02:08:02 +03:00
|
|
|
":frame_analyzer",
|
2022-01-29 00:11:22 +03:00
|
|
|
":psnr_ssim_analyzer",
|
|
|
|
":video_quality_analysis",
|
|
|
|
]
|
|
|
|
}
|
2022-05-02 20:57:14 +03:00
|
|
|
if (!build_with_chromium && rtc_enable_protobuf) {
|
|
|
|
deps += [ ":chart_proto" ]
|
|
|
|
}
|
|
|
|
if (!build_with_chromium && rtc_include_tests) {
|
2023-04-01 17:09:07 +03:00
|
|
|
deps += [ ":tools_unittests" ]
|
2022-05-02 20:57:14 +03:00
|
|
|
}
|
|
|
|
if (rtc_include_tests && rtc_enable_protobuf) {
|
|
|
|
deps += [
|
|
|
|
":rtp_analyzer",
|
|
|
|
"network_tester",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
if (rtc_include_tests && rtc_enable_protobuf && !build_with_chromium) {
|
|
|
|
deps += [
|
|
|
|
":audioproc_f",
|
|
|
|
":event_log_visualizer",
|
2023-02-03 03:33:30 +03:00
|
|
|
":rtc_event_log_to_text",
|
2022-05-02 20:57:14 +03:00
|
|
|
":unpack_aecdump",
|
|
|
|
]
|
2022-01-29 00:11:22 +03:00
|
|
|
}
|
2022-07-12 06:48:00 +03:00
|
|
|
if (!build_with_chromium && rtc_enable_grpc) {
|
|
|
|
deps += [ "data_channel_benchmark" ]
|
|
|
|
}
|
2022-01-29 00:11:22 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
rtc_library("video_file_reader") {
|
|
|
|
sources = [
|
|
|
|
"video_file_reader.cc",
|
|
|
|
"video_file_reader.h",
|
|
|
|
]
|
|
|
|
deps = [
|
2022-09-29 00:53:03 +03:00
|
|
|
"../api:make_ref_counted",
|
2024-02-08 17:05:38 +03:00
|
|
|
"../api:ref_count",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../api:scoped_refptr",
|
|
|
|
"../api/video:video_frame",
|
|
|
|
"../api/video:video_rtp_headers",
|
|
|
|
"../rtc_base:checks",
|
2022-07-13 18:24:49 +03:00
|
|
|
"../rtc_base:logging",
|
2022-07-13 18:35:28 +03:00
|
|
|
"../rtc_base:refcount",
|
2022-07-13 18:48:08 +03:00
|
|
|
"../rtc_base:stringutils",
|
2022-01-29 00:11:22 +03:00
|
|
|
]
|
|
|
|
absl_deps = [
|
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
rtc_library("video_file_writer") {
|
|
|
|
sources = [
|
|
|
|
"video_file_writer.cc",
|
|
|
|
"video_file_writer.h",
|
|
|
|
]
|
|
|
|
deps = [
|
|
|
|
":video_file_reader",
|
|
|
|
"../api:scoped_refptr",
|
|
|
|
"../api/video:video_frame",
|
|
|
|
"../api/video:video_rtp_headers",
|
2022-07-13 18:24:49 +03:00
|
|
|
"../rtc_base:logging",
|
2022-01-29 00:11:22 +03:00
|
|
|
]
|
|
|
|
absl_deps = [
|
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
rtc_library("video_quality_analysis") {
|
|
|
|
testonly = true
|
|
|
|
sources = [
|
|
|
|
"frame_analyzer/linear_least_squares.cc",
|
|
|
|
"frame_analyzer/linear_least_squares.h",
|
|
|
|
"frame_analyzer/video_color_aligner.cc",
|
|
|
|
"frame_analyzer/video_color_aligner.h",
|
|
|
|
"frame_analyzer/video_geometry_aligner.cc",
|
|
|
|
"frame_analyzer/video_geometry_aligner.h",
|
|
|
|
"frame_analyzer/video_quality_analysis.cc",
|
|
|
|
"frame_analyzer/video_quality_analysis.h",
|
|
|
|
"frame_analyzer/video_temporal_aligner.cc",
|
|
|
|
"frame_analyzer/video_temporal_aligner.h",
|
|
|
|
]
|
|
|
|
deps = [
|
|
|
|
":video_file_reader",
|
|
|
|
"../api:array_view",
|
2022-09-29 00:53:03 +03:00
|
|
|
"../api:make_ref_counted",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../api:scoped_refptr",
|
2023-02-02 01:25:48 +03:00
|
|
|
"../api/numerics",
|
|
|
|
"../api/test/metrics:metric",
|
|
|
|
"../api/test/metrics:metrics_logger",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../api/video:video_frame",
|
|
|
|
"../api/video:video_rtp_headers",
|
|
|
|
"../common_video",
|
|
|
|
"../rtc_base:checks",
|
2022-07-13 18:24:49 +03:00
|
|
|
"../rtc_base:logging",
|
2022-01-29 00:11:22 +03:00
|
|
|
"//third_party/libyuv",
|
|
|
|
]
|
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
# TODO(bugs.webrtc.org/11474): Enable this on win if needed. For now it
|
|
|
|
# is only required for Linux and Android.
|
|
|
|
if (!build_with_chromium && !build_with_mozilla && !is_win && !is_ios) {
|
|
|
|
action("frame_analyzer_host") {
|
|
|
|
script = "//tools_webrtc/executable_host_build.py"
|
|
|
|
outputs = [ "${root_out_dir}/frame_analyzer_host" ]
|
|
|
|
args = [
|
|
|
|
"--executable_name",
|
|
|
|
"frame_analyzer",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!is_component_build) {
|
|
|
|
# This target can be built from Chromium but it doesn't support
|
|
|
|
# is_component_build=true because it depends on WebRTC testonly code
|
|
|
|
# which is not part of //third_party/webrtc_overrides:webrtc_component.
|
2022-05-02 19:06:51 +03:00
|
|
|
|
|
|
|
# Abseil dependencies are not moved to the absl_deps field deliberately.
|
|
|
|
# If build_with_chromium is true, the absl_deps replaces the dependencies with
|
|
|
|
# the "//third_party/abseil-cpp:absl" target. Which doesn't include absl/flags
|
|
|
|
# (and some others) because they cannot be used in Chromiums. Special exception
|
|
|
|
# for the "frame_analyzer" target in "third_party/abseil-cpp/absl.gni" allows
|
|
|
|
# it to be build in chromium.
|
2023-04-01 02:01:03 +03:00
|
|
|
rtc_executable("frame_analyzer") {
|
|
|
|
visibility = [ "*" ]
|
|
|
|
testonly = true
|
|
|
|
sources = [ "frame_analyzer/frame_analyzer.cc" ]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":video_file_reader",
|
|
|
|
":video_file_writer",
|
|
|
|
":video_quality_analysis",
|
|
|
|
"../api:make_ref_counted",
|
|
|
|
"../api:scoped_refptr",
|
|
|
|
"../api/test/metrics:chrome_perf_dashboard_metrics_exporter",
|
|
|
|
"../api/test/metrics:global_metrics_logger_and_exporter",
|
|
|
|
"../api/test/metrics:metrics_exporter",
|
|
|
|
"../api/test/metrics:stdout_metrics_exporter",
|
|
|
|
"../rtc_base:stringutils",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:flag",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:parse",
|
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
|
|
]
|
|
|
|
|
|
|
|
if (build_with_chromium) {
|
|
|
|
# When building from Chromium, WebRTC's metrics and field trial
|
|
|
|
# implementations need to be replaced by the Chromium ones.
|
|
|
|
deps += [ "//third_party/webrtc_overrides:webrtc_component" ]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
# This target can be built from Chromium but it doesn't support
|
|
|
|
# is_component_build=true because it depends on WebRTC testonly code
|
|
|
|
# which is not part of //third_party/webrtc_overrides:webrtc_component.
|
|
|
|
|
|
|
|
# Abseil dependencies are not moved to the absl_deps field deliberately.
|
|
|
|
# If build_with_chromium is true, the absl_deps replaces the dependencies with
|
|
|
|
# the "//third_party/abseil-cpp:absl" target. Which doesn't include absl/flags
|
|
|
|
# (and some others) because they cannot be used in Chromiums. Special exception
|
|
|
|
# for the "rtp_generator" target in "third_party/abseil-cpp/absl.gni" allows
|
|
|
|
# it to be build in chromium.
|
2022-01-29 00:11:22 +03:00
|
|
|
rtc_executable("rtp_generator") {
|
|
|
|
visibility = [ "*" ]
|
|
|
|
testonly = true
|
|
|
|
sources = [
|
|
|
|
"rtp_generator/main.cc",
|
|
|
|
"rtp_generator/rtp_generator.cc",
|
|
|
|
"rtp_generator/rtp_generator.h",
|
|
|
|
]
|
|
|
|
|
|
|
|
deps = [
|
2023-07-14 01:42:37 +03:00
|
|
|
"..//api/video_codecs:video_decoder_factory_template",
|
|
|
|
"..//api/video_codecs:video_decoder_factory_template_dav1d_adapter",
|
|
|
|
"..//api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
|
|
|
|
"..//api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
|
|
|
|
"..//api/video_codecs:video_decoder_factory_template_open_h264_adapter",
|
|
|
|
"..//api/video_codecs:video_encoder_factory_template",
|
|
|
|
"..//api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
|
|
|
|
"..//api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
|
|
|
|
"..//api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
|
|
|
|
"..//api/video_codecs:video_encoder_factory_template_open_h264_adapter",
|
2024-06-19 01:45:33 +03:00
|
|
|
"..//test/network:simulated_network",
|
2023-07-14 03:29:37 +03:00
|
|
|
"../api:create_frame_generator",
|
|
|
|
"../api:rtp_parameters",
|
|
|
|
"../api:transport_api",
|
2024-02-11 00:37:36 +03:00
|
|
|
"../api/environment",
|
|
|
|
"../api/environment:environment_factory",
|
2023-07-14 03:29:37 +03:00
|
|
|
"../api/video:builtin_video_bitrate_allocator_factory",
|
|
|
|
"../api/video_codecs:video_codecs_api",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../call",
|
|
|
|
"../call:call_interfaces",
|
|
|
|
"../call:fake_network",
|
|
|
|
"../call:rtp_interfaces",
|
|
|
|
"../call:rtp_sender",
|
|
|
|
"../call:simulated_packet_receiver",
|
|
|
|
"../call:video_stream_api",
|
2023-04-20 02:27:53 +03:00
|
|
|
"../media:media_constants",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../media:rtc_audio_video",
|
|
|
|
"../rtc_base:rtc_json",
|
2022-04-28 22:54:22 +03:00
|
|
|
"../rtc_base:threading",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../rtc_base/system:file_wrapper",
|
|
|
|
"../test:fileutils",
|
2023-07-14 03:29:37 +03:00
|
|
|
"../test:frame_generator_capturer",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../test:rtp_test_utils",
|
2023-02-02 02:40:30 +03:00
|
|
|
"../video/config:encoder_config",
|
2023-02-02 02:11:32 +03:00
|
|
|
"../video/config:streams_config",
|
2022-01-29 00:11:22 +03:00
|
|
|
"//third_party/abseil-cpp/absl/flags:flag",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:parse",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:usage",
|
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
|
|
]
|
|
|
|
if (build_with_chromium) {
|
|
|
|
# When building from Chromium, WebRTC's metrics and field trial
|
|
|
|
# implementations need to be replaced by the Chromium ones.
|
|
|
|
deps += [ "//third_party/webrtc_overrides:webrtc_component" ]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
# This target can be built from Chromium but it doesn't support
|
|
|
|
# is_component_build=true because it depends on WebRTC testonly code
|
|
|
|
# which is not part of //third_party/webrtc_overrides:webrtc_component.
|
2022-05-02 19:06:51 +03:00
|
|
|
|
|
|
|
# Abseil dependencies are not moved to the absl_deps field deliberately.
|
|
|
|
# If build_with_chromium is true, the absl_deps replaces the dependencies with
|
|
|
|
# the "//third_party/abseil-cpp:absl" target. Which doesn't include absl/flags
|
|
|
|
# (and some others) because they cannot be used in Chromiums. Special exception
|
2023-04-01 02:01:03 +03:00
|
|
|
# for the "video_replay" target in "third_party/abseil-cpp/absl.gni" allows
|
2022-05-02 19:06:51 +03:00
|
|
|
# it to be build in chromium.
|
2022-01-29 00:11:22 +03:00
|
|
|
rtc_executable("video_replay") {
|
|
|
|
visibility = [ "*" ]
|
|
|
|
testonly = true
|
|
|
|
sources = [ "video_replay.cc" ]
|
|
|
|
deps = [
|
2023-02-03 02:55:51 +03:00
|
|
|
"../api:field_trials",
|
2023-04-21 20:06:59 +03:00
|
|
|
"../api:rtp_parameters",
|
2024-02-11 00:37:36 +03:00
|
|
|
"../api/environment",
|
|
|
|
"../api/environment:environment_factory",
|
2024-03-16 05:22:32 +03:00
|
|
|
"../api/task_queue",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../api/test/video:function_video_factory",
|
|
|
|
"../api/transport:field_trial_based_config",
|
2023-04-21 20:06:59 +03:00
|
|
|
"../api/units:timestamp",
|
2022-04-29 20:09:32 +03:00
|
|
|
"../api/video:video_frame",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../api/video_codecs:video_codecs_api",
|
|
|
|
"../call",
|
|
|
|
"../call:call_interfaces",
|
|
|
|
"../common_video",
|
|
|
|
"../media:rtc_internal_video_codecs",
|
2022-05-29 03:08:58 +03:00
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
2022-04-29 20:09:32 +03:00
|
|
|
"../modules/video_coding:video_coding_utility",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../rtc_base:checks",
|
|
|
|
"../rtc_base:rtc_json",
|
|
|
|
"../rtc_base:stringutils",
|
|
|
|
"../system_wrappers",
|
|
|
|
"../test:call_config_utils",
|
|
|
|
"../test:encoder_settings",
|
|
|
|
"../test:fake_video_codecs",
|
|
|
|
"../test:null_transport",
|
|
|
|
"../test:rtp_test_utils",
|
2022-09-21 20:52:33 +03:00
|
|
|
"../test:run_loop",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../test:run_test",
|
|
|
|
"../test:run_test_interface",
|
|
|
|
"../test:test_renderer",
|
|
|
|
"../test:test_support",
|
2023-07-14 00:24:02 +03:00
|
|
|
"../test:test_video_capturer",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../test:video_test_common",
|
2023-07-14 23:54:27 +03:00
|
|
|
"../test:video_test_constants",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../test:video_test_support",
|
2023-02-03 02:58:29 +03:00
|
|
|
"../test/time_controller:time_controller",
|
2022-01-29 00:11:22 +03:00
|
|
|
"//third_party/abseil-cpp/absl/flags:flag",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:parse",
|
2024-05-17 19:43:41 +03:00
|
|
|
"//third_party/abseil-cpp/absl/strings:strings",
|
2022-01-29 00:11:22 +03:00
|
|
|
]
|
|
|
|
if (build_with_chromium) {
|
|
|
|
# When building from Chromium, WebRTC's metrics and field trial
|
|
|
|
# implementations need to be replaced by the Chromium ones.
|
|
|
|
deps += [ "//third_party/webrtc_overrides:webrtc_component" ]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
# Only expose the targets needed by Chromium (e.g. frame_analyzer) to avoid
|
|
|
|
# building a lot of redundant code as part of Chromium builds.
|
|
|
|
if (!build_with_chromium) {
|
|
|
|
rtc_executable("psnr_ssim_analyzer") {
|
|
|
|
testonly = true
|
|
|
|
sources = [ "psnr_ssim_analyzer/psnr_ssim_analyzer.cc" ]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":video_file_reader",
|
|
|
|
":video_quality_analysis",
|
|
|
|
"../api:scoped_refptr",
|
|
|
|
"../api/video:video_frame",
|
|
|
|
"../api/video:video_rtp_headers",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:flag",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:parse",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:usage",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
rtc_library("reference_less_video_analysis_lib") {
|
|
|
|
testonly = true
|
|
|
|
sources = [
|
|
|
|
"frame_analyzer/reference_less_video_analysis_lib.cc",
|
|
|
|
"frame_analyzer/reference_less_video_analysis_lib.h",
|
|
|
|
]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":video_file_reader",
|
|
|
|
":video_quality_analysis",
|
|
|
|
"../api:scoped_refptr",
|
|
|
|
"../api/video:video_frame",
|
|
|
|
"../api/video:video_rtp_headers",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
rtc_executable("reference_less_video_analysis") {
|
|
|
|
testonly = true
|
|
|
|
sources = [ "frame_analyzer/reference_less_video_analysis.cc" ]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":reference_less_video_analysis_lib",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:flag",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:parse",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:usage",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
if (rtc_enable_protobuf) {
|
|
|
|
proto_library("chart_proto") {
|
|
|
|
visibility = [ "*" ]
|
|
|
|
sources = [
|
|
|
|
"rtc_event_log_visualizer/proto/chart.proto",
|
|
|
|
"rtc_event_log_visualizer/proto/chart_enums.proto",
|
|
|
|
]
|
|
|
|
proto_out_dir = "rtc_tools/rtc_event_log_visualizer/proto"
|
|
|
|
}
|
|
|
|
|
|
|
|
rtc_library("event_log_visualizer_utils") {
|
|
|
|
visibility = [ "*" ]
|
2024-06-24 17:28:09 +03:00
|
|
|
allow_poison = [ "environment_construction" ]
|
2022-01-29 00:11:22 +03:00
|
|
|
sources = [
|
|
|
|
"rtc_event_log_visualizer/alerts.cc",
|
|
|
|
"rtc_event_log_visualizer/alerts.h",
|
|
|
|
"rtc_event_log_visualizer/analyze_audio.cc",
|
|
|
|
"rtc_event_log_visualizer/analyze_audio.h",
|
|
|
|
"rtc_event_log_visualizer/analyzer.cc",
|
|
|
|
"rtc_event_log_visualizer/analyzer.h",
|
|
|
|
"rtc_event_log_visualizer/analyzer_common.cc",
|
|
|
|
"rtc_event_log_visualizer/analyzer_common.h",
|
|
|
|
"rtc_event_log_visualizer/log_simulation.cc",
|
|
|
|
"rtc_event_log_visualizer/log_simulation.h",
|
|
|
|
"rtc_event_log_visualizer/plot_base.cc",
|
|
|
|
"rtc_event_log_visualizer/plot_base.h",
|
|
|
|
]
|
|
|
|
deps = [
|
|
|
|
":chart_proto",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../api:dtls_transport_interface",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../api:function_view",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../api:make_ref_counted",
|
2022-04-16 18:23:30 +03:00
|
|
|
"../api:network_state_predictor_api",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../api:rtp_headers",
|
|
|
|
"../api:rtp_parameters",
|
|
|
|
"../api:scoped_refptr",
|
|
|
|
"../api/audio_codecs:audio_codecs_api", # TODO(kwiberg): Remove this
|
|
|
|
# dependency.
|
2024-06-24 17:28:09 +03:00
|
|
|
"../api/environment:environment_factory",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../api/neteq:neteq_api",
|
|
|
|
"../api/rtc_event_log:rtc_event_log",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../api/transport:field_trial_based_config",
|
|
|
|
"../api/transport:goog_cc",
|
|
|
|
"../api/transport:network_control",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../api/units:data_rate",
|
|
|
|
"../api/units:time_delta",
|
|
|
|
"../api/units:timestamp",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../call:call_interfaces",
|
|
|
|
"../call:video_stream_api",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../logging:ice_log",
|
|
|
|
"../logging:rtc_event_audio",
|
|
|
|
"../logging:rtc_event_audio",
|
|
|
|
"../logging:rtc_event_bwe",
|
|
|
|
"../logging:rtc_event_generic_packet_events",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../logging:rtc_event_log_parser",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../logging:rtc_event_rtp_rtcp",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../logging:rtc_stream_config",
|
|
|
|
"../modules/audio_coding:ana_debug_dump_proto",
|
|
|
|
"../modules/audio_coding:audio_network_adaptor",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../modules/audio_coding:neteq_input_audio_tools",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../modules/audio_coding:neteq_tools",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../modules/audio_coding:neteq_tools_minimal",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../modules/congestion_controller",
|
|
|
|
"../modules/congestion_controller/goog_cc:delay_based_bwe",
|
|
|
|
"../modules/congestion_controller/goog_cc:estimators",
|
|
|
|
"../modules/congestion_controller/rtp:transport_feedback",
|
|
|
|
"../modules/pacing",
|
|
|
|
"../modules/remote_bitrate_estimator",
|
|
|
|
"../modules/rtp_rtcp",
|
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
|
|
|
"../rtc_base:checks",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../rtc_base:logging",
|
|
|
|
"../rtc_base:macromagic",
|
|
|
|
"../rtc_base:rate_statistics",
|
|
|
|
"../rtc_base:refcount",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../rtc_base:rtc_numerics",
|
|
|
|
"../rtc_base:stringutils",
|
2024-01-03 21:52:27 +03:00
|
|
|
"../rtc_base/network:sent_packet",
|
2022-05-25 18:54:58 +03:00
|
|
|
"../system_wrappers",
|
2022-01-29 00:11:22 +03:00
|
|
|
"../test:explicit_key_value_config",
|
|
|
|
]
|
|
|
|
absl_deps = [
|
|
|
|
"//third_party/abseil-cpp/absl/algorithm:container",
|
2022-05-05 08:32:43 +03:00
|
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
2022-05-24 21:28:12 +03:00
|
|
|
"//third_party/abseil-cpp/absl/functional:bind_front",
|
2022-01-29 00:11:22 +03:00
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
]
|
|
|
|
}
|
2024-01-03 20:49:09 +03:00
|
|
|
|
|
|
|
rtc_library("event_log_visualizer_bindings") {
|
|
|
|
visibility = [ "*" ]
|
2024-06-24 17:28:09 +03:00
|
|
|
allow_poison = [ "environment_construction" ]
|
2024-01-03 20:49:09 +03:00
|
|
|
sources = [
|
|
|
|
"rtc_event_log_visualizer/analyzer_bindings.cc",
|
|
|
|
"rtc_event_log_visualizer/analyzer_bindings.h",
|
|
|
|
]
|
2024-01-03 21:02:10 +03:00
|
|
|
deps = [
|
|
|
|
":chart_proto",
|
|
|
|
":event_log_visualizer_utils",
|
|
|
|
"//api/units:time_delta",
|
|
|
|
"//logging:rtc_event_log_parser",
|
|
|
|
"//rtc_base:protobuf_utils",
|
|
|
|
"//rtc_base:safe_conversions",
|
|
|
|
]
|
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
rtc_library("event_log_visualizer_bindings_unittest") {
|
|
|
|
testonly = true
|
|
|
|
sources = [ "rtc_event_log_visualizer/analyzer_bindings_unittest.cc" ]
|
|
|
|
deps = [
|
|
|
|
":chart_proto",
|
|
|
|
":event_log_visualizer_bindings",
|
|
|
|
"//rtc_base:protobuf_utils",
|
|
|
|
"//rtc_base/system:file_wrapper",
|
|
|
|
"//test:fileutils",
|
|
|
|
"//test:test_support",
|
|
|
|
]
|
2024-01-03 20:49:09 +03:00
|
|
|
}
|
2022-01-29 00:11:22 +03:00
|
|
|
}
|
Bug 1851693 - Vendor libwebrtc from 18f66fcde8
Upstream commit: https://webrtc.googlesource.com/src/+/18f66fcde888336190d8f63b306aca12952f2567
[rct_tools/video_encoder] Add video encoder tool
This CL adds a new video encode tool that supports to encode video at
specified codec, scalability mode, resolution, frame rate, bitrate,
key frame interval and the number of encoding frames.
The video encoder accepts video frames from `FrameGeneratorInterface`,
and supports `SquareFrameGenerator`, `SlideFrameGenerator` and
`IvfFileFrameGenerator`.
All the encoded bitstreams are wrote into ivf output files.
The purposes of this video encoder tool are:
1. Check the functionalities of video codecs and scalability modes.
2. Optimize video quality at different encode setting.
3. Fine tune the bitrate controller.
4. Compare the quality of different codecs at the same setting.
5. And more.
TESTS: Run the tool at 1280x720, 30fps, 2000kbps, 100 GOP, 300 frames:
vp8 [L1T1 L1T3]
h264 [L1T1 L1T3]
vp9 [L1T1 L1T3 L3T3_KEY]
av1 [L1T1 L1T3 L3T3_KEY]
Bug: webrtc:15210
Change-Id: I3b0e463cf3236cd9a481fbab5688643c203958da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307361
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Jianhui J Dai <jianhui.j.dai@intel.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40267}
2023-09-19 21:59:31 +03:00
|
|
|
|
|
|
|
rtc_executable("video_encoder") {
|
|
|
|
visibility = [ "*" ]
|
|
|
|
testonly = true
|
2023-10-16 12:37:33 +03:00
|
|
|
sources = [
|
|
|
|
"video_encoder/encoded_image_file_writer.cc",
|
|
|
|
"video_encoder/encoded_image_file_writer.h",
|
|
|
|
"video_encoder/video_encoder.cc",
|
|
|
|
]
|
Bug 1851693 - Vendor libwebrtc from 18f66fcde8
Upstream commit: https://webrtc.googlesource.com/src/+/18f66fcde888336190d8f63b306aca12952f2567
[rct_tools/video_encoder] Add video encoder tool
This CL adds a new video encode tool that supports to encode video at
specified codec, scalability mode, resolution, frame rate, bitrate,
key frame interval and the number of encoding frames.
The video encoder accepts video frames from `FrameGeneratorInterface`,
and supports `SquareFrameGenerator`, `SlideFrameGenerator` and
`IvfFileFrameGenerator`.
All the encoded bitstreams are wrote into ivf output files.
The purposes of this video encoder tool are:
1. Check the functionalities of video codecs and scalability modes.
2. Optimize video quality at different encode setting.
3. Fine tune the bitrate controller.
4. Compare the quality of different codecs at the same setting.
5. And more.
TESTS: Run the tool at 1280x720, 30fps, 2000kbps, 100 GOP, 300 frames:
vp8 [L1T1 L1T3]
h264 [L1T1 L1T3]
vp9 [L1T1 L1T3 L3T3_KEY]
av1 [L1T1 L1T3 L3T3_KEY]
Bug: webrtc:15210
Change-Id: I3b0e463cf3236cd9a481fbab5688643c203958da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307361
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Jianhui J Dai <jianhui.j.dai@intel.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40267}
2023-09-19 21:59:31 +03:00
|
|
|
deps = [
|
|
|
|
"//api:create_frame_generator",
|
|
|
|
"//api:frame_generator_api",
|
2024-04-30 06:57:32 +03:00
|
|
|
"//api/environment",
|
|
|
|
"//api/environment:environment_factory",
|
Bug 1851693 - Vendor libwebrtc from 18f66fcde8
Upstream commit: https://webrtc.googlesource.com/src/+/18f66fcde888336190d8f63b306aca12952f2567
[rct_tools/video_encoder] Add video encoder tool
This CL adds a new video encode tool that supports to encode video at
specified codec, scalability mode, resolution, frame rate, bitrate,
key frame interval and the number of encoding frames.
The video encoder accepts video frames from `FrameGeneratorInterface`,
and supports `SquareFrameGenerator`, `SlideFrameGenerator` and
`IvfFileFrameGenerator`.
All the encoded bitstreams are wrote into ivf output files.
The purposes of this video encoder tool are:
1. Check the functionalities of video codecs and scalability modes.
2. Optimize video quality at different encode setting.
3. Fine tune the bitrate controller.
4. Compare the quality of different codecs at the same setting.
5. And more.
TESTS: Run the tool at 1280x720, 30fps, 2000kbps, 100 GOP, 300 frames:
vp8 [L1T1 L1T3]
h264 [L1T1 L1T3]
vp9 [L1T1 L1T3 L3T3_KEY]
av1 [L1T1 L1T3 L3T3_KEY]
Bug: webrtc:15210
Change-Id: I3b0e463cf3236cd9a481fbab5688643c203958da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307361
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Jianhui J Dai <jianhui.j.dai@intel.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40267}
2023-09-19 21:59:31 +03:00
|
|
|
"//api/video:builtin_video_bitrate_allocator_factory",
|
|
|
|
"//api/video_codecs:builtin_video_encoder_factory",
|
|
|
|
"//api/video_codecs:video_codecs_api",
|
2024-01-03 20:58:17 +03:00
|
|
|
"//media:media_constants",
|
Bug 1851693 - Vendor libwebrtc from 18f66fcde8
Upstream commit: https://webrtc.googlesource.com/src/+/18f66fcde888336190d8f63b306aca12952f2567
[rct_tools/video_encoder] Add video encoder tool
This CL adds a new video encode tool that supports to encode video at
specified codec, scalability mode, resolution, frame rate, bitrate,
key frame interval and the number of encoding frames.
The video encoder accepts video frames from `FrameGeneratorInterface`,
and supports `SquareFrameGenerator`, `SlideFrameGenerator` and
`IvfFileFrameGenerator`.
All the encoded bitstreams are wrote into ivf output files.
The purposes of this video encoder tool are:
1. Check the functionalities of video codecs and scalability modes.
2. Optimize video quality at different encode setting.
3. Fine tune the bitrate controller.
4. Compare the quality of different codecs at the same setting.
5. And more.
TESTS: Run the tool at 1280x720, 30fps, 2000kbps, 100 GOP, 300 frames:
vp8 [L1T1 L1T3]
h264 [L1T1 L1T3]
vp9 [L1T1 L1T3 L3T3_KEY]
av1 [L1T1 L1T3 L3T3_KEY]
Bug: webrtc:15210
Change-Id: I3b0e463cf3236cd9a481fbab5688643c203958da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307361
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Jianhui J Dai <jianhui.j.dai@intel.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40267}
2023-09-19 21:59:31 +03:00
|
|
|
"//modules/video_coding:video_codec_interface",
|
|
|
|
"//modules/video_coding:video_coding_utility",
|
|
|
|
"//modules/video_coding/codecs/av1:av1_svc_config",
|
|
|
|
"//modules/video_coding/svc:scalability_mode_util",
|
|
|
|
"//rtc_base:logging",
|
2023-10-16 17:11:15 +03:00
|
|
|
"//test:y4m_frame_generator",
|
Bug 1851693 - Vendor libwebrtc from 18f66fcde8
Upstream commit: https://webrtc.googlesource.com/src/+/18f66fcde888336190d8f63b306aca12952f2567
[rct_tools/video_encoder] Add video encoder tool
This CL adds a new video encode tool that supports to encode video at
specified codec, scalability mode, resolution, frame rate, bitrate,
key frame interval and the number of encoding frames.
The video encoder accepts video frames from `FrameGeneratorInterface`,
and supports `SquareFrameGenerator`, `SlideFrameGenerator` and
`IvfFileFrameGenerator`.
All the encoded bitstreams are wrote into ivf output files.
The purposes of this video encoder tool are:
1. Check the functionalities of video codecs and scalability modes.
2. Optimize video quality at different encode setting.
3. Fine tune the bitrate controller.
4. Compare the quality of different codecs at the same setting.
5. And more.
TESTS: Run the tool at 1280x720, 30fps, 2000kbps, 100 GOP, 300 frames:
vp8 [L1T1 L1T3]
h264 [L1T1 L1T3]
vp9 [L1T1 L1T3 L3T3_KEY]
av1 [L1T1 L1T3 L3T3_KEY]
Bug: webrtc:15210
Change-Id: I3b0e463cf3236cd9a481fbab5688643c203958da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307361
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Jianhui J Dai <jianhui.j.dai@intel.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40267}
2023-09-19 21:59:31 +03:00
|
|
|
"//third_party/abseil-cpp/absl/flags:flag",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:parse",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:usage",
|
|
|
|
]
|
|
|
|
}
|
2022-01-29 00:11:22 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (rtc_include_tests) {
|
2022-05-02 20:57:14 +03:00
|
|
|
if (!build_with_chromium) {
|
|
|
|
if (rtc_enable_protobuf) {
|
|
|
|
rtc_executable("event_log_visualizer") {
|
2022-10-18 00:04:17 +03:00
|
|
|
# TODO(bugs.webrtc.org/14248): Remove once usage of std::tmpnam
|
|
|
|
# is removed (in favor of in memory InputAudioFile.
|
|
|
|
cflags_cc = [ "-Wno-deprecated-declarations" ]
|
|
|
|
sources = [
|
|
|
|
"rtc_event_log_visualizer/conversational_speech_en.h",
|
|
|
|
"rtc_event_log_visualizer/main.cc",
|
2022-05-02 20:57:14 +03:00
|
|
|
]
|
|
|
|
deps = [
|
|
|
|
":event_log_visualizer_utils",
|
|
|
|
"../api/neteq:neteq_api",
|
|
|
|
"../api/rtc_event_log",
|
|
|
|
"../logging:rtc_event_log_parser",
|
|
|
|
"../modules/audio_coding:neteq",
|
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
|
|
|
"../rtc_base:checks",
|
2022-07-13 18:24:49 +03:00
|
|
|
"../rtc_base:logging",
|
2022-05-02 20:57:14 +03:00
|
|
|
"../rtc_base:protobuf_utils",
|
|
|
|
"../system_wrappers:field_trial",
|
|
|
|
"//third_party/abseil-cpp/absl/algorithm:container",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:config",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:flag",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:parse",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:usage",
|
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
|
|
]
|
|
|
|
}
|
2023-02-03 03:33:30 +03:00
|
|
|
|
|
|
|
rtc_executable("rtc_event_log_to_text") {
|
|
|
|
testonly = true
|
|
|
|
sources = [
|
|
|
|
"rtc_event_log_to_text/converter.cc",
|
|
|
|
"rtc_event_log_to_text/converter.h",
|
|
|
|
"rtc_event_log_to_text/main.cc",
|
|
|
|
]
|
|
|
|
deps = [
|
|
|
|
"../api/rtc_event_log",
|
|
|
|
"../logging:ice_log",
|
|
|
|
"../logging:rtc_event_audio",
|
|
|
|
"../logging:rtc_event_begin_end",
|
|
|
|
"../logging:rtc_event_bwe",
|
|
|
|
"../logging:rtc_event_frame_events",
|
|
|
|
"../logging:rtc_event_generic_packet_events",
|
|
|
|
"../logging:rtc_event_log2_proto",
|
|
|
|
"../logging:rtc_event_log_impl_encoder",
|
|
|
|
"../logging:rtc_event_log_parser",
|
|
|
|
"../logging:rtc_event_log_proto",
|
|
|
|
"../logging:rtc_event_pacing",
|
|
|
|
"../logging:rtc_event_rtp_rtcp",
|
|
|
|
"../logging:rtc_event_video",
|
|
|
|
"../logging:rtc_stream_config",
|
|
|
|
"../rtc_base:checks",
|
|
|
|
"../rtc_base:logging",
|
|
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:flag",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:parse",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:usage",
|
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
|
|
]
|
|
|
|
}
|
2022-05-02 20:57:14 +03:00
|
|
|
}
|
2022-01-29 00:11:22 +03:00
|
|
|
|
2022-05-02 20:57:14 +03:00
|
|
|
tools_unittests_resources = [
|
|
|
|
"../resources/foreman_128x96.yuv",
|
|
|
|
"../resources/foreman_cif.yuv",
|
|
|
|
"../resources/reference_less_video_test_file.y4m",
|
2024-01-03 21:02:10 +03:00
|
|
|
"../resources/rtc_event_log/rtc_event_log_500kbps.binarypb",
|
2022-05-02 20:57:14 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
if (is_ios) {
|
|
|
|
bundle_data("tools_unittests_bundle_data") {
|
|
|
|
testonly = true
|
|
|
|
sources = tools_unittests_resources
|
|
|
|
outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
|
|
|
|
}
|
2022-01-29 00:11:22 +03:00
|
|
|
}
|
|
|
|
|
2022-05-02 20:57:14 +03:00
|
|
|
rtc_test("tools_unittests") {
|
|
|
|
testonly = true
|
2022-01-29 00:11:22 +03:00
|
|
|
|
2022-05-02 20:57:14 +03:00
|
|
|
sources = [
|
|
|
|
"frame_analyzer/linear_least_squares_unittest.cc",
|
|
|
|
"frame_analyzer/reference_less_video_analysis_unittest.cc",
|
|
|
|
"frame_analyzer/video_color_aligner_unittest.cc",
|
|
|
|
"frame_analyzer/video_geometry_aligner_unittest.cc",
|
|
|
|
"frame_analyzer/video_quality_analysis_unittest.cc",
|
|
|
|
"frame_analyzer/video_temporal_aligner_unittest.cc",
|
|
|
|
"sanitizers_unittest.cc",
|
|
|
|
"video_file_reader_unittest.cc",
|
|
|
|
"video_file_writer_unittest.cc",
|
|
|
|
]
|
2022-01-29 00:11:22 +03:00
|
|
|
|
2022-05-02 20:57:14 +03:00
|
|
|
deps = [
|
|
|
|
":video_file_reader",
|
|
|
|
":video_file_writer",
|
|
|
|
":video_quality_analysis",
|
|
|
|
"../api:scoped_refptr",
|
2023-02-02 01:25:48 +03:00
|
|
|
"../api/test/metrics:metric",
|
|
|
|
"../api/test/metrics:metrics_logger",
|
2022-05-02 20:57:14 +03:00
|
|
|
"../api/video:video_frame",
|
|
|
|
"../api/video:video_rtp_headers",
|
|
|
|
"../common_video",
|
|
|
|
"../rtc_base:checks",
|
|
|
|
"../rtc_base:null_socket_server",
|
|
|
|
"../rtc_base:threading",
|
2023-02-02 01:25:48 +03:00
|
|
|
"../system_wrappers",
|
2022-05-02 20:57:14 +03:00
|
|
|
"../test:fileutils",
|
|
|
|
"../test:test_main",
|
|
|
|
"../test:test_support",
|
|
|
|
"//testing/gtest",
|
|
|
|
"//third_party/libyuv",
|
|
|
|
]
|
2022-01-29 00:11:22 +03:00
|
|
|
|
2022-05-02 20:57:14 +03:00
|
|
|
if (!build_with_chromium) {
|
|
|
|
deps += [ ":reference_less_video_analysis_lib" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
if (rtc_enable_protobuf) {
|
2024-01-03 21:02:10 +03:00
|
|
|
deps += [
|
|
|
|
":event_log_visualizer_bindings_unittest",
|
|
|
|
"network_tester:network_tester_unittests",
|
|
|
|
]
|
2022-05-02 20:57:14 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
data = tools_unittests_resources
|
|
|
|
if (is_android) {
|
|
|
|
deps += [ "//testing/android/native_test:native_test_support" ]
|
|
|
|
shard_timeout = 900
|
|
|
|
}
|
|
|
|
if (is_ios) {
|
|
|
|
deps += [ ":tools_unittests_bundle_data" ]
|
|
|
|
}
|
2022-01-29 00:11:22 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (rtc_enable_protobuf) {
|
2022-05-02 20:57:14 +03:00
|
|
|
rtc_executable("audioproc_f") {
|
|
|
|
testonly = true
|
|
|
|
sources = [ "audioproc_f/audioproc_float_main.cc" ]
|
|
|
|
deps = [
|
|
|
|
"../api:audioproc_f_api",
|
2024-06-18 18:25:59 +03:00
|
|
|
"../api/audio:audio_processing",
|
2022-05-02 20:57:14 +03:00
|
|
|
"../modules/audio_processing",
|
|
|
|
]
|
|
|
|
}
|
2022-01-29 00:11:22 +03:00
|
|
|
|
2022-05-02 20:57:14 +03:00
|
|
|
rtc_executable("unpack_aecdump") {
|
|
|
|
visibility = [ "*" ]
|
|
|
|
sources = [ "unpack_aecdump/unpack.cc" ]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
"../api:function_view",
|
|
|
|
"../common_audio",
|
|
|
|
"../modules/audio_processing",
|
|
|
|
"../modules/audio_processing:audioproc_debug_proto",
|
|
|
|
"../modules/audio_processing:audioproc_debug_proto",
|
|
|
|
"../modules/audio_processing:audioproc_protobuf_utils",
|
2022-10-17 23:24:23 +03:00
|
|
|
"../rtc_base:checks",
|
2022-07-13 18:25:53 +03:00
|
|
|
"../rtc_base:macromagic",
|
2022-05-02 20:57:14 +03:00
|
|
|
"../rtc_base:protobuf_utils",
|
2022-07-13 18:48:08 +03:00
|
|
|
"../rtc_base:stringutils",
|
2022-10-17 23:24:23 +03:00
|
|
|
"../rtc_base/system:arch",
|
2022-05-02 20:57:14 +03:00
|
|
|
"//third_party/abseil-cpp/absl/flags:flag",
|
|
|
|
"//third_party/abseil-cpp/absl/flags:parse",
|
|
|
|
]
|
|
|
|
} # unpack_aecdump
|
2022-01-29 00:11:22 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (rtc_enable_protobuf) {
|
|
|
|
copy("rtp_analyzer") {
|
|
|
|
sources = [
|
|
|
|
"py_event_log_analyzer/misc.py",
|
|
|
|
"py_event_log_analyzer/pb_parse.py",
|
|
|
|
"py_event_log_analyzer/rtp_analyzer.py",
|
|
|
|
"py_event_log_analyzer/rtp_analyzer.sh",
|
|
|
|
]
|
|
|
|
outputs = [ "$root_build_dir/{{source_file_part}}" ]
|
|
|
|
deps = [ "../logging:rtc_event_log_proto" ]
|
|
|
|
} # rtp_analyzer
|
|
|
|
}
|
|
|
|
}
|