mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 13:50:40 +01:00
Removes usages of repeating task without task queue argument.
This prepares from removing the overload in a followup CL. Bug: webrtc:10365 Change-Id: I80db16e7d37944e3dc7d2799bbf45ef8f439a22c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126860 Reviewed-by: Åsa Persson <asapersson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27091}
This commit is contained in:
parent
e7a5f7bfae
commit
cda86dd483
9 changed files with 37 additions and 25 deletions
|
@ -68,13 +68,14 @@ class QualityScaler::QpSmoother {
|
|||
rtc::ExpFilter smoother_;
|
||||
};
|
||||
|
||||
|
||||
QualityScaler::QualityScaler(AdaptationObserverInterface* observer,
|
||||
QualityScaler::QualityScaler(rtc::TaskQueue* task_queue,
|
||||
AdaptationObserverInterface* observer,
|
||||
VideoEncoder::QpThresholds thresholds)
|
||||
: QualityScaler(observer, thresholds, kMeasureMs) {}
|
||||
: QualityScaler(task_queue, observer, thresholds, kMeasureMs) {}
|
||||
|
||||
// Protected ctor, should not be called directly.
|
||||
QualityScaler::QualityScaler(AdaptationObserverInterface* observer,
|
||||
QualityScaler::QualityScaler(rtc::TaskQueue* task_queue,
|
||||
AdaptationObserverInterface* observer,
|
||||
VideoEncoder::QpThresholds thresholds,
|
||||
int64_t sampling_period_ms)
|
||||
: observer_(observer),
|
||||
|
@ -95,7 +96,7 @@ QualityScaler::QualityScaler(AdaptationObserverInterface* observer,
|
|||
}
|
||||
RTC_DCHECK(observer_ != nullptr);
|
||||
check_qp_task_ = RepeatingTaskHandle::DelayedStart(
|
||||
TimeDelta::ms(GetSamplingPeriodMs()), [this]() {
|
||||
task_queue->Get(), TimeDelta::ms(GetSamplingPeriodMs()), [this]() {
|
||||
CheckQp();
|
||||
return TimeDelta::ms(GetSamplingPeriodMs());
|
||||
});
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "rtc_base/experiments/quality_scaling_experiment.h"
|
||||
#include "rtc_base/numerics/moving_average.h"
|
||||
#include "rtc_base/sequenced_task_checker.h"
|
||||
#include "rtc_base/task_queue.h"
|
||||
#include "rtc_base/task_utils/repeating_task.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
@ -48,7 +49,8 @@ class QualityScaler {
|
|||
// Construct a QualityScaler with given |thresholds| and |observer|.
|
||||
// This starts the quality scaler periodically checking what the average QP
|
||||
// has been recently.
|
||||
QualityScaler(AdaptationObserverInterface* observer,
|
||||
QualityScaler(rtc::TaskQueue* task_queue,
|
||||
AdaptationObserverInterface* observer,
|
||||
VideoEncoder::QpThresholds thresholds);
|
||||
virtual ~QualityScaler();
|
||||
// Should be called each time a frame is dropped at encoding.
|
||||
|
@ -59,7 +61,8 @@ class QualityScaler {
|
|||
|
||||
// The following members declared protected for testing purposes.
|
||||
protected:
|
||||
QualityScaler(AdaptationObserverInterface* observer,
|
||||
QualityScaler(rtc::TaskQueue* task_queue,
|
||||
AdaptationObserverInterface* observer,
|
||||
VideoEncoder::QpThresholds thresholds,
|
||||
int64_t sampling_period_ms);
|
||||
|
||||
|
|
|
@ -59,9 +59,10 @@ class MockAdaptationObserver : public AdaptationObserverInterface {
|
|||
// Pass a lower sampling period to speed up the tests.
|
||||
class QualityScalerUnderTest : public QualityScaler {
|
||||
public:
|
||||
explicit QualityScalerUnderTest(AdaptationObserverInterface* observer,
|
||||
explicit QualityScalerUnderTest(rtc::TaskQueue* task_queue,
|
||||
AdaptationObserverInterface* observer,
|
||||
VideoEncoder::QpThresholds thresholds)
|
||||
: QualityScaler(observer, thresholds, 5) {}
|
||||
: QualityScaler(task_queue, observer, thresholds, 5) {}
|
||||
};
|
||||
|
||||
class QualityScalerTest : public ::testing::Test,
|
||||
|
@ -81,7 +82,8 @@ class QualityScalerTest : public ::testing::Test,
|
|||
observer_(new MockAdaptationObserver()) {
|
||||
DO_SYNC(q_, {
|
||||
qs_ = std::unique_ptr<QualityScaler>(new QualityScalerUnderTest(
|
||||
observer_.get(), VideoEncoder::QpThresholds(kLowQp, kHighQp)));
|
||||
q_.get(), observer_.get(),
|
||||
VideoEncoder::QpThresholds(kLowQp, kHighQp)));
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -227,11 +227,12 @@ void PeerConnectionE2EQualityTest::Run(
|
|||
|
||||
task_queue_.PostTask([&stats_poller, this]() {
|
||||
RTC_DCHECK_RUN_ON(&task_queue_);
|
||||
stats_polling_task_ = RepeatingTaskHandle::Start([this, &stats_poller]() {
|
||||
RTC_DCHECK_RUN_ON(&task_queue_);
|
||||
stats_poller.PollStatsAndNotifyObservers();
|
||||
return kStatsUpdateInterval;
|
||||
});
|
||||
stats_polling_task_ =
|
||||
RepeatingTaskHandle::Start(task_queue_.Get(), [this, &stats_poller]() {
|
||||
RTC_DCHECK_RUN_ON(&task_queue_);
|
||||
stats_poller.PollStatsAndNotifyObservers();
|
||||
return kStatsUpdateInterval;
|
||||
});
|
||||
});
|
||||
|
||||
rtc::Event done;
|
||||
|
|
|
@ -538,6 +538,7 @@ OveruseFrameDetector::OveruseFrameDetector(
|
|||
OveruseFrameDetector::~OveruseFrameDetector() {}
|
||||
|
||||
void OveruseFrameDetector::StartCheckForOveruse(
|
||||
rtc::TaskQueue* task_queue,
|
||||
const CpuOveruseOptions& options,
|
||||
AdaptationObserverInterface* overuse_observer) {
|
||||
RTC_DCHECK_CALLED_SEQUENTIALLY(&task_checker_);
|
||||
|
@ -546,7 +547,8 @@ void OveruseFrameDetector::StartCheckForOveruse(
|
|||
|
||||
SetOptions(options);
|
||||
check_overuse_task_ = RepeatingTaskHandle::DelayedStart(
|
||||
TimeDelta::ms(kTimeToFirstCheckForOveruseMs), [this, overuse_observer] {
|
||||
task_queue->Get(), TimeDelta::ms(kTimeToFirstCheckForOveruseMs),
|
||||
[this, overuse_observer] {
|
||||
CheckForOveruse(overuse_observer);
|
||||
return TimeDelta::ms(kCheckForOveruseIntervalMs);
|
||||
});
|
||||
|
|
|
@ -57,7 +57,8 @@ class OveruseFrameDetector {
|
|||
virtual ~OveruseFrameDetector();
|
||||
|
||||
// Start to periodically check for overuse.
|
||||
void StartCheckForOveruse(const CpuOveruseOptions& options,
|
||||
void StartCheckForOveruse(rtc::TaskQueue* task_queue,
|
||||
const CpuOveruseOptions& options,
|
||||
AdaptationObserverInterface* overuse_observer);
|
||||
|
||||
// StopCheckForOveruse must be called before destruction if
|
||||
|
|
|
@ -428,8 +428,8 @@ TEST_F(OveruseFrameDetectorTest, RunOnTqNormalUsage) {
|
|||
rtc::TaskQueue queue("OveruseFrameDetectorTestQueue");
|
||||
|
||||
rtc::Event event;
|
||||
queue.PostTask([this, &event] {
|
||||
overuse_detector_->StartCheckForOveruse(options_, observer_);
|
||||
queue.PostTask([this, &event, &queue] {
|
||||
overuse_detector_->StartCheckForOveruse(&queue, options_, observer_);
|
||||
event.Set();
|
||||
});
|
||||
event.Wait(rtc::Event::kForever);
|
||||
|
@ -908,8 +908,8 @@ TEST_F(OveruseFrameDetectorTest2, RunOnTqNormalUsage) {
|
|||
rtc::TaskQueue queue("OveruseFrameDetectorTestQueue");
|
||||
|
||||
rtc::Event event;
|
||||
queue.PostTask([this, &event] {
|
||||
overuse_detector_->StartCheckForOveruse(options_, observer_);
|
||||
queue.PostTask([this, &event, &queue] {
|
||||
overuse_detector_->StartCheckForOveruse(&queue, options_, observer_);
|
||||
event.Set();
|
||||
});
|
||||
event.Wait(rtc::Event::kForever);
|
||||
|
|
|
@ -390,8 +390,8 @@ void VideoSendStreamImpl::StartupVideoSendStream() {
|
|||
|
||||
activity_ = false;
|
||||
timed_out_ = false;
|
||||
check_encoder_activity_task_ =
|
||||
RepeatingTaskHandle::DelayedStart(kEncoderTimeOut, [this] {
|
||||
check_encoder_activity_task_ = RepeatingTaskHandle::DelayedStart(
|
||||
worker_queue_->Get(), kEncoderTimeOut, [this] {
|
||||
RTC_DCHECK_RUN_ON(worker_queue_);
|
||||
if (!activity_) {
|
||||
if (!timed_out_) {
|
||||
|
|
|
@ -741,6 +741,7 @@ void VideoStreamEncoder::ReconfigureEncoder() {
|
|||
if (pending_encoder_creation_) {
|
||||
overuse_detector_->StopCheckForOveruse();
|
||||
overuse_detector_->StartCheckForOveruse(
|
||||
&encoder_queue_,
|
||||
GetCpuOveruseOptions(
|
||||
settings_, encoder_->GetEncoderInfo().is_hardware_accelerated),
|
||||
this);
|
||||
|
@ -829,8 +830,9 @@ void VideoStreamEncoder::ConfigureQualityScaler(
|
|||
// upcast.
|
||||
AdaptationObserverInterface* observer = this;
|
||||
quality_scaler_ = absl::make_unique<QualityScaler>(
|
||||
observer, experimental_thresholds ? *experimental_thresholds
|
||||
: *(scaling_settings.thresholds));
|
||||
&encoder_queue_, observer,
|
||||
experimental_thresholds ? *experimental_thresholds
|
||||
: *(scaling_settings.thresholds));
|
||||
has_seen_first_significant_bwe_change_ = false;
|
||||
initial_framedrop_ = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue