blob: 9802b05a46df897ab9c344b290bb2c3b27f24c87 [file] [log] [blame]
# Copyright (c) 2022 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_library("decode_time_percentile_filter") {
sources = [
"decode_time_percentile_filter.cc",
"decode_time_percentile_filter.h",
]
deps = [ "../../../rtc_base:rtc_numerics" ]
}
rtc_library("inter_frame_delay_variation_calculator") {
sources = [
"inter_frame_delay_variation_calculator.cc",
"inter_frame_delay_variation_calculator.h",
]
deps = [
"../..:module_api_public",
"../../../api/units:frequency",
"../../../api/units:time_delta",
"../../../api/units:timestamp",
"../../../rtc_base:rtc_numerics",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_library("frame_delay_variation_kalman_filter") {
sources = [
"frame_delay_variation_kalman_filter.cc",
"frame_delay_variation_kalman_filter.h",
]
deps = [
"../../../api/units:data_size",
"../../../api/units:time_delta",
]
visibility = [
":jitter_estimator",
":timing_unittests",
]
}
rtc_library("jitter_estimator") {
sources = [
"jitter_estimator.cc",
"jitter_estimator.h",
]
deps = [
":frame_delay_variation_kalman_filter",
":rtt_filter",
"../../../api:field_trials_view",
"../../../api/units:data_size",
"../../../api/units:frequency",
"../../../api/units:time_delta",
"../../../api/units:timestamp",
"../../../rtc_base:checks",
"../../../rtc_base:logging",
"../../../rtc_base:rolling_accumulator",
"../../../rtc_base:rtc_numerics",
"../../../rtc_base:safe_conversions",
"../../../rtc_base/experiments:field_trial_parser",
"../../../system_wrappers",
]
absl_deps = [
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("rtt_filter") {
sources = [
"rtt_filter.cc",
"rtt_filter.h",
]
deps = [ "../../../api/units:time_delta" ]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/container:inlined_vector",
]
}
rtc_library("timestamp_extrapolator") {
sources = [
"timestamp_extrapolator.cc",
"timestamp_extrapolator.h",
]
deps = [
"../../../api/units:timestamp",
"../../../modules:module_api_public",
"../../../rtc_base:rtc_numerics",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_library("timing_module") {
sources = [
"timing.cc",
"timing.h",
]
deps = [
":decode_time_percentile_filter",
":timestamp_extrapolator",
"../../../api:field_trials_view",
"../../../api/units:time_delta",
"../../../api/video:video_frame",
"../../../api/video:video_rtp_headers",
"../../../rtc_base:logging",
"../../../rtc_base:macromagic",
"../../../rtc_base:rtc_numerics",
"../../../rtc_base/experiments:field_trial_parser",
"../../../rtc_base/synchronization:mutex",
"../../../system_wrappers",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_library("timing_unittests") {
testonly = true
sources = [
"frame_delay_variation_kalman_filter_unittest.cc",
"inter_frame_delay_variation_calculator_unittest.cc",
"jitter_estimator_unittest.cc",
"rtt_filter_unittest.cc",
"timestamp_extrapolator_unittest.cc",
"timing_unittest.cc",
]
deps = [
":frame_delay_variation_kalman_filter",
":inter_frame_delay_variation_calculator",
":jitter_estimator",
":rtt_filter",
":timestamp_extrapolator",
":timing_module",
"../../../api:array_view",
"../../../api:field_trials",
"../../../api/units:data_size",
"../../../api/units:frequency",
"../../../api/units:time_delta",
"../../../api/units:timestamp",
"../../../rtc_base:histogram_percentile_counter",
"../../../rtc_base:timeutils",
"../../../system_wrappers:system_wrappers",
"../../../test:scoped_key_value_config",
"../../../test:test_support",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}