summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/logging/rtc_event_log
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/logging/rtc_event_log')
-rw-r--r--third_party/libwebrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc3
-rw-r--r--third_party/libwebrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc3
-rw-r--r--third_party/libwebrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc12
-rw-r--r--third_party/libwebrtc/logging/rtc_event_log/fake_rtc_event_log_factory.h13
-rw-r--r--third_party/libwebrtc/logging/rtc_event_log/rtc_event_log2_proto_include.h4
-rw-r--r--third_party/libwebrtc/logging/rtc_event_log/rtc_event_log_parser.h3
-rw-r--r--third_party/libwebrtc/logging/rtc_event_log/rtc_event_log_unittest.cc41
7 files changed, 37 insertions, 42 deletions
diff --git a/third_party/libwebrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc b/third_party/libwebrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
index 5619827246..2c1444af07 100644
--- a/third_party/libwebrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
+++ b/third_party/libwebrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
@@ -53,17 +53,14 @@
#include "modules/rtp_rtcp/source/rtcp_packet/sender_report.h"
#include "modules/rtp_rtcp/source/rtp_packet.h"
#include "rtc_base/checks.h"
-#include "rtc_base/ignore_wundef.h"
#include "rtc_base/logging.h"
// *.pb.h files are generated at build-time by the protobuf compiler.
-RTC_PUSH_IGNORING_WUNDEF()
#ifdef WEBRTC_ANDROID_PLATFORM_BUILD
#include "external/webrtc/webrtc/logging/rtc_event_log/rtc_event_log.pb.h"
#else
#include "logging/rtc_event_log/rtc_event_log.pb.h"
#endif
-RTC_POP_IGNORING_WUNDEF()
namespace webrtc {
diff --git a/third_party/libwebrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc b/third_party/libwebrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc
index 2c9e42e064..01bd89718d 100644
--- a/third_party/libwebrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc
+++ b/third_party/libwebrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc
@@ -61,18 +61,15 @@
#include "modules/rtp_rtcp/source/rtp_header_extensions.h"
#include "modules/rtp_rtcp/source/rtp_packet.h"
#include "rtc_base/checks.h"
-#include "rtc_base/ignore_wundef.h"
#include "rtc_base/logging.h"
#include "system_wrappers/include/field_trial.h"
// *.pb.h files are generated at build-time by the protobuf compiler.
-RTC_PUSH_IGNORING_WUNDEF()
#ifdef WEBRTC_ANDROID_PLATFORM_BUILD
#include "external/webrtc/webrtc/logging/rtc_event_log/rtc_event_log2.pb.h"
#else
#include "logging/rtc_event_log/rtc_event_log2.pb.h"
#endif
-RTC_POP_IGNORING_WUNDEF()
using webrtc_event_logging::ToUnsigned;
diff --git a/third_party/libwebrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc b/third_party/libwebrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
index 47db40c9f4..bacc3cd1cb 100644
--- a/third_party/libwebrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
+++ b/third_party/libwebrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
@@ -17,17 +17,11 @@
namespace webrtc {
-std::unique_ptr<RtcEventLog> FakeRtcEventLogFactory::Create(
- RtcEventLog::EncodingType /*encoding_type*/) const {
+absl::Nonnull<std::unique_ptr<RtcEventLog>> FakeRtcEventLogFactory::Create(
+ const Environment& /*env*/) const {
auto fake_event_log = std::make_unique<FakeRtcEventLog>();
- const_cast<FakeRtcEventLogFactory*>(this)->last_log_created_ =
- fake_event_log.get();
+ const_cast<FakeRtcEventLog*&>(last_log_created_) = fake_event_log.get();
return fake_event_log;
}
-std::unique_ptr<RtcEventLog> FakeRtcEventLogFactory::CreateRtcEventLog(
- RtcEventLog::EncodingType encoding_type) {
- return Create(encoding_type);
-}
-
} // namespace webrtc
diff --git a/third_party/libwebrtc/logging/rtc_event_log/fake_rtc_event_log_factory.h b/third_party/libwebrtc/logging/rtc_event_log/fake_rtc_event_log_factory.h
index c7ff33dee4..0d6d076038 100644
--- a/third_party/libwebrtc/logging/rtc_event_log/fake_rtc_event_log_factory.h
+++ b/third_party/libwebrtc/logging/rtc_event_log/fake_rtc_event_log_factory.h
@@ -13,6 +13,8 @@
#include <memory>
+#include "absl/base/nullability.h"
+#include "api/environment/environment.h"
#include "api/rtc_event_log/rtc_event_log_factory_interface.h"
#include "logging/rtc_event_log/fake_rtc_event_log.h"
@@ -23,16 +25,13 @@ class FakeRtcEventLogFactory : public RtcEventLogFactoryInterface {
FakeRtcEventLogFactory() = default;
~FakeRtcEventLogFactory() override = default;
- std::unique_ptr<RtcEventLog> Create(
- RtcEventLog::EncodingType encoding_type) const override;
+ absl::Nonnull<std::unique_ptr<RtcEventLog>> Create(
+ const Environment& env) const override;
- std::unique_ptr<RtcEventLog> CreateRtcEventLog(
- RtcEventLog::EncodingType encoding_type) override;
-
- webrtc::FakeRtcEventLog* last_log_created() { return last_log_created_; }
+ FakeRtcEventLog* last_log_created() { return last_log_created_; }
private:
- webrtc::FakeRtcEventLog* last_log_created_;
+ FakeRtcEventLog* last_log_created_ = nullptr;
};
} // namespace webrtc
diff --git a/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log2_proto_include.h b/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log2_proto_include.h
index 3e43103897..43b914fd0c 100644
--- a/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log2_proto_include.h
+++ b/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log2_proto_include.h
@@ -11,15 +11,11 @@
#ifndef LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG2_PROTO_INCLUDE_H_
#define LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG2_PROTO_INCLUDE_H_
-#include "rtc_base/ignore_wundef.h"
-
// *.pb.h files are generated at build-time by the protobuf compiler.
-RTC_PUSH_IGNORING_WUNDEF()
#ifdef WEBRTC_ANDROID_PLATFORM_BUILD
#include "external/webrtc/webrtc/logging/rtc_event_log/rtc_event_log2.pb.h"
#else
#include "logging/rtc_event_log/rtc_event_log2.pb.h"
#endif
-RTC_POP_IGNORING_WUNDEF()
#endif // LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG2_PROTO_INCLUDE_H_
diff --git a/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log_parser.h b/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log_parser.h
index 9ad96274d3..def9f0ab35 100644
--- a/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log_parser.h
+++ b/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log_parser.h
@@ -54,10 +54,8 @@
#include "logging/rtc_event_log/events/rtc_event_video_send_stream_config.h"
#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
#include "modules/rtp_rtcp/source/rtcp_packet/common_header.h"
-#include "rtc_base/ignore_wundef.h"
// Files generated at build-time by the protobuf compiler.
-RTC_PUSH_IGNORING_WUNDEF()
#ifdef WEBRTC_ANDROID_PLATFORM_BUILD
#include "external/webrtc/webrtc/logging/rtc_event_log/rtc_event_log.pb.h"
#include "external/webrtc/webrtc/logging/rtc_event_log/rtc_event_log2.pb.h"
@@ -65,7 +63,6 @@ RTC_PUSH_IGNORING_WUNDEF()
#include "logging/rtc_event_log/rtc_event_log.pb.h"
#include "logging/rtc_event_log/rtc_event_log2.pb.h"
#endif
-RTC_POP_IGNORING_WUNDEF()
namespace webrtc {
diff --git a/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log_unittest.cc b/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log_unittest.cc
index 3730a080dd..a3005729ab 100644
--- a/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log_unittest.cc
+++ b/third_party/libwebrtc/logging/rtc_event_log/rtc_event_log_unittest.cc
@@ -19,8 +19,9 @@
#include <utility>
#include <vector>
+#include "api/environment/environment.h"
+#include "api/environment/environment_factory.h"
#include "api/rtc_event_log/rtc_event_log_factory.h"
-#include "api/task_queue/default_task_queue_factory.h"
#include "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h"
#include "logging/rtc_event_log/events/rtc_event_audio_playout.h"
#include "logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h"
@@ -50,6 +51,7 @@
#include "rtc_base/checks.h"
#include "rtc_base/fake_clock.h"
#include "rtc_base/random.h"
+#include "test/explicit_key_value_config.h"
#include "test/gtest.h"
#include "test/logging/memory_log_writer.h"
#include "test/testsupport/file_utils.h"
@@ -58,6 +60,8 @@ namespace webrtc {
namespace {
+using test::ExplicitKeyValueConfig;
+
struct EventCounts {
size_t audio_send_streams = 0;
size_t audio_recv_streams = 0;
@@ -105,6 +109,21 @@ struct EventCounts {
}
};
+std::unique_ptr<FieldTrialsView> CreateFieldTrialsFor(
+ RtcEventLog::EncodingType encoding_type) {
+ switch (encoding_type) {
+ case RtcEventLog::EncodingType::Legacy:
+ return std::make_unique<ExplicitKeyValueConfig>(
+ "WebRTC-RtcEventLogNewFormat/Disabled/");
+ case RtcEventLog::EncodingType::NewFormat:
+ return std::make_unique<ExplicitKeyValueConfig>(
+ "WebRTC-RtcEventLogNewFormat/Enabled/");
+ case RtcEventLog::EncodingType::ProtoFree:
+ RTC_CHECK(false);
+ return nullptr;
+ }
+}
+
class RtcEventLogSession
: public ::testing::TestWithParam<
std::tuple<uint64_t, int64_t, RtcEventLog::EncodingType>> {
@@ -336,14 +355,13 @@ void RtcEventLogSession::WriteVideoSendConfigs(size_t video_send_streams,
void RtcEventLogSession::WriteLog(EventCounts count,
size_t num_events_before_start) {
- // TODO(terelius): Allow test to run with either a real or a fake clock_.
- // Maybe always use the ScopedFakeClock, but conditionally SleepMs()?
+ // TODO(terelius): Allow test to run with either a real or a fake clock_
+ // e.g. by using clock and task_queue_factory from TimeController
+ // when RtcEventLogImpl switches to use injected clock from the environment.
- auto task_queue_factory = CreateDefaultTaskQueueFactory();
- RtcEventLogFactory rtc_event_log_factory(task_queue_factory.get());
// The log will be flushed to output when the event_log goes out of scope.
- std::unique_ptr<RtcEventLog> event_log =
- rtc_event_log_factory.CreateRtcEventLog(encoding_type_);
+ std::unique_ptr<RtcEventLog> event_log = RtcEventLogFactory().Create(
+ CreateEnvironment(CreateFieldTrialsFor(encoding_type_)));
// We can't send or receive packets without configured streams.
RTC_CHECK_GE(count.video_recv_streams, 1);
@@ -934,12 +952,9 @@ TEST_P(RtcEventLogCircularBufferTest, KeepsMostRecentEvents) {
int64_t start_time_us, utc_start_time_us, stop_time_us;
{
- auto task_queue_factory = CreateDefaultTaskQueueFactory();
- RtcEventLogFactory rtc_event_log_factory(task_queue_factory.get());
- // When `log` goes out of scope, the contents are flushed
- // to the output.
- std::unique_ptr<RtcEventLog> log =
- rtc_event_log_factory.CreateRtcEventLog(encoding_type_);
+ // When `log` goes out of scope, the contents are flushed to the output.
+ std::unique_ptr<RtcEventLog> log = RtcEventLogFactory().Create(
+ CreateEnvironment(CreateFieldTrialsFor(encoding_type_)));
for (size_t i = 0; i < kNumEvents; i++) {
// The purpose of the test is to verify that the log can handle