In video replace non-owning pointer to rtc::TaskQueue with non-owning pointer to TaskQueueBase

rtc::TaskQueue is a simple wrapper over TaskQueueBase and adds no
extra features when task queue is used without passing ownership.

Reducing usage of the internal rtc::TaskQueue wrapper gives users more flexibility how TaskQueueBase* is stored.

Bug: webrtc:14169
Change-Id: If5c8827544c843502c7dfcef775ac558de79ec3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268189
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37549}
This commit is contained in:
Danil Chapovalov
2022-07-18 13:11:42 +02:00
committed by WebRTC LUCI CQ
parent ee3ad9f2ce
commit 03f8b8a241
34 changed files with 58 additions and 69 deletions

View File

@ -16,6 +16,7 @@
#include <memory>
#include <vector>
#include "api/task_queue/task_queue_base.h"
#include "api/units/time_delta.h"
#include "api/units/timestamp.h"
#include "modules/video_coding/frame_object.h"
@ -185,8 +186,9 @@ class TestFrameBuffer2 : public ::testing::Test {
}
void ExtractFrame(int64_t max_wait_time = 0, bool keyframe_required = false) {
time_task_queue_.PostTask([this, max_wait_time, keyframe_required]() {
buffer_->NextFrame(max_wait_time, keyframe_required, &time_task_queue_,
time_task_queue_->PostTask([this, max_wait_time, keyframe_required]() {
buffer_->NextFrame(max_wait_time, keyframe_required,
time_task_queue_.get(),
[this](std::unique_ptr<EncodedFrame> frame) {
frames_.emplace_back(std::move(frame));
});
@ -218,7 +220,7 @@ class TestFrameBuffer2 : public ::testing::Test {
test::ScopedKeyValueConfig field_trials_;
webrtc::GlobalSimulatedTimeController time_controller_;
rtc::TaskQueue time_task_queue_;
std::unique_ptr<TaskQueueBase, TaskQueueDeleter> time_task_queue_;
VCMTimingFake timing_;
std::unique_ptr<FrameBuffer> buffer_;
std::vector<std::unique_ptr<EncodedFrame>> frames_;