Revert "Delete rtc::TaskQueue::Current in favor of webrtc::TaskQueueBase::Current"
This reverts commit 304e9d2df347630d71fd4423f5971f30dac73e41.
Reason for revert: Breaks downstream projects.
Seems to make VideoSendStreamTest.SupportsFlexfecSimulcastVp8 flaky.
Original change's description:
> Delete rtc::TaskQueue::Current in favor of webrtc::TaskQueueBase::Current
>
> Bug: webrtc:10191
> Change-Id: I506cc50a90c73a6a4f6a3de36de0999cca72f5ba
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126230
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27035}
TBR=danilchap@webrtc.org,kwiberg@webrtc.org
Change-Id: If98324f88e4b3d18bf2fe33597dfb9711867c243
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10191
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126484
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27041}
diff --git a/rtc_base/task_queue.cc b/rtc_base/task_queue.cc
index d11b34e..ed489eb 100644
--- a/rtc_base/task_queue.cc
+++ b/rtc_base/task_queue.cc
@@ -16,7 +16,9 @@
TaskQueue::TaskQueue(
std::unique_ptr<webrtc::TaskQueueBase, webrtc::TaskQueueDeleter> task_queue)
- : impl_(task_queue.release()) {}
+ : impl_(task_queue.release()) {
+ impl_->task_queue_ = this;
+}
TaskQueue::TaskQueue(const char* queue_name, Priority priority)
: TaskQueue(webrtc::GlobalTaskQueueFactory().CreateTaskQueue(queue_name,
@@ -30,8 +32,17 @@
impl_->Delete();
}
+// static
+TaskQueue* TaskQueue::Current() {
+ webrtc::TaskQueueBase* impl = webrtc::TaskQueueBase::Current();
+ if (impl == nullptr) {
+ return nullptr;
+ }
+ return impl->task_queue_;
+}
+
bool TaskQueue::IsCurrent() const {
- return impl_->IsCurrent();
+ return Current() == this;
}
void TaskQueue::PostTask(std::unique_ptr<QueuedTask> task) {