diff --git a/test/BUILD.gn b/test/BUILD.gn index d9a4721c39..dc703aaf9b 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -167,7 +167,6 @@ rtc_library("frame_generator_capturer") { "../rtc_base:checks", "../rtc_base:logging", "../rtc_base:macromagic", - "../rtc_base:rtc_task_queue", "../rtc_base/synchronization:mutex", "../rtc_base/task_utils:repeating_task", "../system_wrappers", @@ -215,7 +214,6 @@ rtc_library("video_test_common") { "../rtc_base:criticalsection", "../rtc_base:logging", "../rtc_base:refcount", - "../rtc_base:rtc_task_queue", "../rtc_base:timeutils", "../rtc_base/synchronization:mutex", "../rtc_base/task_utils:repeating_task", @@ -729,6 +727,7 @@ if (rtc_include_tests) { "../api:mock_video_encoder", "../api:scoped_refptr", "../api:simulcast_test_fixture_api", + "../api/task_queue", "../api/task_queue:task_queue_test", "../api/test/video:function_video_factory", "../api/test/video:video_frame_writer", @@ -755,7 +754,6 @@ if (rtc_include_tests) { "../modules/video_coding/svc:scalability_mode_util", "../rtc_base:criticalsection", "../rtc_base:rtc_event", - "../rtc_base:rtc_task_queue", "../rtc_base/synchronization:mutex", "../rtc_base/system:file_wrapper", "jitter:jitter_unittests", @@ -1017,7 +1015,6 @@ rtc_library("fake_video_codecs") { "../rtc_base:checks", "../rtc_base:criticalsection", "../rtc_base:macromagic", - "../rtc_base:rtc_task_queue", "../rtc_base:timeutils", "../rtc_base/synchronization:mutex", "../system_wrappers", diff --git a/test/fake_decoder.cc b/test/fake_decoder.cc index 01d95bfeb4..12bff8d36c 100644 --- a/test/fake_decoder.cc +++ b/test/fake_decoder.cc @@ -15,13 +15,13 @@ #include #include "api/scoped_refptr.h" +#include "api/task_queue/task_queue_factory.h" #include "api/video/i420_buffer.h" #include "api/video/video_frame.h" #include "api/video/video_frame_buffer.h" #include "api/video/video_rotation.h" #include "modules/video_coding/include/video_error_codes.h" #include "rtc_base/checks.h" -#include "rtc_base/task_queue.h" #include "rtc_base/time_utils.h" namespace webrtc { diff --git a/test/frame_generator_capturer.cc b/test/frame_generator_capturer.cc index 6ba0807a74..7cdfec2cc2 100644 --- a/test/frame_generator_capturer.cc +++ b/test/frame_generator_capturer.cc @@ -29,7 +29,6 @@ #include "rtc_base/checks.h" #include "rtc_base/logging.h" #include "rtc_base/synchronization/mutex.h" -#include "rtc_base/task_queue.h" #include "rtc_base/task_utils/repeating_task.h" #include "system_wrappers/include/clock.h" #include "test/test_video_capturer.h" @@ -58,6 +57,9 @@ FrameGeneratorCapturer::FrameGeneratorCapturer( FrameGeneratorCapturer::~FrameGeneratorCapturer() { Stop(); + // Deconstruct first as tasks in the TaskQueue access other fields of the + // instance of this class. + task_queue_ = nullptr; } void FrameGeneratorCapturer::SetFakeRotation(VideoRotation rotation) { @@ -78,7 +80,7 @@ bool FrameGeneratorCapturer::Init() { return false; frame_task_ = RepeatingTaskHandle::DelayedStart( - task_queue_.Get(), + task_queue_.get(), TimeDelta::Seconds(1) / GetCurrentConfiguredFramerate(), [this] { InsertFrame(); @@ -131,7 +133,7 @@ void FrameGeneratorCapturer::Start() { } if (!frame_task_.Running()) { frame_task_ = RepeatingTaskHandle::Start( - task_queue_.Get(), + task_queue_.get(), [this] { InsertFrame(); return TimeDelta::Seconds(1) / GetCurrentConfiguredFramerate(); @@ -219,7 +221,7 @@ void FrameGeneratorCapturer::UpdateFps(int max_fps) { void FrameGeneratorCapturer::ForceFrame() { // One-time non-repeating task, - task_queue_.PostTask([this] { InsertFrame(); }); + task_queue_->PostTask([this] { InsertFrame(); }); } int FrameGeneratorCapturer::GetCurrentConfiguredFramerate() { diff --git a/test/frame_generator_capturer.h b/test/frame_generator_capturer.h index 6824ba681e..bb0c445c53 100644 --- a/test/frame_generator_capturer.h +++ b/test/frame_generator_capturer.h @@ -15,6 +15,7 @@ #include #include "absl/types/optional.h" +#include "api/task_queue/task_queue_base.h" #include "api/task_queue/task_queue_factory.h" #include "api/test/frame_generator_interface.h" #include "api/video/color_space.h" @@ -23,7 +24,6 @@ #include "api/video/video_sink_interface.h" #include "api/video/video_source_interface.h" #include "rtc_base/synchronization/mutex.h" -#include "rtc_base/task_queue.h" #include "rtc_base/task_utils/repeating_task.h" #include "rtc_base/thread_annotations.h" #include "system_wrappers/include/clock.h" @@ -106,9 +106,7 @@ class FrameGeneratorCapturer : public TestVideoCapturer { int64_t first_frame_capture_time_; - // Must be the last field, so it will be deconstructed first as tasks - // in the TaskQueue access other fields of the instance of this class. - rtc::TaskQueue task_queue_; + std::unique_ptr task_queue_; }; } // namespace test } // namespace webrtc diff --git a/test/run_loop_unittest.cc b/test/run_loop_unittest.cc index 80f0bcbdcc..e6c747ac4f 100644 --- a/test/run_loop_unittest.cc +++ b/test/run_loop_unittest.cc @@ -10,8 +10,8 @@ #include "test/run_loop.h" +#include "api/task_queue/task_queue_base.h" #include "api/units/time_delta.h" -#include "rtc_base/task_queue.h" #include "test/gtest.h" namespace webrtc {