From c374d11fac252535ccba15975568b1f6552c117e Mon Sep 17 00:00:00 2001 From: Artem Titov Date: Thu, 16 Jun 2022 21:27:45 +0200 Subject: [PATCH] Move to_queued_task.h and pending_task_safety_flag.h into public API Bug: b/235812579 Change-Id: I9fa3dc4a65044df8b44fff4e9bfeac7233fa381c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266080 Reviewed-by: Harald Alvestrand Commit-Queue: Artem Titov Cr-Commit-Position: refs/heads/main@{#37248} --- BUILD.gn | 4 +- api/metronome/test/BUILD.gn | 2 +- api/metronome/test/fake_metronome.cc | 2 +- api/task_queue/BUILD.gn | 50 +++++- api/task_queue/DEPS | 4 + .../task_queue}/pending_task_safety_flag.cc | 2 +- api/task_queue/pending_task_safety_flag.h | 160 ++++++++++++++++++ .../pending_task_safety_flag_unittest.cc | 8 +- api/task_queue/task_queue_test.cc | 2 +- api/task_queue/to_queued_task.h | 111 ++++++++++++ .../task_queue}/to_queued_task_unittest.cc | 2 +- audio/BUILD.gn | 4 +- audio/channel_receive.cc | 4 +- ...nnel_receive_frame_transformer_delegate.cc | 2 +- call/BUILD.gn | 4 +- call/adaptation/BUILD.gn | 4 +- .../resource_adaptation_processor.cc | 2 +- call/call.cc | 2 +- call/call_perf_tests.cc | 2 +- call/degraded_call.h | 2 +- media/BUILD.gn | 12 +- media/base/media_channel.cc | 2 +- media/base/media_channel.h | 2 +- media/engine/webrtc_video_engine.h | 2 +- media/engine/webrtc_voice_engine.cc | 4 +- media/engine/webrtc_voice_engine.h | 2 +- modules/pacing/BUILD.gn | 4 +- .../task_queue_paced_sender_unittest.cc | 2 +- modules/rtp_rtcp/BUILD.gn | 8 +- modules/rtp_rtcp/source/rtcp_transceiver.cc | 2 +- .../rtp_rtcp/source/rtcp_transceiver_impl.cc | 2 +- .../source/rtcp_transceiver_impl_unittest.cc | 2 +- modules/rtp_rtcp/source/rtp_rtcp_impl2.cc | 2 +- modules/rtp_rtcp/source/rtp_rtcp_impl2.h | 4 +- modules/rtp_rtcp/source/rtp_sender_egress.cc | 2 +- modules/rtp_rtcp/source/rtp_sender_egress.h | 2 +- .../rtp_rtcp/source/rtp_sender_unittest.cc | 2 +- ...sender_video_frame_transformer_delegate.cc | 2 +- modules/video_coding/BUILD.gn | 8 +- .../codecs/test/videoprocessor.cc | 2 +- modules/video_coding/nack_requester.h | 2 +- .../utility/bandwidth_quality_scaler.cc | 2 +- .../video_coding/utility/quality_scaler.cc | 2 +- net/dcsctp/socket/BUILD.gn | 2 +- .../socket/dcsctp_socket_network_test.cc | 2 +- net/dcsctp/timer/BUILD.gn | 4 +- net/dcsctp/timer/task_queue_timeout.cc | 4 +- net/dcsctp/timer/task_queue_timeout.h | 2 +- p2p/BUILD.gn | 14 +- p2p/base/fake_ice_transport.h | 4 +- p2p/base/p2p_transport_channel.cc | 2 +- p2p/base/p2p_transport_channel.h | 2 +- p2p/base/regathering_controller.cc | 3 +- p2p/base/regathering_controller.h | 2 +- p2p/base/stun_port.h | 2 +- p2p/base/stun_request.cc | 2 +- p2p/base/stun_request.h | 2 +- p2p/base/tcp_port.cc | 2 +- p2p/base/tcp_port.h | 2 +- p2p/base/turn_port.cc | 2 +- p2p/base/turn_port.h | 2 +- p2p/base/turn_server.cc | 2 +- p2p/client/basic_port_allocator.cc | 2 +- p2p/client/basic_port_allocator.h | 2 +- p2p/stunprober/stun_prober.cc | 2 +- p2p/stunprober/stun_prober.h | 2 +- pc/BUILD.gn | 38 ++--- pc/audio_rtp_receiver.cc | 2 +- pc/audio_rtp_receiver.h | 2 +- pc/channel.cc | 4 +- pc/channel.h | 2 +- pc/channel_unittest.cc | 4 +- pc/connection_context.cc | 2 +- pc/data_channel_controller.cc | 2 +- pc/dtmf_sender.cc | 2 +- pc/dtmf_sender.h | 2 +- pc/peer_connection.cc | 2 +- pc/peer_connection.h | 2 +- pc/rtp_transceiver.cc | 2 +- pc/rtp_transceiver.h | 2 +- pc/sctp_data_channel.cc | 2 +- pc/test/integration_test_helpers.h | 4 +- rtc_base/BUILD.gn | 20 +-- rtc_base/async_resolver.cc | 2 +- rtc_base/async_resolver.h | 2 +- rtc_base/fake_mdns_responder.h | 2 +- rtc_base/memory/BUILD.gn | 4 +- rtc_base/memory/fifo_buffer.h | 4 +- rtc_base/network.cc | 2 +- rtc_base/network.h | 2 +- rtc_base/openssl_stream_adapter.cc | 2 +- rtc_base/openssl_stream_adapter.h | 2 +- rtc_base/ssl_stream_adapter_unittest.cc | 4 +- rtc_base/task_queue.h | 2 +- rtc_base/task_queue_for_test.h | 2 +- rtc_base/task_utils/BUILD.gn | 49 +----- .../task_utils/pending_task_safety_flag.h | 144 +--------------- rtc_base/task_utils/repeating_task.cc | 4 +- rtc_base/task_utils/repeating_task.h | 2 +- .../task_utils/repeating_task_unittest.cc | 2 +- rtc_base/task_utils/to_queued_task.h | 97 +---------- rtc_base/thread.cc | 2 +- rtc_base/thread.h | 2 +- rtc_base/thread_unittest.cc | 2 +- rtc_base/time_utils_unittest.cc | 2 +- sdk/BUILD.gn | 4 +- sdk/android/BUILD.gn | 6 +- .../src/jni/android_network_monitor.cc | 2 +- sdk/android/src/jni/android_network_monitor.h | 2 +- sdk/android/src/jni/video_encoder_wrapper.cc | 2 +- sdk/objc/native/src/objc_network_monitor.h | 2 +- sdk/objc/native/src/objc_network_monitor.mm | 2 +- test/BUILD.gn | 6 +- test/network/BUILD.gn | 4 +- test/network/fake_network_socket_server.cc | 4 +- test/run_loop.cc | 2 +- test/run_loop.h | 2 +- test/run_loop_unittest.cc | 2 +- test/time_controller/BUILD.gn | 4 +- test/time_controller/simulated_thread.cc | 2 +- .../time_controller_conformance_test.cc | 2 +- video/BUILD.gn | 20 +-- video/adaptation/BUILD.gn | 4 +- video/adaptation/balanced_constraint.cc | 2 +- .../bandwidth_quality_scaler_resource.cc | 2 +- .../pixel_limit_resource_unittest.cc | 2 +- video/adaptation/quality_scaler_resource.cc | 2 +- video/call_stats2.cc | 2 +- video/call_stats2.h | 2 +- video/call_stats2_unittest.cc | 2 +- video/end_to_end_tests/bandwidth_tests.cc | 2 +- video/end_to_end_tests/network_state_tests.cc | 2 +- video/frame_cadence_adapter.cc | 4 +- video/frame_cadence_adapter_unittest.cc | 2 +- video/frame_decode_timing.h | 2 +- video/receive_statistics_proxy2.cc | 2 +- video/receive_statistics_proxy2.h | 2 +- video/receive_statistics_proxy2_unittest.cc | 2 +- ...eam_receiver_frame_transformer_delegate.cc | 2 +- ...ver_frame_transformer_delegate_unittest.cc | 2 +- video/task_queue_frame_decode_scheduler.cc | 2 +- video/video_receive_stream2.cc | 4 +- video/video_receive_stream2.h | 2 +- video/video_send_stream.cc | 2 +- video/video_send_stream.h | 2 +- video/video_send_stream_impl.cc | 2 +- video/video_send_stream_impl.h | 2 +- video/video_send_stream_tests.cc | 2 +- video/video_stream_encoder.cc | 2 +- video/video_stream_encoder.h | 2 +- 150 files changed, 560 insertions(+), 512 deletions(-) rename {rtc_base/task_utils => api/task_queue}/pending_task_safety_flag.cc (96%) create mode 100644 api/task_queue/pending_task_safety_flag.h rename {rtc_base/task_utils => api/task_queue}/pending_task_safety_flag_unittest.cc (96%) create mode 100644 api/task_queue/to_queued_task.h rename {rtc_base/task_utils => api/task_queue}/to_queued_task_unittest.cc (98%) diff --git a/BUILD.gn b/BUILD.gn index 461138a40d..75af939ae5 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -555,6 +555,8 @@ if (rtc_include_tests && !build_with_chromium) { "api/audio/test:audio_api_unittests", "api/audio_codecs/test:audio_codecs_api_unittests", "api/numerics:numerics_unittests", + "api/task_queue:pending_task_safety_flag_unittests", + "api/task_queue:to_queued_task_unittests", "api/transport:stun_unittest", "api/video/test:rtc_api_video_unittests", "api/video_codecs/test:video_codecs_api_unittests", @@ -574,9 +576,7 @@ if (rtc_include_tests && !build_with_chromium) { "rtc_base:weak_ptr_unittests", "rtc_base/experiments:experiments_unittests", "rtc_base/system:file_wrapper_unittests", - "rtc_base/task_utils:pending_task_safety_flag_unittests", "rtc_base/task_utils:repeating_task_unittests", - "rtc_base/task_utils:to_queued_task_unittests", "rtc_base/time:timestamp_extrapolator_unittests", "rtc_base/units:units_unittests", "sdk:sdk_tests", diff --git a/api/metronome/test/BUILD.gn b/api/metronome/test/BUILD.gn index d25d5a848a..160b45cdf1 100644 --- a/api/metronome/test/BUILD.gn +++ b/api/metronome/test/BUILD.gn @@ -18,12 +18,12 @@ rtc_library("fake_metronome") { "..:metronome", "../..:priority", "../..:sequence_checker", + "../../../api/task_queue:to_queued_task", "../../../rtc_base:macromagic", "../../../rtc_base:rtc_event", "../../../rtc_base:rtc_task_queue", "../../../rtc_base/synchronization:mutex", "../../../rtc_base/task_utils:repeating_task", - "../../../rtc_base/task_utils:to_queued_task", "../../task_queue", "../../units:time_delta", ] diff --git a/api/metronome/test/fake_metronome.cc b/api/metronome/test/fake_metronome.cc index 83b5ea7604..7813a3de48 100644 --- a/api/metronome/test/fake_metronome.cc +++ b/api/metronome/test/fake_metronome.cc @@ -13,10 +13,10 @@ #include "api/priority.h" #include "api/sequence_checker.h" #include "api/task_queue/task_queue_factory.h" +#include "api/task_queue/to_queued_task.h" #include "api/units/time_delta.h" #include "rtc_base/event.h" #include "rtc_base/task_utils/repeating_task.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace webrtc::test { diff --git a/api/task_queue/BUILD.gn b/api/task_queue/BUILD.gn index 1072057e3f..94b8deb659 100644 --- a/api/task_queue/BUILD.gn +++ b/api/task_queue/BUILD.gn @@ -61,10 +61,10 @@ rtc_library("task_queue_test") { } else { deps = [ ":task_queue", + "../../api/task_queue:to_queued_task", "../../rtc_base:refcount", "../../rtc_base:rtc_event", "../../rtc_base:timeutils", - "../../rtc_base/task_utils:to_queued_task", "../../test:test_support", ] absl_deps = [ @@ -97,6 +97,29 @@ rtc_library("default_task_queue_factory") { } } +rtc_source_set("to_queued_task") { + visibility = [ "*" ] + sources = [ "to_queued_task.h" ] + deps = [ + ":task_queue", + "../../api/task_queue:pending_task_safety_flag", + ] +} + +rtc_library("pending_task_safety_flag") { + sources = [ + "pending_task_safety_flag.cc", + "pending_task_safety_flag.h", + ] + deps = [ + "../../api:refcountedbase", + "../../api:scoped_refptr", + "../../api:sequence_checker", + "../../rtc_base:checks", + "../../rtc_base/system:no_unique_address", + ] +} + if (rtc_include_tests) { rtc_library("task_queue_default_factory_unittests") { testonly = true @@ -107,4 +130,29 @@ if (rtc_include_tests) { "../../test:test_support", ] } + + rtc_library("to_queued_task_unittests") { + testonly = true + sources = [ "to_queued_task_unittest.cc" ] + deps = [ + ":to_queued_task", + "../../api/task_queue", + "../../test:test_support", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] + } + + rtc_library("pending_task_safety_flag_unittests") { + testonly = true + sources = [ "pending_task_safety_flag_unittest.cc" ] + deps = [ + ":pending_task_safety_flag", + ":to_queued_task", + "../../rtc_base:logging", + "../../rtc_base:rtc_event", + "../../rtc_base:rtc_task_queue", + "../../rtc_base:task_queue_for_test", + "../../test:test_support", + ] + } } diff --git a/api/task_queue/DEPS b/api/task_queue/DEPS index fab6056212..1365edb504 100644 --- a/api/task_queue/DEPS +++ b/api/task_queue/DEPS @@ -7,4 +7,8 @@ specific_include_rules = { "task_queue_test\.h": [ "+test/gtest.h", ], + "pending_task_safety_flag.h": [ + "+rtc_base/checks.h", + "+rtc_base/system/no_unique_address.h", + ], } diff --git a/rtc_base/task_utils/pending_task_safety_flag.cc b/api/task_queue/pending_task_safety_flag.cc similarity index 96% rename from rtc_base/task_utils/pending_task_safety_flag.cc rename to api/task_queue/pending_task_safety_flag.cc index 8bff213a03..437ce0755d 100644 --- a/rtc_base/task_utils/pending_task_safety_flag.cc +++ b/api/task_queue/pending_task_safety_flag.cc @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "rtc_base/task_utils/pending_task_safety_flag.h" +#include "api/task_queue/pending_task_safety_flag.h" namespace webrtc { diff --git a/api/task_queue/pending_task_safety_flag.h b/api/task_queue/pending_task_safety_flag.h new file mode 100644 index 0000000000..edfd8e93dd --- /dev/null +++ b/api/task_queue/pending_task_safety_flag.h @@ -0,0 +1,160 @@ +/* + * Copyright 2020 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. + */ + +#ifndef API_TASK_QUEUE_PENDING_TASK_SAFETY_FLAG_H_ +#define API_TASK_QUEUE_PENDING_TASK_SAFETY_FLAG_H_ + +#include + +#include "api/ref_counted_base.h" +#include "api/scoped_refptr.h" +#include "api/sequence_checker.h" +#include "rtc_base/checks.h" +#include "rtc_base/system/no_unique_address.h" + +namespace webrtc { + +// The PendingTaskSafetyFlag and the ScopedTaskSafety are designed to address +// the issue where you have a task to be executed later that has references, +// but cannot guarantee that the referenced object is alive when the task is +// executed. + +// This mechanism can be used with tasks that are created and destroyed +// on a single thread / task queue, and with tasks posted to the same +// thread/task queue, but tasks can be posted from any thread/TQ. + +// Typical usage: +// When posting a task, post a copy (capture by-value in a lambda) of the flag +// reference and before performing the work, check the `alive()` state. Abort if +// alive() returns `false`: +// +// class ExampleClass { +// .... +// my_task_queue_->PostTask(ToQueuedTask( +// [safety = pending_task_safety_flag_, this]() { +// // Now running on the main thread. +// if (!safety->alive()) +// return; +// MyMethod(); +// })); +// .... +// ~ExampleClass() { +// pending_task_safety_flag_->SetNotAlive(); +// } +// scoped_refptr pending_task_safety_flag_ +// = PendingTaskSafetyFlag::Create(); +// } +// +// ToQueuedTask has an overload that makes this check automatic: +// +// my_task_queue_->PostTask(ToQueuedTask(pending_task_safety_flag_, +// [this]() { MyMethod(); })); +// +class PendingTaskSafetyFlag final + : public rtc::RefCountedNonVirtual { + public: + static rtc::scoped_refptr Create(); + + // Creates a flag, but with its SequenceChecker initially detached. Hence, it + // may be created on a different thread than the flag will be used on. + static rtc::scoped_refptr CreateDetached(); + + // Same as `CreateDetached()` except the initial state of the returned flag + // will be `!alive()`. + static rtc::scoped_refptr CreateDetachedInactive(); + + ~PendingTaskSafetyFlag() = default; + + void SetNotAlive(); + // The SetAlive method is intended to support Start/Stop/Restart usecases. + // When a class has called SetNotAlive on a flag used for posted tasks, and + // decides it wants to post new tasks and have them run, there are two + // reasonable ways to do that: + // + // (i) Use the below SetAlive method. One subtlety is that any task posted + // prior to SetNotAlive, and still in the queue, is resurrected and will + // run. + // + // (ii) Create a fresh flag, and just drop the reference to the old one. This + // avoids the above problem, and ensures that tasks poster prior to + // SetNotAlive stay cancelled. Instead, there's a potential data race on + // the flag pointer itself. Some synchronization is required between the + // thread overwriting the flag pointer, and the threads that want to post + // tasks and therefore read that same pointer. + void SetAlive(); + bool alive() const; + + protected: + explicit PendingTaskSafetyFlag(bool alive) : alive_(alive) {} + + private: + static rtc::scoped_refptr CreateInternal(bool alive); + + bool alive_ = true; + RTC_NO_UNIQUE_ADDRESS SequenceChecker main_sequence_; +}; + +// The ScopedTaskSafety makes using PendingTaskSafetyFlag very simple. +// It does automatic PTSF creation and signalling of destruction when the +// ScopedTaskSafety instance goes out of scope. +// +// ToQueuedTask has an overload that takes a ScopedTaskSafety too, so there +// is no need to explicitly call the "flag" method. +// +// Example usage: +// +// my_task_queue->PostTask(ToQueuedTask(scoped_task_safety, +// [this]() { +// // task goes here +// } +// +// This should be used by the class that wants tasks dropped after destruction. +// The requirement is that the instance has to be constructed and destructed on +// the same thread as the potentially dropped tasks would be running on. +class ScopedTaskSafety final { + public: + ScopedTaskSafety() = default; + explicit ScopedTaskSafety(rtc::scoped_refptr flag) + : flag_(std::move(flag)) {} + ~ScopedTaskSafety() { flag_->SetNotAlive(); } + + // Returns a new reference to the safety flag. + rtc::scoped_refptr flag() const { return flag_; } + + // Marks the current flag as not-alive and attaches to a new one. + void reset(rtc::scoped_refptr new_flag = + PendingTaskSafetyFlag::Create()) { + flag_->SetNotAlive(); + flag_ = std::move(new_flag); + } + + private: + rtc::scoped_refptr flag_ = + PendingTaskSafetyFlag::Create(); +}; + +// Like ScopedTaskSafety, but allows construction on a different thread than +// where the flag will be used. +class ScopedTaskSafetyDetached final { + public: + ScopedTaskSafetyDetached() = default; + ~ScopedTaskSafetyDetached() { flag_->SetNotAlive(); } + + // Returns a new reference to the safety flag. + rtc::scoped_refptr flag() const { return flag_; } + + private: + rtc::scoped_refptr flag_ = + PendingTaskSafetyFlag::CreateDetached(); +}; + +} // namespace webrtc + +#endif // API_TASK_QUEUE_PENDING_TASK_SAFETY_FLAG_H_ diff --git a/rtc_base/task_utils/pending_task_safety_flag_unittest.cc b/api/task_queue/pending_task_safety_flag_unittest.cc similarity index 96% rename from rtc_base/task_utils/pending_task_safety_flag_unittest.cc rename to api/task_queue/pending_task_safety_flag_unittest.cc index ec5f6a5931..f045cabb90 100644 --- a/rtc_base/task_utils/pending_task_safety_flag_unittest.cc +++ b/api/task_queue/pending_task_safety_flag_unittest.cc @@ -8,14 +8,14 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "rtc_base/task_utils/pending_task_safety_flag.h" +#include "api/task_queue/pending_task_safety_flag.h" #include +#include "api/task_queue/to_queued_task.h" #include "rtc_base/event.h" #include "rtc_base/logging.h" #include "rtc_base/task_queue_for_test.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "test/gmock.h" #include "test/gtest.h" @@ -120,9 +120,7 @@ TEST(PendingTaskSafetyFlagTest, PendingTaskDropped) { RTC_DCHECK(tq_main_); *stuff_done_ = false; } - ~Owner() { - RTC_DCHECK(tq_main_->IsCurrent()); - } + ~Owner() { RTC_DCHECK(tq_main_->IsCurrent()); } void DoStuff() { RTC_DCHECK(!tq_main_->IsCurrent()); diff --git a/api/task_queue/task_queue_test.cc b/api/task_queue/task_queue_test.cc index 3458edb159..0473b05c1e 100644 --- a/api/task_queue/task_queue_test.cc +++ b/api/task_queue/task_queue_test.cc @@ -11,9 +11,9 @@ #include "absl/memory/memory.h" #include "absl/strings/string_view.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/event.h" #include "rtc_base/ref_counter.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" namespace webrtc { diff --git a/api/task_queue/to_queued_task.h b/api/task_queue/to_queued_task.h new file mode 100644 index 0000000000..658eecc04a --- /dev/null +++ b/api/task_queue/to_queued_task.h @@ -0,0 +1,111 @@ +/* + * Copyright 2019 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. + */ + +#ifndef API_TASK_QUEUE_TO_QUEUED_TASK_H_ +#define API_TASK_QUEUE_TO_QUEUED_TASK_H_ + +#include +#include +#include + +#include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/queued_task.h" + +namespace webrtc { +namespace webrtc_new_closure_impl { +// Simple implementation of QueuedTask for use with lambdas. +template +class ClosureTask : public QueuedTask { + public: + explicit ClosureTask(Closure&& closure) + : closure_(std::forward(closure)) {} + + private: + bool Run() override { + closure_(); + return true; + } + + typename std::decay::type closure_; +}; + +template +class SafetyClosureTask : public QueuedTask { + public: + explicit SafetyClosureTask(rtc::scoped_refptr safety, + Closure&& closure) + : closure_(std::forward(closure)), + safety_flag_(std::move(safety)) {} + + private: + bool Run() override { + if (safety_flag_->alive()) + closure_(); + return true; + } + + typename std::decay::type closure_; + rtc::scoped_refptr safety_flag_; +}; + +// Extends ClosureTask to also allow specifying cleanup code. +// This is useful when using lambdas if guaranteeing cleanup, even if a task +// was dropped (queue is too full), is required. +template +class ClosureTaskWithCleanup : public ClosureTask { + public: + ClosureTaskWithCleanup(Closure&& closure, Cleanup&& cleanup) + : ClosureTask(std::forward(closure)), + cleanup_(std::forward(cleanup)) {} + ~ClosureTaskWithCleanup() override { cleanup_(); } + + private: + typename std::decay::type cleanup_; +}; +} // namespace webrtc_new_closure_impl + +// Convenience function to construct closures that can be passed directly +// to methods that support std::unique_ptr but not template +// based parameters. +template +std::unique_ptr ToQueuedTask(Closure&& closure) { + return std::make_unique>( + std::forward(closure)); +} + +template +std::unique_ptr ToQueuedTask( + rtc::scoped_refptr safety, + Closure&& closure) { + return std::make_unique>( + std::move(safety), std::forward(closure)); +} + +template +std::unique_ptr ToQueuedTask(const ScopedTaskSafety& safety, + Closure&& closure) { + return ToQueuedTask(safety.flag(), std::forward(closure)); +} + +template ::type>::type, + ScopedTaskSafety>::value>::type* = nullptr> +std::unique_ptr ToQueuedTask(Closure&& closure, Cleanup&& cleanup) { + return std::make_unique< + webrtc_new_closure_impl::ClosureTaskWithCleanup>( + std::forward(closure), std::forward(cleanup)); +} + +} // namespace webrtc + +#endif // API_TASK_QUEUE_TO_QUEUED_TASK_H_ diff --git a/rtc_base/task_utils/to_queued_task_unittest.cc b/api/task_queue/to_queued_task_unittest.cc similarity index 98% rename from rtc_base/task_utils/to_queued_task_unittest.cc rename to api/task_queue/to_queued_task_unittest.cc index 852307ab9d..aa11041801 100644 --- a/rtc_base/task_utils/to_queued_task_unittest.cc +++ b/api/task_queue/to_queued_task_unittest.cc @@ -8,7 +8,7 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "rtc_base/task_utils/to_queued_task.h" +#include "api/task_queue/to_queued_task.h" #include diff --git a/audio/BUILD.gn b/audio/BUILD.gn index 1878154b14..3be1cad3ab 100644 --- a/audio/BUILD.gn +++ b/audio/BUILD.gn @@ -61,6 +61,8 @@ rtc_library("audio") { "../api/neteq:neteq_api", "../api/rtc_event_log", "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/transport/rtp:rtp_source", "../call:audio_sender_interface", "../call:bitrate_allocator", @@ -105,8 +107,6 @@ rtc_library("audio") { "../rtc_base/experiments:field_trial_parser", "../rtc_base/synchronization:mutex", "../rtc_base/system:no_unique_address", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../system_wrappers", "../system_wrappers:field_trial", "../system_wrappers:metrics", diff --git a/audio/channel_receive.cc b/audio/channel_receive.cc index 0bf60c0a7e..1573765a98 100644 --- a/audio/channel_receive.cc +++ b/audio/channel_receive.cc @@ -21,7 +21,9 @@ #include "api/frame_transformer_interface.h" #include "api/rtc_event_log/rtc_event_log.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "audio/audio_level.h" #include "audio/channel_receive_frame_transformer_delegate.h" #include "audio/channel_send.h" @@ -46,8 +48,6 @@ #include "rtc_base/race_checker.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/system/no_unique_address.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" #include "system_wrappers/include/metrics.h" diff --git a/audio/channel_receive_frame_transformer_delegate.cc b/audio/channel_receive_frame_transformer_delegate.cc index c9865cbe19..085721eac0 100644 --- a/audio/channel_receive_frame_transformer_delegate.cc +++ b/audio/channel_receive_frame_transformer_delegate.cc @@ -12,8 +12,8 @@ #include +#include "api/task_queue/to_queued_task.h" #include "rtc_base/buffer.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace webrtc { namespace { diff --git a/call/BUILD.gn b/call/BUILD.gn index 594996dd19..1f5e707c29 100644 --- a/call/BUILD.gn +++ b/call/BUILD.gn @@ -303,6 +303,7 @@ rtc_library("call") { "../api:simulated_network_api", "../api:transport_api", "../api/rtc_event_log", + "../api/task_queue:pending_task_safety_flag", "../api/transport:network_control", "../api/units:time_delta", "../api/video_codecs:video_codecs_api", @@ -331,7 +332,6 @@ rtc_library("call") { "../rtc_base/experiments:field_trial_parser", "../rtc_base/network:sent_packet", "../rtc_base/system:no_unique_address", - "../rtc_base/task_utils:pending_task_safety_flag", "../system_wrappers", "../system_wrappers:field_trial", "../system_wrappers:metrics", @@ -557,6 +557,7 @@ if (rtc_include_tests) { "../api/rtc_event_log:rtc_event_log_factory", "../api/task_queue", "../api/task_queue:default_task_queue_factory", + "../api/task_queue:pending_task_safety_flag", "../api/video:builtin_video_bitrate_allocator_factory", "../api/video:video_bitrate_allocation", "../api/video_codecs:video_codecs_api", @@ -579,7 +580,6 @@ if (rtc_include_tests) { "../rtc_base:threading", "../rtc_base:timeutils", "../rtc_base/synchronization:mutex", - "../rtc_base/task_utils:pending_task_safety_flag", "../rtc_base/task_utils:repeating_task", "../system_wrappers", "../system_wrappers:metrics", diff --git a/call/adaptation/BUILD.gn b/call/adaptation/BUILD.gn index 3c879205f4..1aa4da79e4 100644 --- a/call/adaptation/BUILD.gn +++ b/call/adaptation/BUILD.gn @@ -39,6 +39,7 @@ rtc_library("resource_adaptation") { "../../api:sequence_checker", "../../api/adaptation:resource_adaptation_api", "../../api/task_queue:task_queue", + "../../api/task_queue:to_queued_task", "../../api/video:video_adaptation", "../../api/video:video_frame", "../../api/video:video_stream_encoder", @@ -54,7 +55,6 @@ rtc_library("resource_adaptation") { "../../rtc_base/experiments:balanced_degradation_settings", "../../rtc_base/synchronization:mutex", "../../rtc_base/system:no_unique_address", - "../../rtc_base/task_utils:to_queued_task", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", @@ -121,8 +121,8 @@ if (rtc_include_tests) { "../../api:sequence_checker", "../../api/adaptation:resource_adaptation_api", "../../api/task_queue:task_queue", + "../../api/task_queue:to_queued_task", "../../api/video:video_stream_encoder", - "../../rtc_base/task_utils:to_queued_task", "../../test:test_support", ] absl_deps = [ diff --git a/call/adaptation/resource_adaptation_processor.cc b/call/adaptation/resource_adaptation_processor.cc index 2042424fa0..1f9b662490 100644 --- a/call/adaptation/resource_adaptation_processor.cc +++ b/call/adaptation/resource_adaptation_processor.cc @@ -17,11 +17,11 @@ #include "absl/algorithm/container.h" #include "absl/strings/string_view.h" #include "api/sequence_checker.h" +#include "api/task_queue/to_queued_task.h" #include "api/video/video_adaptation_counters.h" #include "call/adaptation/video_stream_adapter.h" #include "rtc_base/logging.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace webrtc { diff --git a/call/call.cc b/call/call.cc index 73efe6f7de..d84964dd1c 100644 --- a/call/call.cc +++ b/call/call.cc @@ -25,6 +25,7 @@ #include "absl/types/optional.h" #include "api/rtc_event_log/rtc_event_log.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/transport/network_control.h" #include "audio/audio_receive_stream.h" #include "audio/audio_send_stream.h" @@ -56,7 +57,6 @@ #include "rtc_base/logging.h" #include "rtc_base/strings/string_builder.h" #include "rtc_base/system/no_unique_address.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread_annotations.h" #include "rtc_base/time_utils.h" #include "rtc_base/trace_event.h" diff --git a/call/call_perf_tests.cc b/call/call_perf_tests.cc index db384c189f..5be6385d5e 100644 --- a/call/call_perf_tests.cc +++ b/call/call_perf_tests.cc @@ -16,6 +16,7 @@ #include "absl/strings/string_view.h" #include "api/audio_codecs/builtin_audio_encoder_factory.h" #include "api/rtc_event_log/rtc_event_log.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" #include "api/test/simulated_network.h" #include "api/video/builtin_video_bitrate_allocator_factory.h" @@ -34,7 +35,6 @@ #include "rtc_base/checks.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/task_queue_for_test.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" #include "system_wrappers/include/metrics.h" diff --git a/call/degraded_call.h b/call/degraded_call.h index a527677fc1..fe5fd7c46c 100644 --- a/call/degraded_call.h +++ b/call/degraded_call.h @@ -25,6 +25,7 @@ #include "api/fec_controller.h" #include "api/media_types.h" #include "api/rtp_headers.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/test/simulated_network.h" #include "api/video_codecs/video_encoder_config.h" #include "call/audio_receive_stream.h" @@ -40,7 +41,6 @@ #include "rtc_base/copy_on_write_buffer.h" #include "rtc_base/network/sent_packet.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "system_wrappers/include/clock.h" namespace webrtc { diff --git a/media/BUILD.gn b/media/BUILD.gn index 93702002f3..4079d1bad9 100644 --- a/media/BUILD.gn +++ b/media/BUILD.gn @@ -64,6 +64,8 @@ rtc_library("rtc_media_base") { "../api/crypto:frame_decryptor_interface", "../api/crypto:frame_encryptor_interface", "../api/crypto:options", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/transport:datagram_transport_interface", "../api/transport:stun_types", "../api/transport/rtp:rtp_source", @@ -95,8 +97,6 @@ rtc_library("rtc_media_base") { "../rtc_base/system:file_wrapper", "../rtc_base/system:no_unique_address", "../rtc_base/system:rtc_export", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/sigslot", "../system_wrappers:field_trial", ] @@ -277,6 +277,8 @@ rtc_library("rtc_audio_video") { "../api/audio:audio_mixer_api", "../api/audio_codecs:audio_codecs_api", "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/transport:bitrate_settings", "../api/transport:field_trial_based_config", "../api/transport/rtp:rtp_source", @@ -326,8 +328,6 @@ rtc_library("rtc_audio_video") { "../rtc_base/experiments:rate_control_settings", "../rtc_base/synchronization:mutex", "../rtc_base/system:rtc_export", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/base64", "../system_wrappers", "../system_wrappers:metrics", @@ -419,7 +419,9 @@ if (rtc_build_dcsctp) { deps = [ ":rtc_data_sctp_transport_internal", "../api:array_view", + "../api/task_queue:pending_task_safety_flag", "../api/task_queue:task_queue", + "../api/task_queue:to_queued_task", "../media:rtc_media_base", "../net/dcsctp/public:factory", "../net/dcsctp/public:socket", @@ -436,8 +438,6 @@ if (rtc_build_dcsctp) { "../rtc_base:stringutils", "../rtc_base:threading", "../rtc_base/containers:flat_map", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/sigslot:sigslot", "../system_wrappers", ] diff --git a/media/base/media_channel.cc b/media/base/media_channel.cc index 1b11fcc4e8..c3b2480543 100644 --- a/media/base/media_channel.cc +++ b/media/base/media_channel.cc @@ -10,8 +10,8 @@ #include "media/base/media_channel.h" +#include "api/task_queue/to_queued_task.h" #include "media/base/rtp_utils.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace cricket { using webrtc::FrameDecryptorInterface; diff --git a/media/base/media_channel.h b/media/base/media_channel.h index ec78ec8c25..22673cecb3 100644 --- a/media/base/media_channel.h +++ b/media/base/media_channel.h @@ -26,6 +26,7 @@ #include "api/media_stream_interface.h" #include "api/rtc_error.h" #include "api/rtp_parameters.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/transport/data_channel_transport_interface.h" #include "api/transport/rtp/rtp_source.h" #include "api/units/time_delta.h" @@ -52,7 +53,6 @@ #include "rtc_base/socket.h" #include "rtc_base/string_encode.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" namespace rtc { class Timing; diff --git a/media/engine/webrtc_video_engine.h b/media/engine/webrtc_video_engine.h index b2780c4af5..e080edafb3 100644 --- a/media/engine/webrtc_video_engine.h +++ b/media/engine/webrtc_video_engine.h @@ -20,6 +20,7 @@ #include "absl/types/optional.h" #include "api/call/transport.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/transport/field_trial_based_config.h" #include "api/video/video_bitrate_allocator_factory.h" #include "api/video/video_frame.h" @@ -34,7 +35,6 @@ #include "media/engine/unhandled_packets_buffer.h" #include "rtc_base/network_route.h" #include "rtc_base/synchronization/mutex.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread_annotations.h" namespace webrtc { diff --git a/media/engine/webrtc_voice_engine.cc b/media/engine/webrtc_voice_engine.cc index 78ad7a16a1..efdb549e70 100644 --- a/media/engine/webrtc_voice_engine.cc +++ b/media/engine/webrtc_voice_engine.cc @@ -24,6 +24,8 @@ #include "api/audio_codecs/audio_codec_pair_id.h" #include "api/call/audio_sink.h" #include "api/field_trials_view.h" +#include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/to_queued_task.h" #include "media/base/audio_source.h" #include "media/base/media_constants.h" #include "media/base/stream_params.h" @@ -48,8 +50,6 @@ #include "rtc_base/strings/audio_format_to_string.h" #include "rtc_base/strings/string_builder.h" #include "rtc_base/strings/string_format.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/third_party/base64/base64.h" #include "rtc_base/trace_event.h" #include "system_wrappers/include/metrics.h" diff --git a/media/engine/webrtc_voice_engine.h b/media/engine/webrtc_voice_engine.h index e28a12a869..e55a0a3463 100644 --- a/media/engine/webrtc_voice_engine.h +++ b/media/engine/webrtc_voice_engine.h @@ -20,6 +20,7 @@ #include "api/field_trials_view.h" #include "api/scoped_refptr.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_factory.h" #include "api/transport/rtp/rtp_source.h" #include "call/audio_state.h" @@ -30,7 +31,6 @@ #include "rtc_base/buffer.h" #include "rtc_base/network_route.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" namespace webrtc { class AudioFrameProcessor; diff --git a/modules/pacing/BUILD.gn b/modules/pacing/BUILD.gn index ed6d2bd792..3095df9b30 100644 --- a/modules/pacing/BUILD.gn +++ b/modules/pacing/BUILD.gn @@ -39,6 +39,7 @@ rtc_library("pacing") { "../../api:sequence_checker", "../../api/rtc_event_log", "../../api/task_queue:task_queue", + "../../api/task_queue:to_queued_task", "../../api/transport:field_trial_based_config", "../../api/transport:network_control", "../../api/units:data_rate", @@ -58,7 +59,6 @@ rtc_library("pacing") { "../../rtc_base/experiments:field_trial_parser", "../../rtc_base/synchronization:mutex", "../../rtc_base/system:unused", - "../../rtc_base/task_utils:to_queued_task", "../../system_wrappers", "../../system_wrappers:metrics", "../rtp_rtcp", @@ -101,6 +101,7 @@ if (rtc_include_tests) { ":interval_budget", ":pacing", "../../api/task_queue:task_queue", + "../../api/task_queue:to_queued_task", "../../api/transport:network_control", "../../api/units:data_rate", "../../api/units:time_delta", @@ -109,7 +110,6 @@ if (rtc_include_tests) { "../../rtc_base:checks", "../../rtc_base:rtc_base_tests_utils", "../../rtc_base/experiments:alr_experiment", - "../../rtc_base/task_utils:to_queued_task", "../../system_wrappers", "../../test:explicit_key_value_config", "../../test:scoped_key_value_config", diff --git a/modules/pacing/task_queue_paced_sender_unittest.cc b/modules/pacing/task_queue_paced_sender_unittest.cc index 70ee31ea38..44316efbde 100644 --- a/modules/pacing/task_queue_paced_sender_unittest.cc +++ b/modules/pacing/task_queue_paced_sender_unittest.cc @@ -19,11 +19,11 @@ #include #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "api/transport/network_types.h" #include "api/units/data_rate.h" #include "modules/pacing/packet_router.h" #include "modules/utility/include/mock/mock_process_thread.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/scoped_key_value_config.h" diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn index ce9c409cff..bab5bf9868 100644 --- a/modules/rtp_rtcp/BUILD.gn +++ b/modules/rtp_rtcp/BUILD.gn @@ -273,7 +273,9 @@ rtc_library("rtp_rtcp") { "../../api/audio_codecs:audio_codecs_api", "../../api/crypto:frame_encryptor_interface", "../../api/rtc_event_log", + "../../api/task_queue:pending_task_safety_flag", "../../api/task_queue:task_queue", + "../../api/task_queue:to_queued_task", "../../api/transport:field_trial_based_config", "../../api/transport/rtp:dependency_descriptor", "../../api/transport/rtp:rtp_source", @@ -320,9 +322,7 @@ rtc_library("rtp_rtcp") { "../../rtc_base/experiments:field_trial_parser", "../../rtc_base/synchronization:mutex", "../../rtc_base/system:no_unique_address", - "../../rtc_base/task_utils:pending_task_safety_flag", "../../rtc_base/task_utils:repeating_task", - "../../rtc_base/task_utils:to_queued_task", "../../rtc_base/time:timestamp_extrapolator", "../../system_wrappers", "../../system_wrappers:metrics", @@ -394,6 +394,7 @@ rtc_library("rtcp_transceiver") { "../../api:rtp_headers", "../../api:transport_api", "../../api/task_queue", + "../../api/task_queue:to_queued_task", "../../api/units:data_rate", "../../api/units:time_delta", "../../api/units:timestamp", @@ -406,7 +407,6 @@ rtc_library("rtcp_transceiver") { "../../rtc_base:timeutils", "../../rtc_base/containers:flat_map", "../../rtc_base/task_utils:repeating_task", - "../../rtc_base/task_utils:to_queued_task", "../../system_wrappers", ] absl_deps = [ @@ -616,6 +616,7 @@ if (rtc_include_tests) { "../../api:time_controller", "../../api:transport_api", "../../api/rtc_event_log", + "../../api/task_queue:to_queued_task", "../../api/transport:field_trial_based_config", "../../api/transport/rtp:dependency_descriptor", "../../api/units:data_rate", @@ -650,7 +651,6 @@ if (rtc_include_tests) { "../../rtc_base:task_queue_for_test", "../../rtc_base:threading", "../../rtc_base:timeutils", - "../../rtc_base/task_utils:to_queued_task", "../../system_wrappers", "../../test:field_trial", "../../test:mock_frame_transformer", diff --git a/modules/rtp_rtcp/source/rtcp_transceiver.cc b/modules/rtp_rtcp/source/rtcp_transceiver.cc index 108d92cacf..61739f662d 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver.cc @@ -14,11 +14,11 @@ #include #include +#include "api/task_queue/to_queued_task.h" #include "api/units/timestamp.h" #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h" #include "rtc_base/checks.h" #include "rtc_base/event.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "system_wrappers/include/clock.h" namespace webrtc { diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc b/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc index f6c9085b02..6dc8145a1b 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc @@ -16,6 +16,7 @@ #include "absl/algorithm/container.h" #include "absl/memory/memory.h" #include "api/call/transport.h" +#include "api/task_queue/to_queued_task.h" #include "api/video/video_bitrate_allocation.h" #include "modules/rtp_rtcp/include/receive_statistics.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" @@ -36,7 +37,6 @@ #include "rtc_base/logging.h" #include "rtc_base/numerics/divide_round.h" #include "rtc_base/task_utils/repeating_task.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "system_wrappers/include/clock.h" namespace webrtc { diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc b/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc index 97ceb56c8b..da7a875ae1 100644 --- a/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc +++ b/modules/rtp_rtcp/source/rtcp_transceiver_impl_unittest.cc @@ -16,6 +16,7 @@ #include "absl/memory/memory.h" #include "api/rtp_headers.h" +#include "api/task_queue/to_queued_task.h" #include "api/test/create_time_controller.h" #include "api/test/time_controller.h" #include "api/units/data_rate.h" @@ -28,7 +29,6 @@ #include "modules/rtp_rtcp/source/rtcp_packet/bye.h" #include "modules/rtp_rtcp/source/rtcp_packet/compound_packet.h" #include "modules/rtp_rtcp/source/time_util.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "system_wrappers/include/clock.h" #include "test/gmock.h" #include "test/gtest.h" diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc index 115727e1ef..a8b6235e71 100644 --- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc +++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc @@ -22,6 +22,7 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" #include "api/sequence_checker.h" +#include "api/task_queue/to_queued_task.h" #include "api/transport/field_trial_based_config.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" @@ -29,7 +30,6 @@ #include "modules/rtp_rtcp/source/rtp_rtcp_config.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" #include "system_wrappers/include/ntp_time.h" diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h index 5f924e9606..67c45e5d44 100644 --- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h +++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h @@ -23,7 +23,9 @@ #include "absl/types/optional.h" #include "api/rtp_headers.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "api/units/time_delta.h" #include "api/video/video_bitrate_allocation.h" #include "modules/include/module_fec_types.h" @@ -40,9 +42,7 @@ #include "rtc_base/gtest_prod_util.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/system/no_unique_address.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/task_utils/repeating_task.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread_annotations.h" namespace webrtc { diff --git a/modules/rtp_rtcp/source/rtp_sender_egress.cc b/modules/rtp_rtcp/source/rtp_sender_egress.cc index 4a72059beb..e0f68b444f 100644 --- a/modules/rtp_rtcp/source/rtp_sender_egress.cc +++ b/modules/rtp_rtcp/source/rtp_sender_egress.cc @@ -16,10 +16,10 @@ #include #include "absl/strings/match.h" +#include "api/task_queue/to_queued_task.h" #include "api/transport/field_trial_based_config.h" #include "logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace webrtc { namespace { diff --git a/modules/rtp_rtcp/source/rtp_sender_egress.h b/modules/rtp_rtcp/source/rtp_sender_egress.h index 1fd7128966..0b440c29d1 100644 --- a/modules/rtp_rtcp/source/rtp_sender_egress.h +++ b/modules/rtp_rtcp/source/rtp_sender_egress.h @@ -20,6 +20,7 @@ #include "api/call/transport.h" #include "api/rtc_event_log/rtc_event_log.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" #include "api/units/data_rate.h" #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h" @@ -32,7 +33,6 @@ #include "rtc_base/rate_statistics.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/system/no_unique_address.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/task_utils/repeating_task.h" #include "rtc_base/thread_annotations.h" diff --git a/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_unittest.cc index 0a1e3ebd31..2beb97cf34 100644 --- a/modules/rtp_rtcp/source/rtp_sender_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_sender_unittest.cc @@ -15,6 +15,7 @@ #include "absl/strings/string_view.h" #include "api/rtc_event_log/rtc_event.h" +#include "api/task_queue/to_queued_task.h" #include "api/transport/field_trial_based_config.h" #include "api/video/video_codec_constants.h" #include "api/video/video_timing.h" @@ -36,7 +37,6 @@ #include "rtc_base/logging.h" #include "rtc_base/rate_limiter.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "test/field_trial.h" #include "test/gmock.h" #include "test/gtest.h" diff --git a/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc b/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc index c3295c68b9..af14b8c520 100644 --- a/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc +++ b/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc @@ -14,9 +14,9 @@ #include #include "absl/memory/memory.h" +#include "api/task_queue/to_queued_task.h" #include "modules/rtp_rtcp/source/rtp_descriptor_authentication.h" #include "modules/rtp_rtcp/source/rtp_sender_video.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace webrtc { namespace { diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn index 59236058e3..d0e6c37132 100644 --- a/modules/video_coding/BUILD.gn +++ b/modules/video_coding/BUILD.gn @@ -83,6 +83,7 @@ rtc_library("nack_requester") { "../../api:field_trials_view", "../../api:sequence_checker", "../../api/task_queue", + "../../api/task_queue:pending_task_safety_flag", "../../api/units:time_delta", "../../api/units:timestamp", "../../rtc_base:checks", @@ -91,7 +92,6 @@ rtc_library("nack_requester") { "../../rtc_base:rtc_numerics", "../../rtc_base:rtc_task_queue", "../../rtc_base/experiments:field_trial_parser", - "../../rtc_base/task_utils:pending_task_safety_flag", "../../rtc_base/task_utils:repeating_task", "../../system_wrappers", "../utility", @@ -224,6 +224,7 @@ rtc_library("video_coding") { "../../api:scoped_refptr", "../../api:sequence_checker", "../../api/task_queue", + "../../api/task_queue:to_queued_task", "../../api/units:data_rate", "../../api/units:data_size", "../../api/units:frequency", @@ -263,7 +264,6 @@ rtc_library("video_coding") { "../../rtc_base/synchronization:mutex", "../../rtc_base/system:no_unique_address", "../../rtc_base/task_utils:repeating_task", - "../../rtc_base/task_utils:to_queued_task", "../../rtc_base/third_party/base64", "../../rtc_base/time:timestamp_extrapolator", "../../system_wrappers", @@ -425,6 +425,7 @@ rtc_library("video_coding_utility") { "../../api:field_trials_view", "../../api:scoped_refptr", "../../api:sequence_checker", + "../../api/task_queue:to_queued_task", "../../api/video:encoded_frame", "../../api/video:encoded_image", "../../api/video:video_adaptation", @@ -456,7 +457,6 @@ rtc_library("video_coding_utility") { "../../rtc_base/system:file_wrapper", "../../rtc_base/system:no_unique_address", "../../rtc_base/task_utils:repeating_task", - "../../rtc_base/task_utils:to_queued_task", "../../system_wrappers:field_trial", "../rtp_rtcp:rtp_rtcp_format", ] @@ -856,6 +856,7 @@ if (rtc_include_tests) { "../../api:sequence_checker", "../../api:videocodec_test_fixture_api", "../../api/task_queue", + "../../api/task_queue:to_queued_task", "../../api/video:builtin_video_bitrate_allocator_factory", "../../api/video:encoded_image", "../../api/video:video_bitrate_allocation", @@ -873,7 +874,6 @@ if (rtc_include_tests) { "../../rtc_base:timeutils", "../../rtc_base/synchronization:mutex", "../../rtc_base/system:no_unique_address", - "../../rtc_base/task_utils:to_queued_task", "../../test:test_support", "../../test:video_test_common", "../../test:video_test_support", diff --git a/modules/video_coding/codecs/test/videoprocessor.cc b/modules/video_coding/codecs/test/videoprocessor.cc index f5fd003185..78fb90f16f 100644 --- a/modules/video_coding/codecs/test/videoprocessor.cc +++ b/modules/video_coding/codecs/test/videoprocessor.cc @@ -19,6 +19,7 @@ #include #include "api/scoped_refptr.h" +#include "api/task_queue/to_queued_task.h" #include "api/video/builtin_video_bitrate_allocator_factory.h" #include "api/video/i420_buffer.h" #include "api/video/video_bitrate_allocator_factory.h" @@ -32,7 +33,6 @@ #include "modules/video_coding/codecs/interface/common_constants.h" #include "modules/video_coding/include/video_error_codes.h" #include "rtc_base/checks.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" #include "test/gtest.h" #include "third_party/libyuv/include/libyuv/compare.h" diff --git a/modules/video_coding/nack_requester.h b/modules/video_coding/nack_requester.h index fc44a59419..066d395e26 100644 --- a/modules/video_coding/nack_requester.h +++ b/modules/video_coding/nack_requester.h @@ -19,12 +19,12 @@ #include "api/field_trials_view.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/units/time_delta.h" #include "modules/include/module_common_types.h" #include "modules/video_coding/histogram.h" #include "rtc_base/numerics/sequence_number_util.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/task_utils/repeating_task.h" #include "rtc_base/thread_annotations.h" #include "system_wrappers/include/clock.h" diff --git a/modules/video_coding/utility/bandwidth_quality_scaler.cc b/modules/video_coding/utility/bandwidth_quality_scaler.cc index 7632100858..c23e5f0567 100644 --- a/modules/video_coding/utility/bandwidth_quality_scaler.cc +++ b/modules/video_coding/utility/bandwidth_quality_scaler.cc @@ -15,6 +15,7 @@ #include #include +#include "api/task_queue/to_queued_task.h" #include "api/video/video_adaptation_reason.h" #include "api/video_codecs/video_encoder.h" #include "rtc_base/checks.h" @@ -22,7 +23,6 @@ #include "rtc_base/logging.h" #include "rtc_base/numerics/exp_filter.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" #include "rtc_base/weak_ptr.h" diff --git a/modules/video_coding/utility/quality_scaler.cc b/modules/video_coding/utility/quality_scaler.cc index 4d5e2b16fa..53b770ba15 100644 --- a/modules/video_coding/utility/quality_scaler.cc +++ b/modules/video_coding/utility/quality_scaler.cc @@ -13,13 +13,13 @@ #include #include +#include "api/task_queue/to_queued_task.h" #include "api/video/video_adaptation_reason.h" #include "rtc_base/checks.h" #include "rtc_base/experiments/quality_scaler_settings.h" #include "rtc_base/logging.h" #include "rtc_base/numerics/exp_filter.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/weak_ptr.h" // TODO(kthelgason): Some versions of Android have issues with log2. diff --git a/net/dcsctp/socket/BUILD.gn b/net/dcsctp/socket/BUILD.gn index 4b6ab02439..9456a424d5 100644 --- a/net/dcsctp/socket/BUILD.gn +++ b/net/dcsctp/socket/BUILD.gn @@ -228,6 +228,7 @@ if (rtc_include_tests) { "../../../api:create_network_emulation_manager", "../../../api:network_emulation_manager_api", "../../../api/task_queue:task_queue", + "../../../api/task_queue:to_queued_task", "../../../api/units:time_delta", "../../../call:simulated_network", "../../../rtc_base:checks", @@ -238,7 +239,6 @@ if (rtc_include_tests) { "../../../rtc_base:socket_address", "../../../rtc_base:stringutils", "../../../rtc_base:timeutils", - "../../../rtc_base/task_utils:to_queued_task", "../../../test:test_support", "../common:handover_testing", "../common:internal_types", diff --git a/net/dcsctp/socket/dcsctp_socket_network_test.cc b/net/dcsctp/socket/dcsctp_socket_network_test.cc index 486679ae15..206ad6ac0c 100644 --- a/net/dcsctp/socket/dcsctp_socket_network_test.cc +++ b/net/dcsctp/socket/dcsctp_socket_network_test.cc @@ -19,6 +19,7 @@ #include "absl/types/optional.h" #include "api/array_view.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "api/test/create_network_emulation_manager.h" #include "api/test/network_emulation_manager.h" #include "api/units/time_delta.h" @@ -34,7 +35,6 @@ #include "rtc_base/logging.h" #include "rtc_base/socket_address.h" #include "rtc_base/strings/string_format.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" #include "test/gmock.h" diff --git a/net/dcsctp/timer/BUILD.gn b/net/dcsctp/timer/BUILD.gn index de1261f03a..a426a7ad8d 100644 --- a/net/dcsctp/timer/BUILD.gn +++ b/net/dcsctp/timer/BUILD.gn @@ -33,11 +33,11 @@ rtc_library("timer") { rtc_library("task_queue_timeout") { deps = [ "../../../api:array_view", + "../../../api/task_queue:pending_task_safety_flag", "../../../api/task_queue:task_queue", + "../../../api/task_queue:to_queued_task", "../../../rtc_base:checks", "../../../rtc_base:logging", - "../../../rtc_base/task_utils:pending_task_safety_flag", - "../../../rtc_base/task_utils:to_queued_task", "../public:socket", "../public:types", ] diff --git a/net/dcsctp/timer/task_queue_timeout.cc b/net/dcsctp/timer/task_queue_timeout.cc index 4d1dc1907b..9df2f19834 100644 --- a/net/dcsctp/timer/task_queue_timeout.cc +++ b/net/dcsctp/timer/task_queue_timeout.cc @@ -9,9 +9,9 @@ */ #include "net/dcsctp/timer/task_queue_timeout.h" +#include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace dcsctp { diff --git a/net/dcsctp/timer/task_queue_timeout.h b/net/dcsctp/timer/task_queue_timeout.h index 600b292443..faae14464f 100644 --- a/net/dcsctp/timer/task_queue_timeout.h +++ b/net/dcsctp/timer/task_queue_timeout.h @@ -13,9 +13,9 @@ #include #include +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" #include "net/dcsctp/public/timeout.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" namespace dcsctp { diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn index 46ce8074f2..171b1fefa2 100644 --- a/p2p/BUILD.gn +++ b/p2p/BUILD.gn @@ -135,13 +135,13 @@ rtc_library("rtc_p2p") { "../rtc_base/system:no_unique_address", # Needed by pseudo_tcp, which should move to a separate target. + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../rtc_base:safe_minmax", "../rtc_base:weak_ptr", "../rtc_base/network:sent_packet", "../rtc_base/synchronization:mutex", "../rtc_base/system:rtc_export", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/base64", "../rtc_base/third_party/sigslot", "../system_wrappers:metrics", @@ -162,10 +162,10 @@ if (rtc_include_tests) { deps = [ ":rtc_p2p", "../api:libjingle_peerconnection_api", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../rtc_base", "../rtc_base:copy_on_write_buffer", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", @@ -311,6 +311,7 @@ rtc_library("p2p_server_utils") { "../api:array_view", "../api:packet_socket_factory", "../api:sequence_checker", + "../api/task_queue:to_queued_task", "../api/transport:stun_types", "../rtc_base", "../rtc_base:byte_buffer", @@ -320,7 +321,6 @@ rtc_library("p2p_server_utils") { "../rtc_base:socket_address", "../rtc_base:stringutils", "../rtc_base:threading", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/sigslot", ] absl_deps = [ @@ -340,6 +340,8 @@ rtc_library("libstunprober") { ":rtc_p2p", "../api:packet_socket_factory", "../api:sequence_checker", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/transport:stun_types", "../rtc_base", "../rtc_base:async_resolver_interface", @@ -351,8 +353,6 @@ rtc_library("libstunprober") { "../rtc_base:threading", "../rtc_base:timeutils", "../rtc_base/system:rtc_export", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", ] } diff --git a/p2p/base/fake_ice_transport.h b/p2p/base/fake_ice_transport.h index 3ee4cd38b2..7a3d834eec 100644 --- a/p2p/base/fake_ice_transport.h +++ b/p2p/base/fake_ice_transport.h @@ -19,10 +19,10 @@ #include "absl/algorithm/container.h" #include "absl/types/optional.h" #include "api/ice_transport_interface.h" +#include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/to_queued_task.h" #include "p2p/base/ice_transport_internal.h" #include "rtc_base/copy_on_write_buffer.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace cricket { diff --git a/p2p/base/p2p_transport_channel.cc b/p2p/base/p2p_transport_channel.cc index 3afd0d3a4c..509b332a17 100644 --- a/p2p/base/p2p_transport_channel.cc +++ b/p2p/base/p2p_transport_channel.cc @@ -26,6 +26,7 @@ #include "api/candidate.h" #include "api/field_trials_view.h" #include "api/task_queue/queued_task.h" +#include "api/task_queue/to_queued_task.h" #include "logging/rtc_event_log/ice_logger.h" #include "p2p/base/basic_async_resolver_factory.h" #include "p2p/base/basic_ice_controller.h" @@ -41,7 +42,6 @@ #include "rtc_base/network.h" #include "rtc_base/network_constants.h" #include "rtc_base/string_encode.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/third_party/sigslot/sigslot.h" #include "rtc_base/time_utils.h" #include "rtc_base/trace_event.h" diff --git a/p2p/base/p2p_transport_channel.h b/p2p/base/p2p_transport_channel.h index cf7de90d9e..df60629338 100644 --- a/p2p/base/p2p_transport_channel.h +++ b/p2p/base/p2p_transport_channel.h @@ -40,6 +40,7 @@ #include "api/ice_transport_interface.h" #include "api/rtc_error.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/transport/enums.h" #include "api/transport/stun.h" #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h" @@ -67,7 +68,6 @@ #include "rtc_base/socket_address.h" #include "rtc_base/strings/string_builder.h" #include "rtc_base/system/rtc_export.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/third_party/sigslot/sigslot.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" diff --git a/p2p/base/regathering_controller.cc b/p2p/base/regathering_controller.cc index 9326c1a116..3fe5c00cfb 100644 --- a/p2p/base/regathering_controller.cc +++ b/p2p/base/regathering_controller.cc @@ -9,7 +9,8 @@ */ #include "p2p/base/regathering_controller.h" -#include "rtc_base/task_utils/to_queued_task.h" + +#include "api/task_queue/to_queued_task.h" namespace webrtc { diff --git a/p2p/base/regathering_controller.h b/p2p/base/regathering_controller.h index 116d820a82..a0dfb8053d 100644 --- a/p2p/base/regathering_controller.h +++ b/p2p/base/regathering_controller.h @@ -13,9 +13,9 @@ #include +#include "api/task_queue/pending_task_safety_flag.h" #include "p2p/base/ice_transport_internal.h" #include "p2p/base/port_allocator.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread.h" namespace webrtc { diff --git a/p2p/base/stun_port.h b/p2p/base/stun_port.h index cf865f95fc..2b041080e9 100644 --- a/p2p/base/stun_port.h +++ b/p2p/base/stun_port.h @@ -18,10 +18,10 @@ #include "absl/memory/memory.h" #include "absl/strings/string_view.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "p2p/base/port.h" #include "p2p/base/stun_request.h" #include "rtc_base/async_packet_socket.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" namespace cricket { diff --git a/p2p/base/stun_request.cc b/p2p/base/stun_request.cc index c4d586caae..b4bce73023 100644 --- a/p2p/base/stun_request.cc +++ b/p2p/base/stun_request.cc @@ -16,11 +16,11 @@ #include #include "absl/memory/memory.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/checks.h" #include "rtc_base/helpers.h" #include "rtc_base/logging.h" #include "rtc_base/string_encode.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" // For TimeMillis namespace cricket { diff --git a/p2p/base/stun_request.h b/p2p/base/stun_request.h index 56d2597057..cc1e1bf332 100644 --- a/p2p/base/stun_request.h +++ b/p2p/base/stun_request.h @@ -19,10 +19,10 @@ #include #include +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" #include "api/transport/stun.h" #include "api/units/time_delta.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" namespace cricket { diff --git a/p2p/base/tcp_port.cc b/p2p/base/tcp_port.cc index 84071344f8..546b544d54 100644 --- a/p2p/base/tcp_port.cc +++ b/p2p/base/tcp_port.cc @@ -74,6 +74,7 @@ #include "absl/algorithm/container.h" #include "absl/memory/memory.h" #include "absl/strings/string_view.h" +#include "api/task_queue/to_queued_task.h" #include "p2p/base/p2p_constants.h" #include "rtc_base/checks.h" #include "rtc_base/ip_address.h" @@ -81,7 +82,6 @@ #include "rtc_base/logging.h" #include "rtc_base/net_helper.h" #include "rtc_base/rate_tracker.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/third_party/sigslot/sigslot.h" namespace cricket { diff --git a/p2p/base/tcp_port.h b/p2p/base/tcp_port.h index 70fa584e51..8ef4963570 100644 --- a/p2p/base/tcp_port.h +++ b/p2p/base/tcp_port.h @@ -17,11 +17,11 @@ #include "absl/memory/memory.h" #include "absl/strings/string_view.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "p2p/base/connection.h" #include "p2p/base/port.h" #include "rtc_base/async_packet_socket.h" #include "rtc_base/containers/flat_map.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" namespace cricket { diff --git a/p2p/base/turn_port.cc b/p2p/base/turn_port.cc index 7117bee202..6ab7bb19e3 100644 --- a/p2p/base/turn_port.cc +++ b/p2p/base/turn_port.cc @@ -19,6 +19,7 @@ #include "absl/strings/match.h" #include "absl/strings/string_view.h" #include "absl/types/optional.h" +#include "api/task_queue/to_queued_task.h" #include "api/transport/stun.h" #include "p2p/base/connection.h" #include "p2p/base/p2p_constants.h" @@ -29,7 +30,6 @@ #include "rtc_base/net_helpers.h" #include "rtc_base/socket_address.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace cricket { diff --git a/p2p/base/turn_port.h b/p2p/base/turn_port.h index 7dd6d3fcea..b5abe1a399 100644 --- a/p2p/base/turn_port.h +++ b/p2p/base/turn_port.h @@ -23,11 +23,11 @@ #include "absl/memory/memory.h" #include "absl/strings/string_view.h" #include "api/async_dns_resolver.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "p2p/base/port.h" #include "p2p/client/basic_port_allocator.h" #include "rtc_base/async_packet_socket.h" #include "rtc_base/ssl_certificate.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" namespace webrtc { class TurnCustomizer; diff --git a/p2p/base/turn_server.cc b/p2p/base/turn_server.cc index 1e2d5df516..95ff53364b 100644 --- a/p2p/base/turn_server.cc +++ b/p2p/base/turn_server.cc @@ -18,6 +18,7 @@ #include "absl/memory/memory.h" #include "api/array_view.h" #include "api/packet_socket_factory.h" +#include "api/task_queue/to_queued_task.h" #include "api/transport/stun.h" #include "p2p/base/async_stun_tcp_socket.h" #include "rtc_base/byte_buffer.h" @@ -27,7 +28,6 @@ #include "rtc_base/message_digest.h" #include "rtc_base/socket_adapters.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" namespace cricket { diff --git a/p2p/client/basic_port_allocator.cc b/p2p/client/basic_port_allocator.cc index a8a0b622e0..9500ed0267 100644 --- a/p2p/client/basic_port_allocator.cc +++ b/p2p/client/basic_port_allocator.cc @@ -21,6 +21,7 @@ #include "absl/algorithm/container.h" #include "absl/memory/memory.h" #include "absl/strings/string_view.h" +#include "api/task_queue/to_queued_task.h" #include "api/transport/field_trial_based_config.h" #include "p2p/base/basic_packet_socket_factory.h" #include "p2p/base/port.h" @@ -32,7 +33,6 @@ #include "rtc_base/helpers.h" #include "rtc_base/logging.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/trace_event.h" #include "system_wrappers/include/metrics.h" diff --git a/p2p/client/basic_port_allocator.h b/p2p/client/basic_port_allocator.h index ae3a536055..9a423b9041 100644 --- a/p2p/client/basic_port_allocator.h +++ b/p2p/client/basic_port_allocator.h @@ -17,6 +17,7 @@ #include "absl/strings/string_view.h" #include "api/field_trials_view.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/turn_customizer.h" #include "p2p/base/port_allocator.h" #include "p2p/client/relay_port_factory_interface.h" @@ -25,7 +26,6 @@ #include "rtc_base/memory/always_valid_pointer.h" #include "rtc_base/network.h" #include "rtc_base/system/rtc_export.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" diff --git a/p2p/stunprober/stun_prober.cc b/p2p/stunprober/stun_prober.cc index cbbf03bb24..55122b9597 100644 --- a/p2p/stunprober/stun_prober.cc +++ b/p2p/stunprober/stun_prober.cc @@ -17,13 +17,13 @@ #include #include "api/packet_socket_factory.h" +#include "api/task_queue/to_queued_task.h" #include "api/transport/stun.h" #include "rtc_base/async_packet_socket.h" #include "rtc_base/async_resolver_interface.h" #include "rtc_base/checks.h" #include "rtc_base/helpers.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" #include "rtc_base/time_utils.h" diff --git a/p2p/stunprober/stun_prober.h b/p2p/stunprober/stun_prober.h index 1fe7debc04..7d5094a3b9 100644 --- a/p2p/stunprober/stun_prober.h +++ b/p2p/stunprober/stun_prober.h @@ -16,12 +16,12 @@ #include #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "rtc_base/byte_buffer.h" #include "rtc_base/ip_address.h" #include "rtc_base/network.h" #include "rtc_base/socket_address.h" #include "rtc_base/system/rtc_export.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread.h" namespace rtc { diff --git a/pc/BUILD.gn b/pc/BUILD.gn index 148ade04be..8e6523aeeb 100644 --- a/pc/BUILD.gn +++ b/pc/BUILD.gn @@ -77,6 +77,8 @@ rtc_source_set("channel") { "../api:scoped_refptr", "../api:sequence_checker", "../api/crypto:options", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/units:timestamp", "../call:rtp_interfaces", "../call:rtp_receiver", @@ -95,8 +97,6 @@ rtc_source_set("channel") { "../rtc_base:threading", "../rtc_base/containers:flat_set", "../rtc_base/network:sent_packet", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/sigslot", ] absl_deps = [ @@ -788,6 +788,8 @@ rtc_source_set("peerconnection") { "../api/neteq:neteq_api", "../api/rtc_event_log", "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/transport:bitrate_settings", "../api/transport:datagram_transport_interface", "../api/transport:enums", @@ -829,8 +831,6 @@ rtc_source_set("peerconnection") { "../rtc_base/system:no_unique_address", "../rtc_base/system:rtc_export", "../rtc_base/system:unused", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/base64", "../rtc_base/third_party/sigslot", "../stats", @@ -859,6 +859,7 @@ rtc_library("sctp_data_channel") { "../api:priority", "../api:rtc_error", "../api:scoped_refptr", + "../api/task_queue:to_queued_task", "../api/transport:datagram_transport_interface", "../media:rtc_data_sctp_transport_internal", "../media:rtc_media_base", @@ -871,7 +872,6 @@ rtc_library("sctp_data_channel") { "../rtc_base:threading", "../rtc_base:threading", "../rtc_base/system:unused", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/sigslot:sigslot", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] @@ -907,6 +907,7 @@ rtc_library("connection_context") { "../api:scoped_refptr", "../api:sequence_checker", "../api/neteq:neteq_api", + "../api/task_queue:to_queued_task", "../api/transport:field_trial_based_config", "../api/transport:sctp_transport_factory_interface", "../media:rtc_data_sctp_transport_factory", @@ -920,7 +921,6 @@ rtc_library("connection_context") { "../rtc_base:threading", "../rtc_base:timeutils", "../rtc_base/memory:always_valid_pointer", - "../rtc_base/task_utils:to_queued_task", ] } @@ -939,6 +939,7 @@ rtc_source_set("data_channel_controller") { "../api:rtc_error", "../api:scoped_refptr", "../api:sequence_checker", + "../api/task_queue:to_queued_task", "../api/transport:datagram_transport_interface", "../media:rtc_media_base", "../rtc_base", @@ -949,7 +950,6 @@ rtc_source_set("data_channel_controller") { "../rtc_base:macromagic", "../rtc_base:threading", "../rtc_base:weak_ptr", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/sigslot", ] absl_deps = [ @@ -1196,6 +1196,8 @@ rtc_source_set("peer_connection") { "../api/adaptation:resource_adaptation_api", "../api/crypto:options", "../api/rtc_event_log", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/transport:bitrate_settings", "../api/transport:datagram_transport_interface", "../api/transport:enums", @@ -1218,8 +1220,6 @@ rtc_source_set("peer_connection") { "../rtc_base:stringutils", "../rtc_base:threading", "../rtc_base:weak_ptr", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/sigslot", "../system_wrappers:metrics", ] @@ -1557,6 +1557,8 @@ rtc_library("rtp_transceiver") { "../api:scoped_refptr", "../api:sequence_checker", "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/video:video_bitrate_allocator_factory", "../media:rtc_media_base", "../rtc_base:checks", @@ -1564,8 +1566,6 @@ rtc_library("rtp_transceiver") { "../rtc_base:logging", "../rtc_base:macromagic", "../rtc_base:threading", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/sigslot", ] absl_deps = [ @@ -1686,6 +1686,8 @@ rtc_library("audio_rtp_receiver") { "../api:scoped_refptr", "../api:sequence_checker", "../api/crypto:frame_decryptor_interface", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/transport/rtp:rtp_source", "../media:rtc_media_base", "../rtc_base", @@ -1694,8 +1696,6 @@ rtc_library("audio_rtp_receiver") { "../rtc_base:macromagic", "../rtc_base:threading", "../rtc_base/system:no_unique_address", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", @@ -1926,6 +1926,8 @@ rtc_library("dtmf_sender") { "../api:libjingle_peerconnection_api", "../api:scoped_refptr", "../api:sequence_checker", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../rtc_base:checks", "../rtc_base:location", "../rtc_base:logging", @@ -1933,8 +1935,6 @@ rtc_library("dtmf_sender") { "../rtc_base:refcount", "../rtc_base:rtc_base", "../rtc_base:threading", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/sigslot", ] absl_deps = [ @@ -2070,7 +2070,9 @@ if (rtc_include_tests && !build_with_chromium) { "../api:rtp_parameters", "../api:scoped_refptr", "../api:sequence_checker", + "../api/task_queue:pending_task_safety_flag", "../api/task_queue:task_queue", + "../api/task_queue:to_queued_task", "../api/transport:datagram_transport_interface", "../api/transport:enums", "../api/video:builtin_video_bitrate_allocator_factory", @@ -2100,8 +2102,6 @@ if (rtc_include_tests && !build_with_chromium) { "../rtc_base:stringutils", "../rtc_base:threading", "../rtc_base/containers:flat_set", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/sigslot", "../system_wrappers:metrics", "../test:explicit_key_value_config", @@ -2534,6 +2534,8 @@ if (rtc_include_tests && !build_with_chromium) { "../api/rtc_event_log:rtc_event_log_factory", "../api/task_queue", "../api/task_queue:default_task_queue_factory", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/transport:field_trial_based_config", "../api/transport/rtp:rtp_source", "../api/units:time_delta", @@ -2573,9 +2575,7 @@ if (rtc_include_tests && !build_with_chromium) { "../rtc_base:threading", "../rtc_base:timeutils", "../rtc_base/synchronization:mutex", - "../rtc_base/task_utils:pending_task_safety_flag", "../rtc_base/task_utils:repeating_task", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/third_party/base64", "../rtc_base/third_party/sigslot", "../system_wrappers:metrics", diff --git a/pc/audio_rtp_receiver.cc b/pc/audio_rtp_receiver.cc index 1dd6a41156..be2d81e080 100644 --- a/pc/audio_rtp_receiver.cc +++ b/pc/audio_rtp_receiver.cc @@ -17,11 +17,11 @@ #include #include "api/sequence_checker.h" +#include "api/task_queue/to_queued_task.h" #include "pc/audio_track.h" #include "pc/media_stream_track_proxy.h" #include "rtc_base/checks.h" #include "rtc_base/location.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace webrtc { diff --git a/pc/audio_rtp_receiver.h b/pc/audio_rtp_receiver.h index c643be6b93..c68315882c 100644 --- a/pc/audio_rtp_receiver.h +++ b/pc/audio_rtp_receiver.h @@ -26,6 +26,7 @@ #include "api/rtp_receiver_interface.h" #include "api/scoped_refptr.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/transport/rtp/rtp_source.h" #include "media/base/media_channel.h" #include "pc/audio_track.h" @@ -34,7 +35,6 @@ #include "pc/remote_audio_source.h" #include "pc/rtp_receiver.h" #include "rtc_base/system/no_unique_address.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" diff --git a/pc/channel.cc b/pc/channel.cc index 9b8e8f8c39..01cd432139 100644 --- a/pc/channel.cc +++ b/pc/channel.cc @@ -19,6 +19,8 @@ #include "absl/strings/string_view.h" #include "api/rtp_parameters.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/to_queued_task.h" #include "api/units/timestamp.h" #include "media/base/codec.h" #include "media/base/rid_description.h" @@ -32,8 +34,6 @@ #include "rtc_base/logging.h" #include "rtc_base/network_route.h" #include "rtc_base/strings/string_format.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/trace_event.h" namespace cricket { diff --git a/pc/channel.h b/pc/channel.h index 8e121b2b32..5bf4823be2 100644 --- a/pc/channel.h +++ b/pc/channel.h @@ -28,6 +28,7 @@ #include "api/rtp_transceiver_direction.h" #include "api/scoped_refptr.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "call/rtp_demuxer.h" #include "call/rtp_packet_sink_interface.h" #include "media/base/media_channel.h" @@ -43,7 +44,6 @@ #include "rtc_base/network/sent_packet.h" #include "rtc_base/network_route.h" #include "rtc_base/socket.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/third_party/sigslot/sigslot.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" diff --git a/pc/channel_unittest.cc b/pc/channel_unittest.cc index 201fd45a05..4e718d3e3a 100644 --- a/pc/channel_unittest.cc +++ b/pc/channel_unittest.cc @@ -19,6 +19,8 @@ #include "api/array_view.h" #include "api/audio_options.h" #include "api/rtp_parameters.h" +#include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/to_queued_task.h" #include "media/base/codec.h" #include "media/base/fake_media_engine.h" #include "media/base/fake_rtp.h" @@ -42,8 +44,6 @@ #include "rtc_base/location.h" #include "rtc_base/rtc_certificate.h" #include "rtc_base/ssl_identity.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/scoped_key_value_config.h" diff --git a/pc/connection_context.cc b/pc/connection_context.cc index 8314e08290..29af2c8189 100644 --- a/pc/connection_context.cc +++ b/pc/connection_context.cc @@ -13,13 +13,13 @@ #include #include +#include "api/task_queue/to_queued_task.h" #include "api/transport/field_trial_based_config.h" #include "media/base/media_engine.h" #include "media/sctp/sctp_transport_factory.h" #include "rtc_base/helpers.h" #include "rtc_base/internal/default_socket_server.h" #include "rtc_base/socket_server.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" namespace webrtc { diff --git a/pc/data_channel_controller.cc b/pc/data_channel_controller.cc index 8dde41724c..b1461cde9a 100644 --- a/pc/data_channel_controller.cc +++ b/pc/data_channel_controller.cc @@ -14,11 +14,11 @@ #include "api/peer_connection_interface.h" #include "api/rtc_error.h" +#include "api/task_queue/to_queued_task.h" #include "pc/peer_connection_internal.h" #include "pc/sctp_utils.h" #include "rtc_base/location.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace webrtc { diff --git a/pc/dtmf_sender.cc b/pc/dtmf_sender.cc index b28c0058a9..40d9e38848 100644 --- a/pc/dtmf_sender.cc +++ b/pc/dtmf_sender.cc @@ -13,9 +13,9 @@ #include #include +#include "api/task_queue/to_queued_task.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" namespace webrtc { diff --git a/pc/dtmf_sender.h b/pc/dtmf_sender.h index ae213b3bf4..06cd3a2605 100644 --- a/pc/dtmf_sender.h +++ b/pc/dtmf_sender.h @@ -18,10 +18,10 @@ #include "api/dtmf_sender_interface.h" #include "api/scoped_refptr.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "pc/proxy.h" #include "rtc_base/location.h" #include "rtc_base/ref_count.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/third_party/sigslot/sigslot.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc index a95e3aa63a..557f2e6899 100644 --- a/pc/peer_connection.cc +++ b/pc/peer_connection.cc @@ -25,6 +25,7 @@ #include "api/jsep_ice_candidate.h" #include "api/rtp_parameters.h" #include "api/rtp_transceiver_direction.h" +#include "api/task_queue/to_queued_task.h" #include "api/uma_metrics.h" #include "api/video/video_codec_constants.h" #include "call/audio_state.h" @@ -59,7 +60,6 @@ #include "rtc_base/network_constants.h" #include "rtc_base/socket_address.h" #include "rtc_base/string_encode.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/trace_event.h" #include "rtc_base/unique_id_generator.h" #include "system_wrappers/include/metrics.h" diff --git a/pc/peer_connection.h b/pc/peer_connection.h index 7dd6446272..b7fdbf9387 100644 --- a/pc/peer_connection.h +++ b/pc/peer_connection.h @@ -45,6 +45,7 @@ #include "api/set_local_description_observer_interface.h" #include "api/set_remote_description_observer_interface.h" #include "api/stats/rtc_stats_collector_callback.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/transport/bitrate_settings.h" #include "api/transport/data_channel_transport_interface.h" #include "api/transport/enums.h" @@ -78,7 +79,6 @@ #include "rtc_base/rtc_certificate.h" #include "rtc_base/ssl_certificate.h" #include "rtc_base/ssl_stream_adapter.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/third_party/sigslot/sigslot.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" diff --git a/pc/rtp_transceiver.cc b/pc/rtp_transceiver.cc index 5ca662c8fc..387d3449f3 100644 --- a/pc/rtp_transceiver.cc +++ b/pc/rtp_transceiver.cc @@ -21,6 +21,7 @@ #include "api/peer_connection_interface.h" #include "api/rtp_parameters.h" #include "api/sequence_checker.h" +#include "api/task_queue/to_queued_task.h" #include "media/base/codec.h" #include "media/base/media_constants.h" #include "media/base/media_engine.h" @@ -30,7 +31,6 @@ #include "rtc_base/checks.h" #include "rtc_base/location.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" namespace webrtc { diff --git a/pc/rtp_transceiver.h b/pc/rtp_transceiver.h index 037f3bb1a9..625d0a52c5 100644 --- a/pc/rtp_transceiver.h +++ b/pc/rtp_transceiver.h @@ -30,6 +30,7 @@ #include "api/rtp_transceiver_direction.h" #include "api/rtp_transceiver_interface.h" #include "api/scoped_refptr.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" #include "api/video/video_bitrate_allocator_factory.h" #include "media/base/media_channel.h" @@ -42,7 +43,6 @@ #include "pc/rtp_sender_proxy.h" #include "pc/rtp_transport_internal.h" #include "pc/session_description.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/third_party/sigslot/sigslot.h" #include "rtc_base/thread_annotations.h" diff --git a/pc/sctp_data_channel.cc b/pc/sctp_data_channel.cc index a05713a475..08882c910c 100644 --- a/pc/sctp_data_channel.cc +++ b/pc/sctp_data_channel.cc @@ -15,6 +15,7 @@ #include #include +#include "api/task_queue/to_queued_task.h" #include "media/sctp/sctp_transport_internal.h" #include "pc/proxy.h" #include "pc/sctp_utils.h" @@ -22,7 +23,6 @@ #include "rtc_base/location.h" #include "rtc_base/logging.h" #include "rtc_base/system/unused.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" namespace webrtc { diff --git a/pc/test/integration_test_helpers.h b/pc/test/integration_test_helpers.h index 795966eb9b..53df9fc478 100644 --- a/pc/test/integration_test_helpers.h +++ b/pc/test/integration_test_helpers.h @@ -52,7 +52,9 @@ #include "api/stats/rtc_stats_report.h" #include "api/stats/rtcstats_objects.h" #include "api/task_queue/default_task_queue_factory.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_factory.h" +#include "api/task_queue/to_queued_task.h" #include "api/transport/field_trial_based_config.h" #include "api/uma_metrics.h" #include "api/video/video_rotation.h" @@ -111,9 +113,7 @@ #include "rtc_base/rtc_certificate_generator.h" #include "rtc_base/socket_address.h" #include "rtc_base/ssl_stream_adapter.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/task_utils/repeating_task.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/test_certificate_verifier.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index fb8187dff6..b58b4a94ac 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -608,8 +608,8 @@ rtc_library("rtc_task_queue") { deps = [ ":macromagic", "../api/task_queue", + "../api/task_queue:to_queued_task", "system:rtc_export", - "task_utils:to_queued_task", ] absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] } @@ -946,11 +946,11 @@ rtc_library("threading") { "../api:scoped_refptr", "../api:sequence_checker", "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "synchronization:mutex", "system:no_unique_address", "system:rtc_export", - "task_utils:pending_task_safety_flag", - "task_utils:to_queued_task", "third_party/sigslot", ] if (is_android) { @@ -1089,6 +1089,8 @@ rtc_library("rtc_base") { "../api:sequence_checker", "../api/numerics", "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/transport:field_trial_based_config", "../system_wrappers:field_trial", "memory:always_valid_pointer", @@ -1098,9 +1100,7 @@ rtc_library("rtc_base") { "system:inline", "system:no_unique_address", "system:rtc_export", - "task_utils:pending_task_safety_flag", "task_utils:repeating_task", - "task_utils:to_queued_task", "third_party/base64", "third_party/sigslot", ] @@ -1376,13 +1376,13 @@ rtc_library("rtc_base_tests_utils") { ":stringutils", ":threading", ":timeutils", + "../api/task_queue:to_queued_task", "../api/units:time_delta", "../api/units:timestamp", "../test:scoped_key_value_config", "memory:always_valid_pointer", "memory:fifo_buffer", "synchronization:mutex", - "task_utils:to_queued_task", "third_party/sigslot", ] absl_deps = [ @@ -1407,7 +1407,7 @@ rtc_library("task_queue_for_test") { ":rtc_task_queue", "../api/task_queue", "../api/task_queue:default_task_queue_factory", - "task_utils:to_queued_task", + "../api/task_queue:to_queued_task", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } @@ -1594,6 +1594,7 @@ if (rtc_include_tests) { "../api:make_ref_counted", "../api:scoped_refptr", "../api/numerics", + "../api/task_queue:to_queued_task", "../api/units:time_delta", "../system_wrappers", "../test:fileutils", @@ -1603,7 +1604,6 @@ if (rtc_include_tests) { "containers:unittests", "memory:unittests", "synchronization:mutex", - "task_utils:to_queued_task", "third_party/base64", "third_party/sigslot", ] @@ -1735,7 +1735,9 @@ if (rtc_include_tests) { "../api:array_view", "../api:make_ref_counted", "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", "../api/task_queue:task_queue_test", + "../api/task_queue:to_queued_task", "../test:field_trial", "../test:fileutils", "../test:rtc_expect_death", @@ -1744,8 +1746,6 @@ if (rtc_include_tests) { "../test:test_support", "memory:fifo_buffer", "synchronization:mutex", - "task_utils:pending_task_safety_flag", - "task_utils:to_queued_task", "third_party/sigslot", ] if (enable_google_benchmarks) { diff --git a/rtc_base/async_resolver.cc b/rtc_base/async_resolver.cc index 07d77b408f..2975d9f078 100644 --- a/rtc_base/async_resolver.cc +++ b/rtc_base/async_resolver.cc @@ -34,11 +34,11 @@ #endif // defined(WEBRTC_POSIX) && !defined(__native_client__) #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/ip_address.h" #include "rtc_base/logging.h" #include "rtc_base/platform_thread.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/third_party/sigslot/sigslot.h" // for signal_with_thread... #if defined(WEBRTC_MAC) || defined(WEBRTC_IOS) diff --git a/rtc_base/async_resolver.h b/rtc_base/async_resolver.h index 8257f46f5c..b7125ba7cf 100644 --- a/rtc_base/async_resolver.h +++ b/rtc_base/async_resolver.h @@ -20,13 +20,13 @@ #include #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "rtc_base/async_resolver_interface.h" #include "rtc_base/event.h" #include "rtc_base/ip_address.h" #include "rtc_base/socket_address.h" #include "rtc_base/system/no_unique_address.h" #include "rtc_base/system/rtc_export.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" diff --git a/rtc_base/fake_mdns_responder.h b/rtc_base/fake_mdns_responder.h index 457f959f29..a7dcb96329 100644 --- a/rtc_base/fake_mdns_responder.h +++ b/rtc_base/fake_mdns_responder.h @@ -16,10 +16,10 @@ #include #include "absl/strings/string_view.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/ip_address.h" #include "rtc_base/location.h" #include "rtc_base/mdns_responder_interface.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" namespace webrtc { diff --git a/rtc_base/memory/BUILD.gn b/rtc_base/memory/BUILD.gn index 8965a2c702..a42c2e16d0 100644 --- a/rtc_base/memory/BUILD.gn +++ b/rtc_base/memory/BUILD.gn @@ -35,9 +35,9 @@ rtc_library("fifo_buffer") { deps = [ "..:rtc_base", "..:threading", + "../../api/task_queue:pending_task_safety_flag", + "../../api/task_queue:to_queued_task", "../synchronization:mutex", - "../task_utils:pending_task_safety_flag", - "../task_utils:to_queued_task", ] } diff --git a/rtc_base/memory/fifo_buffer.h b/rtc_base/memory/fifo_buffer.h index e3d29f4b60..2fa8213cde 100644 --- a/rtc_base/memory/fifo_buffer.h +++ b/rtc_base/memory/fifo_buffer.h @@ -13,10 +13,10 @@ #include +#include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/stream.h" #include "rtc_base/synchronization/mutex.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace rtc { diff --git a/rtc_base/network.cc b/rtc_base/network.cc index 74eacb6a35..364a52d6a9 100644 --- a/rtc_base/network.cc +++ b/rtc_base/network.cc @@ -30,6 +30,7 @@ #include "absl/memory/memory.h" #include "absl/strings/match.h" #include "absl/strings/string_view.h" +#include "api/task_queue/to_queued_task.h" #include "api/transport/field_trial_based_config.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" @@ -39,7 +40,6 @@ #include "rtc_base/string_encode.h" #include "rtc_base/string_utils.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" namespace rtc { diff --git a/rtc_base/network.h b/rtc_base/network.h index f814ef4f1e..688cf46ba9 100644 --- a/rtc_base/network.h +++ b/rtc_base/network.h @@ -24,6 +24,7 @@ #include "api/array_view.h" #include "api/field_trials_view.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/transport/field_trial_based_config.h" #include "rtc_base/ip_address.h" #include "rtc_base/mdns_responder_interface.h" @@ -32,7 +33,6 @@ #include "rtc_base/network_monitor_factory.h" #include "rtc_base/socket_factory.h" #include "rtc_base/system/rtc_export.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/third_party/sigslot/sigslot.h" #include "rtc_base/thread_annotations.h" diff --git a/rtc_base/openssl_stream_adapter.cc b/rtc_base/openssl_stream_adapter.cc index ee63c70a69..d6f6621b2d 100644 --- a/rtc_base/openssl_stream_adapter.cc +++ b/rtc_base/openssl_stream_adapter.cc @@ -39,10 +39,10 @@ #else #include "rtc_base/openssl_identity.h" #endif +#include "api/task_queue/to_queued_task.h" #include "rtc_base/openssl_utility.h" #include "rtc_base/ssl_certificate.h" #include "rtc_base/stream.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" #include "rtc_base/time_utils.h" #include "system_wrappers/include/field_trial.h" diff --git a/rtc_base/openssl_stream_adapter.h b/rtc_base/openssl_stream_adapter.h index 288ed84047..891f0e6193 100644 --- a/rtc_base/openssl_stream_adapter.h +++ b/rtc_base/openssl_stream_adapter.h @@ -27,11 +27,11 @@ #else #include "rtc_base/openssl_identity.h" #endif +#include "api/task_queue/pending_task_safety_flag.h" #include "rtc_base/ssl_identity.h" #include "rtc_base/ssl_stream_adapter.h" #include "rtc_base/stream.h" #include "rtc_base/system/rtc_export.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/task_utils/repeating_task.h" namespace rtc { diff --git a/rtc_base/ssl_stream_adapter_unittest.cc b/rtc_base/ssl_stream_adapter_unittest.cc index 47868761f3..8b794a01f8 100644 --- a/rtc_base/ssl_stream_adapter_unittest.cc +++ b/rtc_base/ssl_stream_adapter_unittest.cc @@ -17,6 +17,8 @@ #include "absl/memory/memory.h" #include "absl/strings/string_view.h" +#include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/buffer_queue.h" #include "rtc_base/checks.h" #include "rtc_base/gunit.h" @@ -28,8 +30,6 @@ #include "rtc_base/ssl_adapter.h" #include "rtc_base/ssl_identity.h" #include "rtc_base/stream.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "test/field_trial.h" using ::testing::Combine; diff --git a/rtc_base/task_queue.h b/rtc_base/task_queue.h index fe381b993e..882f751f4f 100644 --- a/rtc_base/task_queue.h +++ b/rtc_base/task_queue.h @@ -20,8 +20,8 @@ #include "api/task_queue/queued_task.h" #include "api/task_queue/task_queue_base.h" #include "api/task_queue/task_queue_factory.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/system/rtc_export.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread_annotations.h" namespace rtc { diff --git a/rtc_base/task_queue_for_test.h b/rtc_base/task_queue_for_test.h index 97ca254d6e..c1de87412c 100644 --- a/rtc_base/task_queue_for_test.h +++ b/rtc_base/task_queue_for_test.h @@ -15,11 +15,11 @@ #include "absl/strings/string_view.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/checks.h" #include "rtc_base/event.h" #include "rtc_base/location.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread_annotations.h" namespace webrtc { diff --git a/rtc_base/task_utils/BUILD.gn b/rtc_base/task_utils/BUILD.gn index 893031dfd1..04960b2d29 100644 --- a/rtc_base/task_utils/BUILD.gn +++ b/rtc_base/task_utils/BUILD.gn @@ -14,12 +14,12 @@ rtc_library("repeating_task") { "repeating_task.h", ] deps = [ - ":pending_task_safety_flag", - ":to_queued_task", "..:logging", "..:timeutils", "../../api:sequence_checker", "../../api/task_queue", + "../../api/task_queue:pending_task_safety_flag", + "../../api/task_queue:to_queued_task", "../../api/units:time_delta", "../../api/units:timestamp", "../../system_wrappers:system_wrappers", @@ -28,66 +28,29 @@ rtc_library("repeating_task") { } rtc_library("pending_task_safety_flag") { - sources = [ - "pending_task_safety_flag.cc", - "pending_task_safety_flag.h", - ] - deps = [ - "..:checks", - "../../api:refcountedbase", - "../../api:scoped_refptr", - "../../api:sequence_checker", - "../system:no_unique_address", - ] + sources = [ "pending_task_safety_flag.h" ] + deps = [ "../../api/task_queue:pending_task_safety_flag" ] } rtc_source_set("to_queued_task") { sources = [ "to_queued_task.h" ] - deps = [ - ":pending_task_safety_flag", - "../../api/task_queue", - ] + deps = [ "../../api/task_queue:to_queued_task" ] } if (rtc_include_tests) { - rtc_library("pending_task_safety_flag_unittests") { - testonly = true - sources = [ "pending_task_safety_flag_unittest.cc" ] - deps = [ - ":pending_task_safety_flag", - ":to_queued_task", - "..:logging", - "..:rtc_event", - "..:rtc_task_queue", - "..:task_queue_for_test", - "../../test:test_support", - ] - } - rtc_library("repeating_task_unittests") { testonly = true sources = [ "repeating_task_unittest.cc" ] deps = [ ":repeating_task", - ":to_queued_task", "..:rtc_event", "..:rtc_task_queue", "..:task_queue_for_test", "../../api/task_queue", + "../../api/task_queue:to_queued_task", "../../api/units:timestamp", "../../system_wrappers:system_wrappers", "../../test:test_support", ] } - - rtc_library("to_queued_task_unittests") { - testonly = true - sources = [ "to_queued_task_unittest.cc" ] - deps = [ - ":to_queued_task", - "../../api/task_queue", - "../../test:test_support", - ] - absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] - } } diff --git a/rtc_base/task_utils/pending_task_safety_flag.h b/rtc_base/task_utils/pending_task_safety_flag.h index 604e058e94..83212760b5 100644 --- a/rtc_base/task_utils/pending_task_safety_flag.h +++ b/rtc_base/task_utils/pending_task_safety_flag.h @@ -11,148 +11,6 @@ #ifndef RTC_BASE_TASK_UTILS_PENDING_TASK_SAFETY_FLAG_H_ #define RTC_BASE_TASK_UTILS_PENDING_TASK_SAFETY_FLAG_H_ -#include "api/ref_counted_base.h" -#include "api/scoped_refptr.h" -#include "api/sequence_checker.h" -#include "rtc_base/checks.h" -#include "rtc_base/system/no_unique_address.h" - -namespace webrtc { - -// The PendingTaskSafetyFlag and the ScopedTaskSafety are designed to address -// the issue where you have a task to be executed later that has references, -// but cannot guarantee that the referenced object is alive when the task is -// executed. - -// This mechanism can be used with tasks that are created and destroyed -// on a single thread / task queue, and with tasks posted to the same -// thread/task queue, but tasks can be posted from any thread/TQ. - -// Typical usage: -// When posting a task, post a copy (capture by-value in a lambda) of the flag -// reference and before performing the work, check the `alive()` state. Abort if -// alive() returns `false`: -// -// class ExampleClass { -// .... -// my_task_queue_->PostTask(ToQueuedTask( -// [safety = pending_task_safety_flag_, this]() { -// // Now running on the main thread. -// if (!safety->alive()) -// return; -// MyMethod(); -// })); -// .... -// ~ExampleClass() { -// pending_task_safety_flag_->SetNotAlive(); -// } -// scoped_refptr pending_task_safety_flag_ -// = PendingTaskSafetyFlag::Create(); -// } -// -// ToQueuedTask has an overload that makes this check automatic: -// -// my_task_queue_->PostTask(ToQueuedTask(pending_task_safety_flag_, -// [this]() { MyMethod(); })); -// -class PendingTaskSafetyFlag final - : public rtc::RefCountedNonVirtual { - public: - static rtc::scoped_refptr Create(); - - // Creates a flag, but with its SequenceChecker initially detached. Hence, it - // may be created on a different thread than the flag will be used on. - static rtc::scoped_refptr CreateDetached(); - - // Same as `CreateDetached()` except the initial state of the returned flag - // will be `!alive()`. - static rtc::scoped_refptr CreateDetachedInactive(); - - ~PendingTaskSafetyFlag() = default; - - void SetNotAlive(); - // The SetAlive method is intended to support Start/Stop/Restart usecases. - // When a class has called SetNotAlive on a flag used for posted tasks, and - // decides it wants to post new tasks and have them run, there are two - // reasonable ways to do that: - // - // (i) Use the below SetAlive method. One subtlety is that any task posted - // prior to SetNotAlive, and still in the queue, is resurrected and will - // run. - // - // (ii) Create a fresh flag, and just drop the reference to the old one. This - // avoids the above problem, and ensures that tasks poster prior to - // SetNotAlive stay cancelled. Instead, there's a potential data race on - // the flag pointer itself. Some synchronization is required between the - // thread overwriting the flag pointer, and the threads that want to post - // tasks and therefore read that same pointer. - void SetAlive(); - bool alive() const; - - protected: - explicit PendingTaskSafetyFlag(bool alive) : alive_(alive) {} - - private: - static rtc::scoped_refptr CreateInternal(bool alive); - - bool alive_ = true; - RTC_NO_UNIQUE_ADDRESS SequenceChecker main_sequence_; -}; - -// The ScopedTaskSafety makes using PendingTaskSafetyFlag very simple. -// It does automatic PTSF creation and signalling of destruction when the -// ScopedTaskSafety instance goes out of scope. -// -// ToQueuedTask has an overload that takes a ScopedTaskSafety too, so there -// is no need to explicitly call the "flag" method. -// -// Example usage: -// -// my_task_queue->PostTask(ToQueuedTask(scoped_task_safety, -// [this]() { -// // task goes here -// } -// -// This should be used by the class that wants tasks dropped after destruction. -// The requirement is that the instance has to be constructed and destructed on -// the same thread as the potentially dropped tasks would be running on. -class ScopedTaskSafety final { - public: - ScopedTaskSafety() = default; - explicit ScopedTaskSafety(rtc::scoped_refptr flag) - : flag_(std::move(flag)) {} - ~ScopedTaskSafety() { flag_->SetNotAlive(); } - - // Returns a new reference to the safety flag. - rtc::scoped_refptr flag() const { return flag_; } - - // Marks the current flag as not-alive and attaches to a new one. - void reset(rtc::scoped_refptr new_flag = - PendingTaskSafetyFlag::Create()) { - flag_->SetNotAlive(); - flag_ = std::move(new_flag); - } - - private: - rtc::scoped_refptr flag_ = - PendingTaskSafetyFlag::Create(); -}; - -// Like ScopedTaskSafety, but allows construction on a different thread than -// where the flag will be used. -class ScopedTaskSafetyDetached final { - public: - ScopedTaskSafetyDetached() = default; - ~ScopedTaskSafetyDetached() { flag_->SetNotAlive(); } - - // Returns a new reference to the safety flag. - rtc::scoped_refptr flag() const { return flag_; } - - private: - rtc::scoped_refptr flag_ = - PendingTaskSafetyFlag::CreateDetached(); -}; - -} // namespace webrtc +#include "api/task_queue/pending_task_safety_flag.h" #endif // RTC_BASE_TASK_UTILS_PENDING_TASK_SAFETY_FLAG_H_ diff --git a/rtc_base/task_utils/repeating_task.cc b/rtc_base/task_utils/repeating_task.cc index c07df4567c..fc19b9915d 100644 --- a/rtc_base/task_utils/repeating_task.cc +++ b/rtc_base/task_utils/repeating_task.cc @@ -11,9 +11,9 @@ #include "rtc_base/task_utils/repeating_task.h" #include "absl/memory/memory.h" +#include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" namespace webrtc { diff --git a/rtc_base/task_utils/repeating_task.h b/rtc_base/task_utils/repeating_task.h index 1086c1629e..4d2b7eb1a2 100644 --- a/rtc_base/task_utils/repeating_task.h +++ b/rtc_base/task_utils/repeating_task.h @@ -15,11 +15,11 @@ #include #include +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/queued_task.h" #include "api/task_queue/task_queue_base.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "system_wrappers/include/clock.h" namespace webrtc { diff --git a/rtc_base/task_utils/repeating_task_unittest.cc b/rtc_base/task_utils/repeating_task_unittest.cc index d6ab920e50..ca334461ba 100644 --- a/rtc_base/task_utils/repeating_task_unittest.cc +++ b/rtc_base/task_utils/repeating_task_unittest.cc @@ -15,10 +15,10 @@ #include "api/task_queue/queued_task.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "api/units/timestamp.h" #include "rtc_base/event.h" #include "rtc_base/task_queue_for_test.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "system_wrappers/include/clock.h" #include "test/gmock.h" #include "test/gtest.h" diff --git a/rtc_base/task_utils/to_queued_task.h b/rtc_base/task_utils/to_queued_task.h index b2e3aae7ae..049fb018d7 100644 --- a/rtc_base/task_utils/to_queued_task.h +++ b/rtc_base/task_utils/to_queued_task.h @@ -11,101 +11,6 @@ #ifndef RTC_BASE_TASK_UTILS_TO_QUEUED_TASK_H_ #define RTC_BASE_TASK_UTILS_TO_QUEUED_TASK_H_ -#include -#include -#include - -#include "api/task_queue/queued_task.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" - -namespace webrtc { -namespace webrtc_new_closure_impl { -// Simple implementation of QueuedTask for use with lambdas. -template -class ClosureTask : public QueuedTask { - public: - explicit ClosureTask(Closure&& closure) - : closure_(std::forward(closure)) {} - - private: - bool Run() override { - closure_(); - return true; - } - - typename std::decay::type closure_; -}; - -template -class SafetyClosureTask : public QueuedTask { - public: - explicit SafetyClosureTask(rtc::scoped_refptr safety, - Closure&& closure) - : closure_(std::forward(closure)), - safety_flag_(std::move(safety)) {} - - private: - bool Run() override { - if (safety_flag_->alive()) - closure_(); - return true; - } - - typename std::decay::type closure_; - rtc::scoped_refptr safety_flag_; -}; - -// Extends ClosureTask to also allow specifying cleanup code. -// This is useful when using lambdas if guaranteeing cleanup, even if a task -// was dropped (queue is too full), is required. -template -class ClosureTaskWithCleanup : public ClosureTask { - public: - ClosureTaskWithCleanup(Closure&& closure, Cleanup&& cleanup) - : ClosureTask(std::forward(closure)), - cleanup_(std::forward(cleanup)) {} - ~ClosureTaskWithCleanup() override { cleanup_(); } - - private: - typename std::decay::type cleanup_; -}; -} // namespace webrtc_new_closure_impl - -// Convenience function to construct closures that can be passed directly -// to methods that support std::unique_ptr but not template -// based parameters. -template -std::unique_ptr ToQueuedTask(Closure&& closure) { - return std::make_unique>( - std::forward(closure)); -} - -template -std::unique_ptr ToQueuedTask( - rtc::scoped_refptr safety, - Closure&& closure) { - return std::make_unique>( - std::move(safety), std::forward(closure)); -} - -template -std::unique_ptr ToQueuedTask(const ScopedTaskSafety& safety, - Closure&& closure) { - return ToQueuedTask(safety.flag(), std::forward(closure)); -} - -template ::type>::type, - ScopedTaskSafety>::value>::type* = nullptr> -std::unique_ptr ToQueuedTask(Closure&& closure, Cleanup&& cleanup) { - return std::make_unique< - webrtc_new_closure_impl::ClosureTaskWithCleanup>( - std::forward(closure), std::forward(cleanup)); -} - -} // namespace webrtc +#include "api/task_queue/to_queued_task.h" #endif // RTC_BASE_TASK_UTILS_TO_QUEUED_TASK_H_ diff --git a/rtc_base/thread.cc b/rtc_base/thread.cc index f9680650a9..6693979259 100644 --- a/rtc_base/thread.cc +++ b/rtc_base/thread.cc @@ -32,6 +32,7 @@ #include "absl/algorithm/container.h" #include "api/sequence_checker.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/atomic_ops.h" #include "rtc_base/checks.h" #include "rtc_base/deprecated/recursive_critical_section.h" @@ -39,7 +40,6 @@ #include "rtc_base/internal/default_socket_server.h" #include "rtc_base/logging.h" #include "rtc_base/null_socket_server.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" #include "rtc_base/trace_event.h" diff --git a/rtc_base/thread.h b/rtc_base/thread.h index 052a71b22c..885d7b8350 100644 --- a/rtc_base/thread.h +++ b/rtc_base/thread.h @@ -31,6 +31,7 @@ #include "api/function_view.h" #include "api/task_queue/queued_task.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/checks.h" #include "rtc_base/deprecated/recursive_critical_section.h" #include "rtc_base/location.h" @@ -38,7 +39,6 @@ #include "rtc_base/platform_thread_types.h" #include "rtc_base/socket_server.h" #include "rtc_base/system/rtc_export.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread_annotations.h" #include "rtc_base/thread_message.h" diff --git a/rtc_base/thread_unittest.cc b/rtc_base/thread_unittest.cc index 5497f8db7f..5490e6171e 100644 --- a/rtc_base/thread_unittest.cc +++ b/rtc_base/thread_unittest.cc @@ -14,6 +14,7 @@ #include "api/task_queue/task_queue_factory.h" #include "api/task_queue/task_queue_test.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/async_invoker.h" #include "rtc_base/async_udp_socket.h" #include "rtc_base/atomic_ops.h" @@ -25,7 +26,6 @@ #include "rtc_base/physical_socket_server.h" #include "rtc_base/socket_address.h" #include "rtc_base/synchronization/mutex.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/third_party/sigslot/sigslot.h" #include "test/testsupport/rtc_expect_death.h" diff --git a/rtc_base/time_utils_unittest.cc b/rtc_base/time_utils_unittest.cc index 2663714b7a..ced6e357c4 100644 --- a/rtc_base/time_utils_unittest.cc +++ b/rtc_base/time_utils_unittest.cc @@ -12,13 +12,13 @@ #include +#include "api/task_queue/to_queued_task.h" #include "api/units/time_delta.h" #include "rtc_base/event.h" #include "rtc_base/fake_clock.h" #include "rtc_base/helpers.h" #include "rtc_base/location.h" #include "rtc_base/message_handler.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" #include "test/gtest.h" diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn index 1530cfba57..e9a8dbfa36 100644 --- a/sdk/BUILD.gn +++ b/sdk/BUILD.gn @@ -1573,13 +1573,13 @@ if (is_ios || is_mac) { ":network_monitor_observer", "../api:field_trials_view", "../api:sequence_checker", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../rtc_base", "../rtc_base:logging", "../rtc_base:macromagic", "../rtc_base:stringutils", "../rtc_base:threading", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn index c1ceea4db9..812984a40a 100644 --- a/sdk/android/BUILD.gn +++ b/sdk/android/BUILD.gn @@ -582,6 +582,8 @@ if (current_os == "linux" || is_android) { "../../api:libjingle_peerconnection_api", "../../api:scoped_refptr", "../../api:sequence_checker", + "../../api/task_queue:pending_task_safety_flag", + "../../api/task_queue:to_queued_task", "../../rtc_base", "../../rtc_base:checks", "../../rtc_base:ip_address", @@ -590,8 +592,6 @@ if (current_os == "linux" || is_android) { "../../rtc_base:refcount", "../../rtc_base:stringutils", "../../rtc_base:threading", - "../../rtc_base/task_utils:pending_task_safety_flag", - "../../rtc_base/task_utils:to_queued_task", "../../system_wrappers:field_trial", "../../system_wrappers:metrics", ] @@ -675,6 +675,7 @@ if (current_os == "linux" || is_android) { "../../api:media_stream_interface", "../../api:sequence_checker", "../../api/task_queue", + "../../api/task_queue:to_queued_task", "../../api/video:encoded_image", "../../api/video:render_resolution", "../../api/video:video_frame", @@ -699,7 +700,6 @@ if (current_os == "linux" || is_android) { "../../rtc_base:timestamp_aligner", "../../rtc_base:timeutils", "../../rtc_base/synchronization:mutex", - "../../rtc_base/task_utils:to_queued_task", "//third_party/libyuv", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] diff --git a/sdk/android/src/jni/android_network_monitor.cc b/sdk/android/src/jni/android_network_monitor.cc index c17e1ee219..8b2e6c5e67 100644 --- a/sdk/android/src/jni/android_network_monitor.cc +++ b/sdk/android/src/jni/android_network_monitor.cc @@ -19,11 +19,11 @@ #endif #include "api/sequence_checker.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/checks.h" #include "rtc_base/ip_address.h" #include "rtc_base/logging.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "sdk/android/generated_base_jni/NetworkChangeDetector_jni.h" #include "sdk/android/generated_base_jni/NetworkMonitor_jni.h" #include "sdk/android/native_api/jni/java_types.h" diff --git a/sdk/android/src/jni/android_network_monitor.h b/sdk/android/src/jni/android_network_monitor.h index dfeb2beb3b..d0aad5ea76 100644 --- a/sdk/android/src/jni/android_network_monitor.h +++ b/sdk/android/src/jni/android_network_monitor.h @@ -20,10 +20,10 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" #include "api/field_trials_view.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "rtc_base/network_monitor.h" #include "rtc_base/network_monitor_factory.h" #include "rtc_base/string_utils.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" #include "sdk/android/src/jni/jni_helpers.h" diff --git a/sdk/android/src/jni/video_encoder_wrapper.cc b/sdk/android/src/jni/video_encoder_wrapper.cc index 1a841e629e..bd40d7742f 100644 --- a/sdk/android/src/jni/video_encoder_wrapper.cc +++ b/sdk/android/src/jni/video_encoder_wrapper.cc @@ -12,6 +12,7 @@ #include +#include "api/task_queue/to_queued_task.h" #include "common_video/h264/h264_common.h" #include "modules/video_coding/include/video_codec_interface.h" #include "modules/video_coding/include/video_error_codes.h" @@ -19,7 +20,6 @@ #include "modules/video_coding/utility/vp8_header_parser.h" #include "modules/video_coding/utility/vp9_uncompressed_header_parser.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" #include "sdk/android/generated_video_jni/VideoEncoderWrapper_jni.h" #include "sdk/android/generated_video_jni/VideoEncoder_jni.h" diff --git a/sdk/objc/native/src/objc_network_monitor.h b/sdk/objc/native/src/objc_network_monitor.h index a47a0a9a37..709e9dfbe5 100644 --- a/sdk/objc/native/src/objc_network_monitor.h +++ b/sdk/objc/native/src/objc_network_monitor.h @@ -16,10 +16,10 @@ #include "absl/strings/string_view.h" #include "api/field_trials_view.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "rtc_base/network_monitor.h" #include "rtc_base/network_monitor_factory.h" #include "rtc_base/string_utils.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" #include "sdk/objc/components/network/RTCNetworkMonitor+Private.h" diff --git a/sdk/objc/native/src/objc_network_monitor.mm b/sdk/objc/native/src/objc_network_monitor.mm index 28fd72b94e..3afa2e6c15 100644 --- a/sdk/objc/native/src/objc_network_monitor.mm +++ b/sdk/objc/native/src/objc_network_monitor.mm @@ -11,7 +11,7 @@ #include "sdk/objc/native/src/objc_network_monitor.h" #include "absl/strings/string_view.h" -#include "rtc_base/task_utils/to_queued_task.h" +#include "api/task_queue/to_queued_task.h" #include diff --git a/test/BUILD.gn b/test/BUILD.gn index da4a31ad01..4e4107667b 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -555,6 +555,7 @@ if (rtc_include_tests && !build_with_chromium) { "../api:scoped_refptr", "../api:simulcast_test_fixture_api", "../api/task_queue:task_queue_test", + "../api/task_queue:to_queued_task", "../api/test/video:function_video_factory", "../api/video:encoded_image", "../api/video:video_frame", @@ -574,7 +575,6 @@ if (rtc_include_tests && !build_with_chromium) { "../rtc_base:rtc_task_queue", "../rtc_base/synchronization:mutex", "../rtc_base/system:file_wrapper", - "../rtc_base/task_utils:to_queued_task", "pc/e2e:e2e_unittests", "peer_scenario/tests", "scenario:scenario_unittests", @@ -870,9 +870,9 @@ rtc_library("run_loop") { "run_loop.h", ] deps = [ + "../api/task_queue:to_queued_task", "../rtc_base:threading", "../rtc_base:timeutils", - "../rtc_base/task_utils:to_queued_task", ] } @@ -914,6 +914,7 @@ rtc_library("test_common") { "../api/rtc_event_log", "../api/task_queue", "../api/task_queue:default_task_queue_factory", + "../api/task_queue:to_queued_task", "../api/test/video:function_video_factory", "../api/transport:field_trial_based_config", "../api/video:builtin_video_bitrate_allocator_factory", @@ -938,7 +939,6 @@ rtc_library("test_common") { "../rtc_base:task_queue_for_test", "../rtc_base:threading", "../rtc_base:timeutils", - "../rtc_base/task_utils:to_queued_task", "../system_wrappers", "../system_wrappers:field_trial", ] diff --git a/test/network/BUILD.gn b/test/network/BUILD.gn index 62ad48a82a..fc4f4bca5b 100644 --- a/test/network/BUILD.gn +++ b/test/network/BUILD.gn @@ -47,6 +47,8 @@ rtc_library("emulated_network") { "../../api:simulated_network_api", "../../api:time_controller", "../../api/numerics", + "../../api/task_queue:pending_task_safety_flag", + "../../api/task_queue:to_queued_task", "../../api/test/network_emulation", "../../api/transport:stun_types", "../../api/units:data_rate", @@ -75,9 +77,7 @@ rtc_library("emulated_network") { "../../rtc_base:threading", "../../rtc_base/memory:always_valid_pointer", "../../rtc_base/synchronization:mutex", - "../../rtc_base/task_utils:pending_task_safety_flag", "../../rtc_base/task_utils:repeating_task", - "../../rtc_base/task_utils:to_queued_task", "../../system_wrappers", "../../test:scoped_key_value_config", "../scenario:column_printer", diff --git a/test/network/fake_network_socket_server.cc b/test/network/fake_network_socket_server.cc index 28c0473e44..de0f68748e 100644 --- a/test/network/fake_network_socket_server.cc +++ b/test/network/fake_network_socket_server.cc @@ -17,9 +17,9 @@ #include "absl/algorithm/container.h" #include "api/scoped_refptr.h" +#include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" namespace webrtc { diff --git a/test/run_loop.cc b/test/run_loop.cc index ebb0d200fb..adce7fff0f 100644 --- a/test/run_loop.cc +++ b/test/run_loop.cc @@ -9,7 +9,7 @@ */ #include "test/run_loop.h" -#include "rtc_base/task_utils/to_queued_task.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/time_utils.h" namespace webrtc { diff --git a/test/run_loop.h b/test/run_loop.h index 9a91d44db5..529a545460 100644 --- a/test/run_loop.h +++ b/test/run_loop.h @@ -10,7 +10,7 @@ #ifndef TEST_RUN_LOOP_H_ #define TEST_RUN_LOOP_H_ -#include "rtc_base/task_utils/to_queued_task.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/thread.h" namespace webrtc { diff --git a/test/run_loop_unittest.cc b/test/run_loop_unittest.cc index 160aba0716..f094ad1737 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/to_queued_task.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "test/gtest.h" namespace webrtc { diff --git a/test/time_controller/BUILD.gn b/test/time_controller/BUILD.gn index 4fa0ab6195..bdb271d0f4 100644 --- a/test/time_controller/BUILD.gn +++ b/test/time_controller/BUILD.gn @@ -30,6 +30,7 @@ rtc_library("time_controller") { "../../api:time_controller", "../../api/task_queue", "../../api/task_queue:default_task_queue_factory", + "../../api/task_queue:to_queued_task", "../../api/units:time_delta", "../../api/units:timestamp", "../../modules:module_api", @@ -42,7 +43,6 @@ rtc_library("time_controller") { "../../rtc_base:rtc_event", "../../rtc_base/synchronization:mutex", "../../rtc_base/synchronization:yield_policy", - "../../rtc_base/task_utils:to_queued_task", "../../system_wrappers", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] @@ -60,6 +60,7 @@ if (rtc_include_tests) { ":time_controller", "../:test_support", "../../api:time_controller", + "../../api/task_queue:to_queued_task", "../../api/units:time_delta", "../../rtc_base", "../../rtc_base:location", @@ -69,7 +70,6 @@ if (rtc_include_tests) { "../../rtc_base:threading", "../../rtc_base/synchronization:mutex", "../../rtc_base/task_utils:repeating_task", - "../../rtc_base/task_utils:to_queued_task", ] } } diff --git a/test/time_controller/simulated_thread.cc b/test/time_controller/simulated_thread.cc index 4de36c54fb..fa2b8ee794 100644 --- a/test/time_controller/simulated_thread.cc +++ b/test/time_controller/simulated_thread.cc @@ -12,7 +12,7 @@ #include #include -#include "rtc_base/task_utils/to_queued_task.h" +#include "api/task_queue/to_queued_task.h" namespace webrtc { namespace { diff --git a/test/time_controller/time_controller_conformance_test.cc b/test/time_controller/time_controller_conformance_test.cc index ec3da19cbb..308edd1081 100644 --- a/test/time_controller/time_controller_conformance_test.cc +++ b/test/time_controller/time_controller_conformance_test.cc @@ -11,12 +11,12 @@ #include #include +#include "api/task_queue/to_queued_task.h" #include "api/test/time_controller.h" #include "api/units/time_delta.h" #include "rtc_base/event.h" #include "rtc_base/location.h" #include "rtc_base/synchronization/mutex.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" #include "test/gmock.h" diff --git a/video/BUILD.gn b/video/BUILD.gn index 35e12e45ac..65f02d84e3 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -73,6 +73,8 @@ rtc_library("video") { "../api/crypto:options", "../api/rtc_event_log", "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/units:frequency", "../api/units:time_delta", "../api/units:timestamp", @@ -142,9 +144,7 @@ rtc_library("video") { "../rtc_base/experiments:rtt_mult_experiment", "../rtc_base/synchronization:mutex", "../rtc_base/system:no_unique_address", - "../rtc_base/task_utils:pending_task_safety_flag", "../rtc_base/task_utils:repeating_task", - "../rtc_base/task_utils:to_queued_task", "../rtc_base/time:timestamp_extrapolator", "../system_wrappers", "../system_wrappers:field_trial", @@ -228,6 +228,8 @@ rtc_library("frame_cadence_adapter") { "../api:field_trials_view", "../api:sequence_checker", "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/units:time_delta", "../api/units:timestamp", "../api/video:video_frame", @@ -239,9 +241,7 @@ rtc_library("frame_cadence_adapter") { "../rtc_base:timeutils", "../rtc_base/synchronization:mutex", "../rtc_base/system:no_unique_address", - "../rtc_base/task_utils:pending_task_safety_flag", "../rtc_base/task_utils:repeating_task", - "../rtc_base/task_utils:to_queued_task", "../system_wrappers", "../system_wrappers:field_trial", "../system_wrappers:metrics", @@ -308,10 +308,10 @@ rtc_library("task_queue_frame_decode_scheduler") { ":frame_decode_timing", "../api:sequence_checker", "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", + "../api/task_queue:to_queued_task", "../api/units:timestamp", "../rtc_base:checks", - "../rtc_base/task_utils:pending_task_safety_flag", - "../rtc_base/task_utils:to_queued_task", "../system_wrappers", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] @@ -324,10 +324,10 @@ rtc_library("frame_decode_timing") { ] deps = [ "../api/task_queue", + "../api/task_queue:pending_task_safety_flag", "../api/units:time_delta", "../modules/video_coding/timing:timing_module", "../rtc_base:logging", - "../rtc_base/task_utils:pending_task_safety_flag", "../system_wrappers", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] @@ -392,7 +392,9 @@ rtc_library("video_stream_encoder_impl") { "../api:rtp_parameters", "../api:sequence_checker", "../api/adaptation:resource_adaptation_api", + "../api/task_queue:pending_task_safety_flag", "../api/task_queue:task_queue", + "../api/task_queue:to_queued_task", "../api/units:data_rate", "../api/video:encoded_image", "../api/video:render_resolution", @@ -440,9 +442,7 @@ rtc_library("video_stream_encoder_impl") { "../rtc_base/experiments:rate_control_settings", "../rtc_base/synchronization:mutex", "../rtc_base/system:no_unique_address", - "../rtc_base/task_utils:pending_task_safety_flag", "../rtc_base/task_utils:repeating_task", - "../rtc_base/task_utils:to_queued_task", "../system_wrappers", "../system_wrappers:field_trial", "../system_wrappers:metrics", @@ -809,6 +809,7 @@ if (rtc_include_tests) { "../api/rtc_event_log", "../api/task_queue", "../api/task_queue:default_task_queue_factory", + "../api/task_queue:to_queued_task", "../api/test/video:function_video_factory", "../api/units:data_rate", "../api/units:frequency", @@ -890,7 +891,6 @@ if (rtc_include_tests) { "../rtc_base/experiments:alr_experiment", "../rtc_base/experiments:encoder_info_settings", "../rtc_base/synchronization:mutex", - "../rtc_base/task_utils:to_queued_task", "../system_wrappers", "../system_wrappers:field_trial", "../system_wrappers:metrics", diff --git a/video/adaptation/BUILD.gn b/video/adaptation/BUILD.gn index 48be51df44..82c18e6f4e 100644 --- a/video/adaptation/BUILD.gn +++ b/video/adaptation/BUILD.gn @@ -39,6 +39,7 @@ rtc_library("video_adaptation") { "../../api:sequence_checker", "../../api/adaptation:resource_adaptation_api", "../../api/task_queue:task_queue", + "../../api/task_queue:to_queued_task", "../../api/units:data_rate", "../../api/units:time_delta", "../../api/video:video_adaptation", @@ -66,7 +67,6 @@ rtc_library("video_adaptation") { "../../rtc_base/synchronization:mutex", "../../rtc_base/system:no_unique_address", "../../rtc_base/task_utils:repeating_task", - "../../rtc_base/task_utils:to_queued_task", "../../system_wrappers:field_trial", "../../system_wrappers:system_wrappers", ] @@ -93,6 +93,7 @@ if (rtc_include_tests) { "../../api:field_trials_view", "../../api:scoped_refptr", "../../api/task_queue:task_queue", + "../../api/task_queue:to_queued_task", "../../api/units:time_delta", "../../api/units:timestamp", "../../api/video:encoded_image", @@ -112,7 +113,6 @@ if (rtc_include_tests) { "../../rtc_base:rtc_task_queue", "../../rtc_base:task_queue_for_test", "../../rtc_base:threading", - "../../rtc_base/task_utils:to_queued_task", "../../test:field_trial", "../../test:rtc_expect_death", "../../test:scoped_key_value_config", diff --git a/video/adaptation/balanced_constraint.cc b/video/adaptation/balanced_constraint.cc index 623b696d6e..481259c12a 100644 --- a/video/adaptation/balanced_constraint.cc +++ b/video/adaptation/balanced_constraint.cc @@ -14,7 +14,7 @@ #include #include "api/sequence_checker.h" -#include "rtc_base/task_utils/to_queued_task.h" +#include "api/task_queue/to_queued_task.h" namespace webrtc { diff --git a/video/adaptation/bandwidth_quality_scaler_resource.cc b/video/adaptation/bandwidth_quality_scaler_resource.cc index 6f75e5925b..b8d664c247 100644 --- a/video/adaptation/bandwidth_quality_scaler_resource.cc +++ b/video/adaptation/bandwidth_quality_scaler_resource.cc @@ -12,10 +12,10 @@ #include +#include "api/task_queue/to_queued_task.h" #include "rtc_base/checks.h" #include "rtc_base/experiments/balanced_degradation_settings.h" #include "rtc_base/logging.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" namespace webrtc { diff --git a/video/adaptation/pixel_limit_resource_unittest.cc b/video/adaptation/pixel_limit_resource_unittest.cc index 7b633b3f68..28ee6af16d 100644 --- a/video/adaptation/pixel_limit_resource_unittest.cc +++ b/video/adaptation/pixel_limit_resource_unittest.cc @@ -13,12 +13,12 @@ #include #include +#include "api/task_queue/to_queued_task.h" #include "api/units/timestamp.h" #include "call/adaptation/test/fake_video_stream_input_state_provider.h" #include "call/adaptation/test/mock_resource_listener.h" #include "call/adaptation/video_stream_adapter.h" #include "rtc_base/task_queue_for_test.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/time_controller/simulated_time_controller.h" diff --git a/video/adaptation/quality_scaler_resource.cc b/video/adaptation/quality_scaler_resource.cc index 6f6b2526d0..853c098a99 100644 --- a/video/adaptation/quality_scaler_resource.cc +++ b/video/adaptation/quality_scaler_resource.cc @@ -12,9 +12,9 @@ #include +#include "api/task_queue/to_queued_task.h" #include "rtc_base/checks.h" #include "rtc_base/experiments/balanced_degradation_settings.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" namespace webrtc { diff --git a/video/call_stats2.cc b/video/call_stats2.cc index e2d7b3e760..f21239751f 100644 --- a/video/call_stats2.cc +++ b/video/call_stats2.cc @@ -15,9 +15,9 @@ #include #include "absl/algorithm/container.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/checks.h" #include "rtc_base/location.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "system_wrappers/include/metrics.h" namespace webrtc { diff --git a/video/call_stats2.h b/video/call_stats2.h index b626e48840..760f7a0f24 100644 --- a/video/call_stats2.h +++ b/video/call_stats2.h @@ -14,11 +14,11 @@ #include #include +#include "api/task_queue/pending_task_safety_flag.h" #include "api/units/timestamp.h" #include "modules/include/module_common_types.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/task_utils/repeating_task.h" #include "system_wrappers/include/clock.h" diff --git a/video/call_stats2_unittest.cc b/video/call_stats2_unittest.cc index 4f371e85a9..13880d2e6b 100644 --- a/video/call_stats2_unittest.cc +++ b/video/call_stats2_unittest.cc @@ -13,8 +13,8 @@ #include #include "api/task_queue/default_task_queue_factory.h" +#include "api/task_queue/to_queued_task.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" #include "system_wrappers/include/metrics.h" #include "test/gmock.h" diff --git a/video/end_to_end_tests/bandwidth_tests.cc b/video/end_to_end_tests/bandwidth_tests.cc index 6a382711dd..9d14e6aeee 100644 --- a/video/end_to_end_tests/bandwidth_tests.cc +++ b/video/end_to_end_tests/bandwidth_tests.cc @@ -11,6 +11,7 @@ #include #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "api/test/simulated_network.h" #include "api/video/builtin_video_bitrate_allocator_factory.h" #include "api/video/video_bitrate_allocation.h" @@ -20,7 +21,6 @@ #include "rtc_base/rate_limiter.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/task_queue_for_test.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "system_wrappers/include/sleep.h" #include "test/call_test.h" #include "test/fake_encoder.h" diff --git a/video/end_to_end_tests/network_state_tests.cc b/video/end_to_end_tests/network_state_tests.cc index 5b5015b11a..c52f01dfbe 100644 --- a/video/end_to_end_tests/network_state_tests.cc +++ b/video/end_to_end_tests/network_state_tests.cc @@ -14,6 +14,7 @@ #include "api/task_queue/default_task_queue_factory.h" #include "api/task_queue/task_queue_base.h" #include "api/task_queue/task_queue_factory.h" +#include "api/task_queue/to_queued_task.h" #include "api/test/simulated_network.h" #include "api/video_codecs/video_encoder.h" #include "call/fake_network_pipe.h" @@ -22,7 +23,6 @@ #include "rtc_base/location.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/task_queue_for_test.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "system_wrappers/include/sleep.h" #include "test/call_test.h" #include "test/fake_encoder.h" diff --git a/video/frame_cadence_adapter.cc b/video/frame_cadence_adapter.cc index 94fd31882b..486c26bfdc 100644 --- a/video/frame_cadence_adapter.cc +++ b/video/frame_cadence_adapter.cc @@ -19,7 +19,9 @@ #include "absl/algorithm/container.h" #include "absl/base/attributes.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" #include "api/video/video_frame.h" @@ -29,9 +31,7 @@ #include "rtc_base/rate_statistics.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/system/no_unique_address.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/task_utils/repeating_task.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread_annotations.h" #include "rtc_base/time_utils.h" #include "system_wrappers/include/clock.h" diff --git a/video/frame_cadence_adapter_unittest.cc b/video/frame_cadence_adapter_unittest.cc index 3a2767a078..6d57f30303 100644 --- a/video/frame_cadence_adapter_unittest.cc +++ b/video/frame_cadence_adapter_unittest.cc @@ -16,12 +16,12 @@ #include "api/task_queue/default_task_queue_factory.h" #include "api/task_queue/task_queue_base.h" #include "api/task_queue/task_queue_factory.h" +#include "api/task_queue/to_queued_task.h" #include "api/units/timestamp.h" #include "api/video/nv12_buffer.h" #include "api/video/video_frame.h" #include "rtc_base/event.h" #include "rtc_base/rate_statistics.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" #include "system_wrappers/include/metrics.h" #include "system_wrappers/include/ntp_time.h" diff --git a/video/frame_decode_timing.h b/video/frame_decode_timing.h index 59247dca3c..6bde4702ad 100644 --- a/video/frame_decode_timing.h +++ b/video/frame_decode_timing.h @@ -15,9 +15,9 @@ #include +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" #include "modules/video_coding/timing/timing.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "system_wrappers/include/clock.h" namespace webrtc { diff --git a/video/receive_statistics_proxy2.cc b/video/receive_statistics_proxy2.cc index e2c05a96dc..0f816bb5ac 100644 --- a/video/receive_statistics_proxy2.cc +++ b/video/receive_statistics_proxy2.cc @@ -14,11 +14,11 @@ #include #include +#include "api/task_queue/to_queued_task.h" #include "modules/video_coding/include/video_codec_interface.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" #include "rtc_base/time_utils.h" #include "system_wrappers/include/clock.h" diff --git a/video/receive_statistics_proxy2.h b/video/receive_statistics_proxy2.h index a2e93664c6..7470768a32 100644 --- a/video/receive_statistics_proxy2.h +++ b/video/receive_statistics_proxy2.h @@ -19,6 +19,7 @@ #include "absl/types/optional.h" #include "api/field_trials_view.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" #include "api/units/timestamp.h" #include "call/video_receive_stream.h" @@ -30,7 +31,6 @@ #include "rtc_base/rate_statistics.h" #include "rtc_base/rate_tracker.h" #include "rtc_base/system/no_unique_address.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread_annotations.h" #include "video/quality_threshold.h" #include "video/stats_counter.h" diff --git a/video/receive_statistics_proxy2_unittest.cc b/video/receive_statistics_proxy2_unittest.cc index ca135dfce5..f38f9cf84b 100644 --- a/video/receive_statistics_proxy2_unittest.cc +++ b/video/receive_statistics_proxy2_unittest.cc @@ -18,11 +18,11 @@ #include "absl/types/optional.h" #include "api/scoped_refptr.h" +#include "api/task_queue/to_queued_task.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 "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" #include "system_wrappers/include/metrics.h" #include "test/gtest.h" diff --git a/video/rtp_video_stream_receiver_frame_transformer_delegate.cc b/video/rtp_video_stream_receiver_frame_transformer_delegate.cc index 90f9ad94f0..e6601d049e 100644 --- a/video/rtp_video_stream_receiver_frame_transformer_delegate.cc +++ b/video/rtp_video_stream_receiver_frame_transformer_delegate.cc @@ -14,8 +14,8 @@ #include #include "absl/memory/memory.h" +#include "api/task_queue/to_queued_task.h" #include "modules/rtp_rtcp/source/rtp_descriptor_authentication.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread.h" namespace webrtc { diff --git a/video/rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc b/video/rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc index 8e80683838..20a5953bb3 100644 --- a/video/rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc +++ b/video/rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc @@ -17,10 +17,10 @@ #include "absl/memory/memory.h" #include "api/call/transport.h" +#include "api/task_queue/to_queued_task.h" #include "call/video_receive_stream.h" #include "modules/rtp_rtcp/source/rtp_descriptor_authentication.h" #include "rtc_base/event.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/mock_frame_transformer.h" diff --git a/video/task_queue_frame_decode_scheduler.cc b/video/task_queue_frame_decode_scheduler.cc index 72de3c3ec9..594f8b86fe 100644 --- a/video/task_queue_frame_decode_scheduler.cc +++ b/video/task_queue_frame_decode_scheduler.cc @@ -14,8 +14,8 @@ #include #include "api/sequence_checker.h" +#include "api/task_queue/to_queued_task.h" #include "rtc_base/checks.h" -#include "rtc_base/task_utils/to_queued_task.h" namespace webrtc { diff --git a/video/video_receive_stream2.cc b/video/video_receive_stream2.cc index cd38d03ea4..80c58c36fd 100644 --- a/video/video_receive_stream2.cc +++ b/video/video_receive_stream2.cc @@ -27,7 +27,9 @@ #include "api/crypto/frame_decryptor_interface.h" #include "api/scoped_refptr.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "api/units/frequency.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" @@ -55,8 +57,6 @@ #include "rtc_base/strings/string_builder.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread_annotations.h" #include "rtc_base/time_utils.h" #include "rtc_base/trace_event.h" diff --git a/video/video_receive_stream2.h b/video/video_receive_stream2.h index 71dbf41b2f..06978b45b6 100644 --- a/video/video_receive_stream2.h +++ b/video/video_receive_stream2.h @@ -16,6 +16,7 @@ #include #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/task_queue/task_queue_factory.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" @@ -30,7 +31,6 @@ #include "modules/video_coding/video_receiver2.h" #include "rtc_base/system/no_unique_address.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread_annotations.h" #include "system_wrappers/include/clock.h" #include "video/frame_buffer_proxy.h" diff --git a/video/video_send_stream.cc b/video/video_send_stream.cc index 86fd0d9d6f..1b608449e3 100644 --- a/video/video_send_stream.cc +++ b/video/video_send_stream.cc @@ -13,6 +13,7 @@ #include "api/array_view.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "api/video/video_stream_encoder_settings.h" #include "modules/rtp_rtcp/include/rtp_header_extension_map.h" #include "modules/rtp_rtcp/source/rtp_header_extension_size.h" @@ -20,7 +21,6 @@ #include "rtc_base/checks.h" #include "rtc_base/logging.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "system_wrappers/include/clock.h" #include "video/adaptation/overuse_frame_detector.h" #include "video/frame_cadence_adapter.h" diff --git a/video/video_send_stream.h b/video/video_send_stream.h index 19123071bd..0faebf94ca 100644 --- a/video/video_send_stream.h +++ b/video/video_send_stream.h @@ -18,6 +18,7 @@ #include "api/fec_controller.h" #include "api/field_trials_view.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/video/video_stream_encoder_interface.h" #include "call/bitrate_allocator.h" #include "call/video_receive_stream.h" @@ -25,7 +26,6 @@ #include "rtc_base/event.h" #include "rtc_base/system/no_unique_address.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "video/encoder_rtcp_feedback.h" #include "video/send_delay_stats.h" #include "video/send_statistics_proxy.h" diff --git a/video/video_send_stream_impl.cc b/video/video_send_stream_impl.cc index 53596a89e5..7e815288e4 100644 --- a/video/video_send_stream_impl.cc +++ b/video/video_send_stream_impl.cc @@ -21,6 +21,7 @@ #include "api/rtp_parameters.h" #include "api/scoped_refptr.h" #include "api/sequence_checker.h" +#include "api/task_queue/to_queued_task.h" #include "api/video_codecs/video_codec.h" #include "call/rtp_transport_controller_send_interface.h" #include "call/video_send_stream.h" @@ -33,7 +34,6 @@ #include "rtc_base/experiments/rate_control_settings.h" #include "rtc_base/logging.h" #include "rtc_base/numerics/safe_conversions.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/trace_event.h" #include "system_wrappers/include/clock.h" #include "system_wrappers/include/field_trial.h" diff --git a/video/video_send_stream_impl.h b/video/video_send_stream_impl.h index 076b25d2e2..26f8d2ec2b 100644 --- a/video/video_send_stream_impl.h +++ b/video/video_send_stream_impl.h @@ -20,6 +20,7 @@ #include "absl/types/optional.h" #include "api/field_trials_view.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/video/encoded_image.h" #include "api/video/video_bitrate_allocation.h" #include "api/video/video_bitrate_allocator.h" @@ -36,7 +37,6 @@ #include "rtc_base/experiments/field_trial_parser.h" #include "rtc_base/system/no_unique_address.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/task_utils/repeating_task.h" #include "rtc_base/thread_annotations.h" #include "video/send_statistics_proxy.h" diff --git a/video/video_send_stream_tests.cc b/video/video_send_stream_tests.cc index 7101ace058..0cb5339f3a 100644 --- a/video/video_send_stream_tests.cc +++ b/video/video_send_stream_tests.cc @@ -16,6 +16,7 @@ #include "api/sequence_checker.h" #include "api/task_queue/default_task_queue_factory.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "api/test/simulated_network.h" #include "api/video/builtin_video_bitrate_allocator_factory.h" #include "api/video/encoded_image.h" @@ -52,7 +53,6 @@ #include "rtc_base/strings/string_builder.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/task_queue_for_test.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/time_utils.h" #include "rtc_base/unique_id_generator.h" #include "system_wrappers/include/sleep.h" diff --git a/video/video_stream_encoder.cc b/video/video_stream_encoder.cc index 791bdad0e9..0cc56f5521 100644 --- a/video/video_stream_encoder.cc +++ b/video/video_stream_encoder.cc @@ -23,6 +23,7 @@ #include "api/sequence_checker.h" #include "api/task_queue/queued_task.h" #include "api/task_queue/task_queue_base.h" +#include "api/task_queue/to_queued_task.h" #include "api/video/encoded_image.h" #include "api/video/i420_buffer.h" #include "api/video/render_resolution.h" @@ -46,7 +47,6 @@ #include "rtc_base/logging.h" #include "rtc_base/strings/string_builder.h" #include "rtc_base/system/no_unique_address.h" -#include "rtc_base/task_utils/to_queued_task.h" #include "rtc_base/thread_annotations.h" #include "rtc_base/trace_event.h" #include "system_wrappers/include/metrics.h" diff --git a/video/video_stream_encoder.h b/video/video_stream_encoder.h index 34d7895f7d..1953b91b3f 100644 --- a/video/video_stream_encoder.h +++ b/video/video_stream_encoder.h @@ -20,6 +20,7 @@ #include "api/adaptation/resource.h" #include "api/field_trials_view.h" #include "api/sequence_checker.h" +#include "api/task_queue/pending_task_safety_flag.h" #include "api/units/data_rate.h" #include "api/video/video_bitrate_allocator.h" #include "api/video/video_rotation.h" @@ -41,7 +42,6 @@ #include "rtc_base/race_checker.h" #include "rtc_base/rate_statistics.h" #include "rtc_base/task_queue.h" -#include "rtc_base/task_utils/pending_task_safety_flag.h" #include "rtc_base/thread_annotations.h" #include "system_wrappers/include/clock.h" #include "video/adaptation/video_stream_encoder_resource_manager.h"