mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-17 23:57:59 +01:00

This change adds mocked time unit tests to RtcEventLogImpl. In order to simplify test implementation, the Impl ctor was changed to accept an already created event log encoder. The previous factory was made public in the Impl interface and relevant code sites were updated. Bug: chromium:1288710 Change-Id: Ifbfd899c5a06a3350c7e5fbc3bb7280f67124f2b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290382 Reviewed-by: Henrik Andreassson <henrika@webrtc.org> Commit-Queue: Markus Handell <handellm@webrtc.org> Reviewed-by: Björn Terelius <terelius@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38987}
48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
/*
|
|
* Copyright 2017 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.
|
|
*/
|
|
|
|
#include "api/rtc_event_log/rtc_event_log_factory.h"
|
|
|
|
#include <memory>
|
|
#include <utility>
|
|
|
|
#include "rtc_base/checks.h"
|
|
#include "system_wrappers/include/field_trial.h"
|
|
|
|
#ifdef WEBRTC_ENABLE_RTC_EVENT_LOG
|
|
#include "logging/rtc_event_log/rtc_event_log_impl.h"
|
|
#endif
|
|
|
|
namespace webrtc {
|
|
|
|
RtcEventLogFactory::RtcEventLogFactory(TaskQueueFactory* task_queue_factory)
|
|
: task_queue_factory_(task_queue_factory) {
|
|
RTC_DCHECK(task_queue_factory_);
|
|
}
|
|
|
|
std::unique_ptr<RtcEventLog> RtcEventLogFactory::Create(
|
|
RtcEventLog::EncodingType encoding_type) const {
|
|
#ifdef WEBRTC_ENABLE_RTC_EVENT_LOG
|
|
if (field_trial::IsEnabled("WebRTC-RtcEventLogKillSwitch")) {
|
|
return std::make_unique<RtcEventLogNull>();
|
|
}
|
|
return std::make_unique<RtcEventLogImpl>(
|
|
RtcEventLogImpl::CreateEncoder(encoding_type), task_queue_factory_);
|
|
#else
|
|
return std::make_unique<RtcEventLogNull>();
|
|
#endif
|
|
}
|
|
|
|
std::unique_ptr<RtcEventLog> RtcEventLogFactory::CreateRtcEventLog(
|
|
RtcEventLog::EncodingType encoding_type) {
|
|
return Create(encoding_type);
|
|
}
|
|
|
|
} // namespace webrtc
|