Move JitterEstimator into timing sub-folder
Bug: webrtc:14111 Change-Id: Ic5c66f35e3cedac7a328fbb6613e5cdf13a8005e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263582 Commit-Queue: Rasmus Brandt <brandtr@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37000}
This commit is contained in:

committed by
WebRTC LUCI CQ

parent
4662f53285
commit
10944e61ac
@ -183,26 +183,6 @@ rtc_library("timing") {
|
||||
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
||||
}
|
||||
|
||||
rtc_library("jitter_estimator") {
|
||||
sources = [
|
||||
"jitter_estimator.cc",
|
||||
"jitter_estimator.h",
|
||||
]
|
||||
deps = [
|
||||
"../../api:field_trials_view",
|
||||
"../../api/units:data_size",
|
||||
"../../api/units:frequency",
|
||||
"../../api/units:time_delta",
|
||||
"../../api/units:timestamp",
|
||||
"../../rtc_base",
|
||||
"../../rtc_base:safe_conversions",
|
||||
"../../rtc_base/experiments:jitter_upper_bound_experiment",
|
||||
"../../system_wrappers",
|
||||
"timing:rtt_filter",
|
||||
]
|
||||
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
||||
}
|
||||
|
||||
rtc_library("video_coding") {
|
||||
visibility = [ "*" ]
|
||||
sources = [
|
||||
@ -250,7 +230,6 @@ rtc_library("video_coding") {
|
||||
":codec_globals_headers",
|
||||
":encoded_frame",
|
||||
":frame_helpers",
|
||||
":jitter_estimator",
|
||||
":timing",
|
||||
":video_codec_interface",
|
||||
":video_coding_utility",
|
||||
@ -318,6 +297,7 @@ rtc_library("video_coding") {
|
||||
"codecs/av1:av1_svc_config",
|
||||
"svc:scalability_mode_util",
|
||||
"timing:inter_frame_delay",
|
||||
"timing:jitter_estimator",
|
||||
"timing:rtt_filter",
|
||||
]
|
||||
absl_deps = [
|
||||
@ -375,7 +355,6 @@ rtc_library("video_coding_legacy") {
|
||||
deps = [
|
||||
":codec_globals_headers",
|
||||
":encoded_frame",
|
||||
":jitter_estimator",
|
||||
":timing",
|
||||
":video_codec_interface",
|
||||
":video_coding",
|
||||
@ -409,6 +388,7 @@ rtc_library("video_coding_legacy") {
|
||||
"../rtp_rtcp:rtp_video_header",
|
||||
"../utility",
|
||||
"timing:inter_frame_delay",
|
||||
"timing:jitter_estimator",
|
||||
]
|
||||
absl_deps = [
|
||||
"//third_party/abseil-cpp/absl/memory",
|
||||
@ -1131,7 +1111,6 @@ if (rtc_include_tests) {
|
||||
"h264_sps_pps_tracker_unittest.cc",
|
||||
"histogram_unittest.cc",
|
||||
"jitter_buffer_unittest.cc",
|
||||
"jitter_estimator_tests.cc",
|
||||
"loss_notification_controller_unittest.cc",
|
||||
"nack_module_unittest.cc",
|
||||
"nack_requester_unittest.cc",
|
||||
@ -1171,7 +1150,6 @@ if (rtc_include_tests) {
|
||||
":encoded_frame",
|
||||
":frame_dependencies_calculator",
|
||||
":h264_packet_buffer",
|
||||
":jitter_estimator",
|
||||
":nack_requester",
|
||||
":packet_buffer",
|
||||
":simulcast_test_fixture_impl",
|
||||
@ -1257,6 +1235,7 @@ if (rtc_include_tests) {
|
||||
"deprecated:nack_module",
|
||||
"svc:scalability_structure_tests",
|
||||
"svc:svc_rate_allocator_tests",
|
||||
"timing:jitter_estimator",
|
||||
]
|
||||
absl_deps = [
|
||||
"//third_party/abseil-cpp/absl/memory",
|
||||
|
@ -25,8 +25,8 @@
|
||||
#include "api/video/video_timing.h"
|
||||
#include "modules/video_coding/frame_helpers.h"
|
||||
#include "modules/video_coding/include/video_coding_defines.h"
|
||||
#include "modules/video_coding/jitter_estimator.h"
|
||||
#include "modules/video_coding/timing.h"
|
||||
#include "modules/video_coding/timing/jitter_estimator.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/experiments/rtt_mult_experiment.h"
|
||||
#include "rtc_base/logging.h"
|
||||
|
@ -22,8 +22,8 @@
|
||||
#include "api/sequence_checker.h"
|
||||
#include "api/video/encoded_frame.h"
|
||||
#include "modules/video_coding/include/video_coding_defines.h"
|
||||
#include "modules/video_coding/jitter_estimator.h"
|
||||
#include "modules/video_coding/timing/inter_frame_delay.h"
|
||||
#include "modules/video_coding/timing/jitter_estimator.h"
|
||||
#include "modules/video_coding/utility/decoded_frames_history.h"
|
||||
#include "rtc_base/event.h"
|
||||
#include "rtc_base/experiments/field_trial_parser.h"
|
||||
@ -39,7 +39,7 @@ namespace webrtc {
|
||||
|
||||
class Clock;
|
||||
class VCMReceiveStatisticsCallback;
|
||||
class VCMJitterEstimator;
|
||||
class JitterEstimator;
|
||||
class VCMTiming;
|
||||
|
||||
namespace video_coding {
|
||||
@ -172,7 +172,7 @@ class FrameBuffer {
|
||||
int64_t latest_return_time_ms_ RTC_GUARDED_BY(mutex_);
|
||||
bool keyframe_required_ RTC_GUARDED_BY(mutex_);
|
||||
|
||||
VCMJitterEstimator jitter_estimator_ RTC_GUARDED_BY(mutex_);
|
||||
JitterEstimator jitter_estimator_ RTC_GUARDED_BY(mutex_);
|
||||
VCMTiming* const timing_ RTC_GUARDED_BY(mutex_);
|
||||
InterFrameDelay inter_frame_delay_ RTC_GUARDED_BY(mutex_);
|
||||
absl::optional<int64_t> last_continuous_frame_ RTC_GUARDED_BY(mutex_);
|
||||
|
@ -19,8 +19,8 @@
|
||||
#include "api/units/time_delta.h"
|
||||
#include "api/units/timestamp.h"
|
||||
#include "modules/video_coding/frame_object.h"
|
||||
#include "modules/video_coding/jitter_estimator.h"
|
||||
#include "modules/video_coding/timing.h"
|
||||
#include "modules/video_coding/timing/jitter_estimator.h"
|
||||
#include "rtc_base/numerics/sequence_number_util.h"
|
||||
#include "rtc_base/platform_thread.h"
|
||||
#include "rtc_base/random.h"
|
||||
|
@ -18,9 +18,9 @@
|
||||
#include "modules/video_coding/include/video_coding.h"
|
||||
#include "modules/video_coding/internal_defines.h"
|
||||
#include "modules/video_coding/jitter_buffer_common.h"
|
||||
#include "modules/video_coding/jitter_estimator.h"
|
||||
#include "modules/video_coding/packet.h"
|
||||
#include "modules/video_coding/timing/inter_frame_delay.h"
|
||||
#include "modules/video_coding/timing/jitter_estimator.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "system_wrappers/include/clock.h"
|
||||
|
@ -25,8 +25,8 @@
|
||||
#include "modules/video_coding/include/video_coding.h"
|
||||
#include "modules/video_coding/include/video_coding_defines.h"
|
||||
#include "modules/video_coding/jitter_buffer_common.h"
|
||||
#include "modules/video_coding/jitter_estimator.h"
|
||||
#include "modules/video_coding/timing/inter_frame_delay.h"
|
||||
#include "modules/video_coding/timing/jitter_estimator.h"
|
||||
#include "rtc_base/synchronization/mutex.h"
|
||||
#include "rtc_base/thread_annotations.h"
|
||||
|
||||
@ -252,7 +252,7 @@ class VCMJitterBuffer {
|
||||
|
||||
// Jitter estimation.
|
||||
// Filter for estimating jitter.
|
||||
VCMJitterEstimator jitter_estimate_;
|
||||
JitterEstimator jitter_estimate_;
|
||||
// Calculates network delays used for jitter calculations.
|
||||
InterFrameDelay inter_frame_delay_;
|
||||
VCMJitterSample waiting_for_completion_;
|
||||
|
@ -30,6 +30,26 @@ rtc_library("inter_frame_delay") {
|
||||
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
||||
}
|
||||
|
||||
rtc_library("jitter_estimator") {
|
||||
sources = [
|
||||
"jitter_estimator.cc",
|
||||
"jitter_estimator.h",
|
||||
]
|
||||
deps = [
|
||||
":rtt_filter",
|
||||
"../../../api:field_trials_view",
|
||||
"../../../api/units:data_size",
|
||||
"../../../api/units:frequency",
|
||||
"../../../api/units:time_delta",
|
||||
"../../../api/units:timestamp",
|
||||
"../../../rtc_base",
|
||||
"../../../rtc_base:safe_conversions",
|
||||
"../../../rtc_base/experiments:jitter_upper_bound_experiment",
|
||||
"../../../system_wrappers",
|
||||
]
|
||||
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
||||
}
|
||||
|
||||
rtc_library("rtt_filter") {
|
||||
sources = [
|
||||
"rtt_filter.cc",
|
||||
@ -46,15 +66,24 @@ rtc_library("timing_unittests") {
|
||||
testonly = true
|
||||
sources = [
|
||||
"inter_frame_delay_unittest.cc",
|
||||
"jitter_estimator_unittest.cc",
|
||||
"rtt_filter_unittest.cc",
|
||||
]
|
||||
deps = [
|
||||
":inter_frame_delay",
|
||||
":jitter_estimator",
|
||||
":rtt_filter",
|
||||
"../../../api:array_view",
|
||||
"../../../api/units:data_size",
|
||||
"../../../api/units:frequency",
|
||||
"../../../api/units:time_delta",
|
||||
"../../../api/units:timestamp",
|
||||
"../../../rtc_base:histogram_percentile_counter",
|
||||
"../../../rtc_base:stringutils",
|
||||
"../../../rtc_base:timeutils",
|
||||
"../../../rtc_base/experiments:jitter_upper_bound_experiment",
|
||||
"../../../system_wrappers:system_wrappers",
|
||||
"../../../test:scoped_key_value_config",
|
||||
"../../../test:test_support",
|
||||
]
|
||||
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
||||
|
@ -8,7 +8,7 @@
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "modules/video_coding/jitter_estimator.h"
|
||||
#include "modules/video_coding/timing/jitter_estimator.h"
|
||||
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
@ -49,8 +49,8 @@ constexpr double kNoiseStdDevOffset = 30.0;
|
||||
|
||||
} // namespace
|
||||
|
||||
VCMJitterEstimator::VCMJitterEstimator(Clock* clock,
|
||||
const FieldTrialsView& field_trials)
|
||||
JitterEstimator::JitterEstimator(Clock* clock,
|
||||
const FieldTrialsView& field_trials)
|
||||
: fps_counter_(30), // TODO(sprang): Use an estimator with limit based on
|
||||
// time, rather than number of samples.
|
||||
time_deviation_upper_bound_(
|
||||
@ -62,10 +62,10 @@ VCMJitterEstimator::VCMJitterEstimator(Clock* clock,
|
||||
Reset();
|
||||
}
|
||||
|
||||
VCMJitterEstimator::~VCMJitterEstimator() = default;
|
||||
JitterEstimator::~JitterEstimator() = default;
|
||||
|
||||
// Resets the JitterEstimate.
|
||||
void VCMJitterEstimator::Reset() {
|
||||
void JitterEstimator::Reset() {
|
||||
theta_[0] = 1 / (512e3 / 8);
|
||||
theta_[1] = 0;
|
||||
var_noise_ = 4.0;
|
||||
@ -95,9 +95,9 @@ void VCMJitterEstimator::Reset() {
|
||||
}
|
||||
|
||||
// Updates the estimates with the new measurements.
|
||||
void VCMJitterEstimator::UpdateEstimate(TimeDelta frame_delay,
|
||||
DataSize frame_size,
|
||||
bool incomplete_frame /* = false */) {
|
||||
void JitterEstimator::UpdateEstimate(TimeDelta frame_delay,
|
||||
DataSize frame_size,
|
||||
bool incomplete_frame /* = false */) {
|
||||
if (frame_size.IsZero()) {
|
||||
return;
|
||||
}
|
||||
@ -178,7 +178,7 @@ void VCMJitterEstimator::UpdateEstimate(TimeDelta frame_delay,
|
||||
}
|
||||
|
||||
// Updates the nack/packet ratio.
|
||||
void VCMJitterEstimator::FrameNacked() {
|
||||
void JitterEstimator::FrameNacked() {
|
||||
if (nack_count_ < kNackLimit) {
|
||||
nack_count_++;
|
||||
}
|
||||
@ -187,8 +187,8 @@ void VCMJitterEstimator::FrameNacked() {
|
||||
|
||||
// Updates Kalman estimate of the channel.
|
||||
// The caller is expected to sanity check the inputs.
|
||||
void VCMJitterEstimator::KalmanEstimateChannel(TimeDelta frame_delay,
|
||||
double delta_frame_size_bytes) {
|
||||
void JitterEstimator::KalmanEstimateChannel(TimeDelta frame_delay,
|
||||
double delta_frame_size_bytes) {
|
||||
double Mh[2];
|
||||
double hMh_sigma;
|
||||
double kalmanGain[2];
|
||||
@ -265,7 +265,7 @@ void VCMJitterEstimator::KalmanEstimateChannel(TimeDelta frame_delay,
|
||||
|
||||
// Calculate difference in delay between a sample and the expected delay
|
||||
// estimated by the Kalman filter
|
||||
double VCMJitterEstimator::DeviationFromExpectedDelay(
|
||||
double JitterEstimator::DeviationFromExpectedDelay(
|
||||
TimeDelta frame_delay,
|
||||
double delta_frame_size_bytes) const {
|
||||
return frame_delay.ms() - (theta_[0] * delta_frame_size_bytes + theta_[1]);
|
||||
@ -273,8 +273,7 @@ double VCMJitterEstimator::DeviationFromExpectedDelay(
|
||||
|
||||
// Estimates the random jitter by calculating the variance of the sample
|
||||
// distance from the line given by theta.
|
||||
void VCMJitterEstimator::EstimateRandomJitter(double d_dT,
|
||||
bool incomplete_frame) {
|
||||
void JitterEstimator::EstimateRandomJitter(double d_dT, bool incomplete_frame) {
|
||||
Timestamp now = clock_->CurrentTime();
|
||||
if (last_update_time_.has_value()) {
|
||||
fps_counter_.AddSample((now - *last_update_time_).us());
|
||||
@ -322,7 +321,7 @@ void VCMJitterEstimator::EstimateRandomJitter(double d_dT,
|
||||
}
|
||||
}
|
||||
|
||||
double VCMJitterEstimator::NoiseThreshold() const {
|
||||
double JitterEstimator::NoiseThreshold() const {
|
||||
double noiseThreshold = kNoiseStdDevs * sqrt(var_noise_) - kNoiseStdDevOffset;
|
||||
if (noiseThreshold < 1.0) {
|
||||
noiseThreshold = 1.0;
|
||||
@ -331,7 +330,7 @@ double VCMJitterEstimator::NoiseThreshold() const {
|
||||
}
|
||||
|
||||
// Calculates the current jitter estimate from the filtered estimates.
|
||||
TimeDelta VCMJitterEstimator::CalculateEstimate() {
|
||||
TimeDelta JitterEstimator::CalculateEstimate() {
|
||||
double retMs =
|
||||
theta_[0] * (max_frame_size_.bytes() - avg_frame_size_.bytes()) +
|
||||
NoiseThreshold();
|
||||
@ -355,17 +354,17 @@ TimeDelta VCMJitterEstimator::CalculateEstimate() {
|
||||
return ret;
|
||||
}
|
||||
|
||||
void VCMJitterEstimator::PostProcessEstimate() {
|
||||
void JitterEstimator::PostProcessEstimate() {
|
||||
filter_jitter_estimate_ = CalculateEstimate();
|
||||
}
|
||||
|
||||
void VCMJitterEstimator::UpdateRtt(TimeDelta rtt) {
|
||||
void JitterEstimator::UpdateRtt(TimeDelta rtt) {
|
||||
rtt_filter_.Update(rtt);
|
||||
}
|
||||
|
||||
// Returns the current filtered estimate if available,
|
||||
// otherwise tries to calculate an estimate.
|
||||
TimeDelta VCMJitterEstimator::GetJitterEstimate(
|
||||
TimeDelta JitterEstimator::GetJitterEstimate(
|
||||
double rtt_multiplier,
|
||||
absl::optional<TimeDelta> rtt_mult_add_cap) {
|
||||
TimeDelta jitter = CalculateEstimate() + OPERATING_SYSTEM_JITTER;
|
||||
@ -408,7 +407,7 @@ TimeDelta VCMJitterEstimator::GetJitterEstimate(
|
||||
return std::max(TimeDelta::Zero(), jitter);
|
||||
}
|
||||
|
||||
Frequency VCMJitterEstimator::GetFrameRate() const {
|
||||
Frequency JitterEstimator::GetFrameRate() const {
|
||||
TimeDelta mean_frame_period = TimeDelta::Micros(fps_counter_.ComputeMean());
|
||||
if (mean_frame_period <= TimeDelta::Zero())
|
||||
return Frequency::Zero();
|
@ -8,8 +8,8 @@
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#ifndef MODULES_VIDEO_CODING_JITTER_ESTIMATOR_H_
|
||||
#define MODULES_VIDEO_CODING_JITTER_ESTIMATOR_H_
|
||||
#ifndef MODULES_VIDEO_CODING_TIMING_JITTER_ESTIMATOR_H_
|
||||
#define MODULES_VIDEO_CODING_TIMING_JITTER_ESTIMATOR_H_
|
||||
|
||||
#include "absl/types/optional.h"
|
||||
#include "api/field_trials_view.h"
|
||||
@ -24,13 +24,12 @@ namespace webrtc {
|
||||
|
||||
class Clock;
|
||||
|
||||
class VCMJitterEstimator {
|
||||
class JitterEstimator {
|
||||
public:
|
||||
explicit VCMJitterEstimator(Clock* clock,
|
||||
const FieldTrialsView& field_trials);
|
||||
virtual ~VCMJitterEstimator();
|
||||
VCMJitterEstimator(const VCMJitterEstimator&) = delete;
|
||||
VCMJitterEstimator& operator=(const VCMJitterEstimator&) = delete;
|
||||
explicit JitterEstimator(Clock* clock, const FieldTrialsView& field_trials);
|
||||
virtual ~JitterEstimator();
|
||||
JitterEstimator(const JitterEstimator&) = delete;
|
||||
JitterEstimator& operator=(const JitterEstimator&) = delete;
|
||||
|
||||
// Resets the estimate to the initial state.
|
||||
void Reset();
|
||||
@ -163,4 +162,4 @@ class VCMJitterEstimator {
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // MODULES_VIDEO_CODING_JITTER_ESTIMATOR_H_
|
||||
#endif // MODULES_VIDEO_CODING_TIMING_JITTER_ESTIMATOR_H_
|
@ -7,6 +7,8 @@
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "modules/video_coding/timing/jitter_estimator.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <memory>
|
||||
@ -17,7 +19,6 @@
|
||||
#include "api/units/data_size.h"
|
||||
#include "api/units/frequency.h"
|
||||
#include "api/units/time_delta.h"
|
||||
#include "modules/video_coding/jitter_estimator.h"
|
||||
#include "rtc_base/experiments/jitter_upper_bound_experiment.h"
|
||||
#include "rtc_base/numerics/histogram_percentile_counter.h"
|
||||
#include "rtc_base/strings/string_builder.h"
|
||||
@ -28,18 +29,17 @@
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
class TestVCMJitterEstimator : public ::testing::Test {
|
||||
class TestJitterEstimator : public ::testing::Test {
|
||||
protected:
|
||||
TestVCMJitterEstimator() : fake_clock_(0) {}
|
||||
TestJitterEstimator() : fake_clock_(0) {}
|
||||
|
||||
virtual void SetUp() {
|
||||
estimator_ =
|
||||
std::make_unique<VCMJitterEstimator>(&fake_clock_, field_trials_);
|
||||
estimator_ = std::make_unique<JitterEstimator>(&fake_clock_, field_trials_);
|
||||
}
|
||||
|
||||
SimulatedClock fake_clock_;
|
||||
test::ScopedKeyValueConfig field_trials_;
|
||||
std::unique_ptr<VCMJitterEstimator> estimator_;
|
||||
std::unique_ptr<JitterEstimator> estimator_;
|
||||
};
|
||||
|
||||
// Generates some simple test data in the form of a sawtooth wave.
|
||||
@ -66,7 +66,7 @@ class ValueGenerator {
|
||||
};
|
||||
|
||||
// 5 fps, disable jitter delay altogether.
|
||||
TEST_F(TestVCMJitterEstimator, TestLowRate) {
|
||||
TEST_F(TestJitterEstimator, TestLowRate) {
|
||||
ValueGenerator gen(10);
|
||||
TimeDelta time_delta = 1 / Frequency::Hertz(5);
|
||||
for (int i = 0; i < 60; ++i) {
|
||||
@ -79,7 +79,7 @@ TEST_F(TestVCMJitterEstimator, TestLowRate) {
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(TestVCMJitterEstimator, TestLowRateDisabled) {
|
||||
TEST_F(TestJitterEstimator, TestLowRateDisabled) {
|
||||
test::ScopedKeyValueConfig field_trials(
|
||||
field_trials_, "WebRTC-ReducedJitterDelayKillSwitch/Enabled/");
|
||||
SetUp();
|
||||
@ -96,7 +96,7 @@ TEST_F(TestVCMJitterEstimator, TestLowRateDisabled) {
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(TestVCMJitterEstimator, TestUpperBound) {
|
||||
TEST_F(TestJitterEstimator, TestUpperBound) {
|
||||
struct TestContext {
|
||||
TestContext()
|
||||
: upper_bound(0.0),
|
||||
@ -143,8 +143,8 @@ TEST_F(TestVCMJitterEstimator, TestUpperBound) {
|
||||
for (int i = 0; i < 100; ++i) {
|
||||
estimator_->UpdateEstimate(gen.Delay(), gen.FrameSize());
|
||||
fake_clock_.AdvanceTime(time_delta);
|
||||
estimator_->FrameNacked(); // To test rtt_mult.
|
||||
estimator_->UpdateRtt(kRtt); // To test rtt_mult.
|
||||
estimator_->FrameNacked(); // To test rtt_mult.
|
||||
estimator_->UpdateRtt(kRtt); // To test rtt_mult.
|
||||
context.percentiles.Add(
|
||||
estimator_
|
||||
->GetJitterEstimate(context.rtt_mult, context.rtt_mult_add_cap_ms)
|
@ -103,7 +103,6 @@ rtc_library("video") {
|
||||
"../modules/video_coding",
|
||||
"../modules/video_coding:codec_globals_headers",
|
||||
"../modules/video_coding:frame_helpers",
|
||||
"../modules/video_coding:jitter_estimator",
|
||||
"../modules/video_coding:nack_requester",
|
||||
"../modules/video_coding:packet_buffer",
|
||||
"../modules/video_coding:timing",
|
||||
@ -353,6 +352,7 @@ rtc_library("frame_buffer_proxy") {
|
||||
"../modules/video_coding:timing",
|
||||
"../modules/video_coding:video_codec_interface",
|
||||
"../modules/video_coding/timing:inter_frame_delay",
|
||||
"../modules/video_coding/timing:jitter_estimator",
|
||||
"../rtc_base:checks",
|
||||
"../rtc_base:logging",
|
||||
"../rtc_base:macromagic",
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "modules/video_coding/frame_buffer2.h"
|
||||
#include "modules/video_coding/frame_helpers.h"
|
||||
#include "modules/video_coding/timing/inter_frame_delay.h"
|
||||
#include "modules/video_coding/timing/jitter_estimator.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/thread_annotations.h"
|
||||
@ -500,8 +501,7 @@ class FrameBuffer3Proxy : public FrameBufferProxy {
|
||||
const std::unique_ptr<FrameDecodeScheduler> frame_decode_scheduler_
|
||||
RTC_GUARDED_BY(&worker_sequence_checker_);
|
||||
|
||||
VCMJitterEstimator jitter_estimator_
|
||||
RTC_GUARDED_BY(&worker_sequence_checker_);
|
||||
JitterEstimator jitter_estimator_ RTC_GUARDED_BY(&worker_sequence_checker_);
|
||||
InterFrameDelay inter_frame_delay_ RTC_GUARDED_BY(&worker_sequence_checker_);
|
||||
bool keyframe_required_ RTC_GUARDED_BY(&worker_sequence_checker_) = false;
|
||||
std::unique_ptr<FrameBuffer> buffer_
|
||||
|
@ -46,7 +46,6 @@
|
||||
#include "modules/video_coding/include/video_codec_interface.h"
|
||||
#include "modules/video_coding/include/video_coding_defines.h"
|
||||
#include "modules/video_coding/include/video_error_codes.h"
|
||||
#include "modules/video_coding/jitter_estimator.h"
|
||||
#include "modules/video_coding/timing.h"
|
||||
#include "modules/video_coding/utility/vp8_header_parser.h"
|
||||
#include "rtc_base/checks.h"
|
||||
|
Reference in New Issue
Block a user