Change AudioProcessing interface to allow not to require rtc::TaskQueue
rtc::TaskQueue is a wrapper of TaskQueueBase providing no extra functionality in this case
Bug: webrtc:14169
Change-Id: I5eb27a5dbb16f6097a9c71c2633c807808e50c05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/333800
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41501}
diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h
index e322351..a732e92 100644
--- a/modules/audio_processing/include/audio_processing.h
+++ b/modules/audio_processing/include/audio_processing.h
@@ -23,6 +23,7 @@
#include <vector>
+#include "absl/base/nullability.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/array_view.h"
@@ -30,6 +31,7 @@
#include "api/audio/echo_control.h"
#include "api/ref_count.h"
#include "api/scoped_refptr.h"
+#include "api/task_queue/task_queue_base.h"
#include "modules/audio_processing/include/audio_processing_statistics.h"
#include "rtc_base/arraysize.h"
#include "rtc_base/system/file_wrapper.h"
@@ -632,12 +634,23 @@
// return value of true indicates that the file has been
// sucessfully opened, while a value of false indicates that
// opening the file failed.
+ // TODO: bugs.webrtc.org/14169 - Delete rtc::TaskQueue variants
virtual bool CreateAndAttachAecDump(absl::string_view file_name,
int64_t max_log_size_bytes,
- rtc::TaskQueue* worker_queue) = 0;
+ rtc::TaskQueue* worker_queue);
virtual bool CreateAndAttachAecDump(FILE* handle,
int64_t max_log_size_bytes,
- rtc::TaskQueue* worker_queue) = 0;
+ rtc::TaskQueue* worker_queue);
+ // TODO: bugs.webrtc.org/14169 - Make TaskQueueBase variants pure virtual when
+ // implemented by derived classes.
+ virtual bool CreateAndAttachAecDump(
+ absl::string_view file_name,
+ int64_t max_log_size_bytes,
+ absl::Nonnull<TaskQueueBase*> worker_queue);
+ virtual bool CreateAndAttachAecDump(
+ absl::Nonnull<FILE*> handle,
+ int64_t max_log_size_bytes,
+ absl::Nonnull<TaskQueueBase*> worker_queue);
// TODO(webrtc:5298) Deprecated variant.
// Attaches provided webrtc::AecDump for recording debugging