diff --git a/logging/BUILD.gn b/logging/BUILD.gn index da4920f292..b50d94015a 100644 --- a/logging/BUILD.gn +++ b/logging/BUILD.gn @@ -38,6 +38,7 @@ rtc_source_set("rtc_event_log_api") { ] deps = [ + "../api/task_queue", "../api:libjingle_logging_api", "../api:scoped_refptr", "../rtc_base:rtc_base_approved", @@ -261,6 +262,7 @@ rtc_static_library("rtc_event_log_impl_base") { deps = [ ":ice_log", ":rtc_event_log_api", + "../api/task_queue:global_task_queue_factory", "../api:libjingle_logging_api", "../rtc_base:checks", "../rtc_base:rtc_base_approved", diff --git a/logging/rtc_event_log/rtc_event_log.h b/logging/rtc_event_log/rtc_event_log.h index 60fbf0f20f..edfeef99ba 100644 --- a/logging/rtc_event_log/rtc_event_log.h +++ b/logging/rtc_event_log/rtc_event_log.h @@ -15,6 +15,7 @@ #include #include "api/rtc_event_log_output.h" +#include "api/task_queue/task_queue_factory.h" #include "logging/rtc_event_log/events/rtc_event.h" namespace webrtc { @@ -36,6 +37,10 @@ class RtcEventLog { // Factory method to create an RtcEventLog object. static std::unique_ptr Create(EncodingType encoding_type); + static std::unique_ptr Create( + EncodingType encoding_type, + TaskQueueFactory* task_queue_factory); + // Create an RtcEventLog object that does nothing. static std::unique_ptr CreateNull(); diff --git a/logging/rtc_event_log/rtc_event_log_impl.cc b/logging/rtc_event_log/rtc_event_log_impl.cc index 0dbda0f2da..0e93e79bce 100644 --- a/logging/rtc_event_log/rtc_event_log_impl.cc +++ b/logging/rtc_event_log/rtc_event_log_impl.cc @@ -20,6 +20,7 @@ #include "absl/memory/memory.h" #include "absl/types/optional.h" #include "api/rtc_event_log_output.h" +#include "api/task_queue/global_task_queue_factory.h" #include "logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h" #include "logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h" #include "rtc_base/checks.h" @@ -370,10 +371,17 @@ void RtcEventLogImpl::WriteToOutput(const std::string& output_string) { // RtcEventLog member functions. std::unique_ptr RtcEventLog::Create(EncodingType encoding_type) { + return RtcEventLog::Create(encoding_type, &GlobalTaskQueueFactory()); +} + +std::unique_ptr RtcEventLog::Create( + RtcEventLog::EncodingType encoding_type, + TaskQueueFactory* task_queue_factory) { #ifdef ENABLE_RTC_EVENT_LOG return absl::make_unique( CreateEncoder(encoding_type), - absl::make_unique("rtc_event_log")); + absl::make_unique(task_queue_factory->CreateTaskQueue( + "rtc_event_log", TaskQueueFactory::Priority::NORMAL))); #else return CreateNull(); #endif // ENABLE_RTC_EVENT_LOG