aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--logging/BUILD.gn3
-rw-r--r--logging/rtc_event_log/events/rtc_event.h7
-rw-r--r--logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc10
-rw-r--r--logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h10
-rw-r--r--logging/rtc_event_log/events/rtc_event_audio_playout.cc2
-rw-r--r--logging/rtc_event_log/events/rtc_event_audio_playout.h3
-rw-r--r--logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc10
-rw-r--r--logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h12
-rw-r--r--logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc10
-rw-r--r--logging/rtc_event_log/events/rtc_event_audio_send_stream_config.h12
-rw-r--r--logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.cc9
-rw-r--r--logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h9
-rw-r--r--logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.cc9
-rw-r--r--logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h9
-rw-r--r--logging/rtc_event_log/events/rtc_event_probe_cluster_created.cc9
-rw-r--r--logging/rtc_event_log/events/rtc_event_probe_cluster_created.h9
-rw-r--r--logging/rtc_event_log/events/rtc_event_probe_result_failure.cc5
-rw-r--r--logging/rtc_event_log/events/rtc_event_probe_result_failure.h10
-rw-r--r--logging/rtc_event_log/events/rtc_event_probe_result_success.cc3
-rw-r--r--logging/rtc_event_log/events/rtc_event_probe_result_success.h4
-rw-r--r--logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc6
-rw-r--r--logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h7
-rw-r--r--logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.cc6
-rw-r--r--logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h7
-rw-r--r--logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.cc10
-rw-r--r--logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h9
-rw-r--r--logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.cc11
-rw-r--r--logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h11
-rw-r--r--logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc8
-rw-r--r--logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h9
-rw-r--r--logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc8
-rw-r--r--logging/rtc_event_log/events/rtc_event_video_send_stream_config.h9
-rw-r--r--logging/rtc_event_log/rtc_event_log.h8
33 files changed, 248 insertions, 16 deletions
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index 34737d2b44..e56111a59a 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -69,6 +69,9 @@ rtc_source_set("rtc_event_log_api") {
"../api:array_view",
"../api:libjingle_peerconnection_api",
"../call:video_stream_api",
+ "../modules/audio_coding:audio_network_adaptor_config",
+ "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:rtc_base_approved",
]
}
diff --git a/logging/rtc_event_log/events/rtc_event.h b/logging/rtc_event_log/events/rtc_event.h
index 19c44d0ba6..2fe77b5c0b 100644
--- a/logging/rtc_event_log/events/rtc_event.h
+++ b/logging/rtc_event_log/events/rtc_event.h
@@ -11,6 +11,10 @@
#ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_H_
#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_H_
+#include <typedefs.h>
+
+#include "rtc_base/timeutils.h"
+
namespace webrtc {
// This class allows us to store unencoded RTC events. Subclasses of this class
@@ -45,11 +49,14 @@ class RtcEvent {
VideoSendStreamConfig
};
+ RtcEvent() : timestamp_us_(rtc::TimeMicros()) {}
virtual ~RtcEvent() = default;
virtual Type GetType() const = 0;
virtual bool IsConfigEvent() const = 0;
+
+ const int64_t timestamp_us_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc b/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc
index 2ae110c42e..5ab7da6796 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc
+++ b/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.cc
@@ -10,8 +10,18 @@
#include "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h"
+#include <utility>
+
+#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor_config.h"
+
namespace webrtc {
+RtcEventAudioNetworkAdaptation::RtcEventAudioNetworkAdaptation(
+ std::unique_ptr<AudioEncoderRuntimeConfig> config)
+ : config_(std::move(config)) {}
+
+RtcEventAudioNetworkAdaptation::~RtcEventAudioNetworkAdaptation() = default;
+
RtcEvent::Type RtcEventAudioNetworkAdaptation::GetType() const {
return RtcEvent::Type::AudioNetworkAdaptation;
}
diff --git a/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h b/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h
index 3b407371ad..9b39d24bfa 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h
+++ b/logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h
@@ -11,17 +11,25 @@
#ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_AUDIO_NETWORK_ADAPTATION_H_
#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_AUDIO_NETWORK_ADAPTATION_H_
+#include <memory>
+
#include "logging/rtc_event_log/events/rtc_event.h"
namespace webrtc {
+struct AudioEncoderRuntimeConfig;
+
class RtcEventAudioNetworkAdaptation final : public RtcEvent {
public:
- ~RtcEventAudioNetworkAdaptation() override = default;
+ explicit RtcEventAudioNetworkAdaptation(
+ std::unique_ptr<AudioEncoderRuntimeConfig> config);
+ ~RtcEventAudioNetworkAdaptation() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const std::unique_ptr<const AudioEncoderRuntimeConfig> config_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_audio_playout.cc b/logging/rtc_event_log/events/rtc_event_audio_playout.cc
index 354c0b8cd0..8378993ace 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_playout.cc
+++ b/logging/rtc_event_log/events/rtc_event_audio_playout.cc
@@ -12,6 +12,8 @@
namespace webrtc {
+RtcEventAudioPlayout::RtcEventAudioPlayout(uint32_t ssrc) : ssrc_(ssrc) {}
+
RtcEvent::Type RtcEventAudioPlayout::GetType() const {
return RtcEvent::Type::AudioPlayout;
}
diff --git a/logging/rtc_event_log/events/rtc_event_audio_playout.h b/logging/rtc_event_log/events/rtc_event_audio_playout.h
index 19d3bde406..c74148109b 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_playout.h
+++ b/logging/rtc_event_log/events/rtc_event_audio_playout.h
@@ -17,11 +17,14 @@ namespace webrtc {
class RtcEventAudioPlayout final : public RtcEvent {
public:
+ explicit RtcEventAudioPlayout(uint32_t ssrc);
~RtcEventAudioPlayout() override = default;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const uint32_t ssrc_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc b/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc
index d9f8e745e7..6bc9dc6b30 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc
+++ b/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.cc
@@ -10,8 +10,18 @@
#include "logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h"
+#include <utility>
+
+#include "logging/rtc_event_log/rtc_stream_config.h"
+
namespace webrtc {
+RtcEventAudioReceiveStreamConfig::RtcEventAudioReceiveStreamConfig(
+ std::unique_ptr<rtclog::StreamConfig> config)
+ : config_(std::move(config)) {}
+
+RtcEventAudioReceiveStreamConfig::~RtcEventAudioReceiveStreamConfig() = default;
+
RtcEvent::Type RtcEventAudioReceiveStreamConfig::GetType() const {
return RtcEvent::Type::AudioReceiveStreamConfig;
}
diff --git a/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h b/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h
index bc30424de8..ae79bbf44a 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h
+++ b/logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h
@@ -11,17 +11,27 @@
#ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_AUDIO_RECEIVE_STREAM_CONFIG_H_
#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_AUDIO_RECEIVE_STREAM_CONFIG_H_
+#include <memory>
+
#include "logging/rtc_event_log/events/rtc_event.h"
namespace webrtc {
+namespace rtclog {
+struct StreamConfig;
+} // namespace rtclog
+
class RtcEventAudioReceiveStreamConfig final : public RtcEvent {
public:
- ~RtcEventAudioReceiveStreamConfig() override = default;
+ explicit RtcEventAudioReceiveStreamConfig(
+ std::unique_ptr<rtclog::StreamConfig> config);
+ ~RtcEventAudioReceiveStreamConfig() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const std::unique_ptr<const rtclog::StreamConfig> config_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc b/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc
index 0ad07ced1b..de88bcad5c 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc
+++ b/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.cc
@@ -10,8 +10,18 @@
#include "logging/rtc_event_log/events/rtc_event_audio_send_stream_config.h"
+#include <utility>
+
+#include "logging/rtc_event_log/rtc_stream_config.h"
+
namespace webrtc {
+RtcEventAudioSendStreamConfig::RtcEventAudioSendStreamConfig(
+ std::unique_ptr<rtclog::StreamConfig> config)
+ : config_(std::move(config)) {}
+
+RtcEventAudioSendStreamConfig::~RtcEventAudioSendStreamConfig() = default;
+
RtcEvent::Type RtcEventAudioSendStreamConfig::GetType() const {
return RtcEvent::Type::AudioSendStreamConfig;
}
diff --git a/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.h b/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.h
index 2fad7b3de1..44611f1e4b 100644
--- a/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.h
+++ b/logging/rtc_event_log/events/rtc_event_audio_send_stream_config.h
@@ -11,17 +11,27 @@
#ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_AUDIO_SEND_STREAM_CONFIG_H_
#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_AUDIO_SEND_STREAM_CONFIG_H_
+#include <memory>
+
#include "logging/rtc_event_log/events/rtc_event.h"
namespace webrtc {
+namespace rtclog {
+struct StreamConfig;
+} // namespace rtclog
+
class RtcEventAudioSendStreamConfig final : public RtcEvent {
public:
- ~RtcEventAudioSendStreamConfig() override = default;
+ explicit RtcEventAudioSendStreamConfig(
+ std::unique_ptr<rtclog::StreamConfig> config);
+ ~RtcEventAudioSendStreamConfig() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const std::unique_ptr<const rtclog::StreamConfig> config_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.cc b/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.cc
index 681dd7d022..caf0f77c44 100644
--- a/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.cc
+++ b/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.cc
@@ -10,8 +10,17 @@
#include "logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h"
+#include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+
namespace webrtc {
+RtcEventBweUpdateDelayBased::RtcEventBweUpdateDelayBased(
+ int32_t bitrate_bps,
+ BandwidthUsage detector_state)
+ : bitrate_bps_(bitrate_bps), detector_state_(detector_state) {}
+
+RtcEventBweUpdateDelayBased::~RtcEventBweUpdateDelayBased() = default;
+
RtcEvent::Type RtcEventBweUpdateDelayBased::GetType() const {
return RtcEvent::Type::BweUpdateDelayBased;
}
diff --git a/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h b/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h
index 78750bef3c..b59b78cdcd 100644
--- a/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h
+++ b/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h
@@ -15,13 +15,20 @@
namespace webrtc {
+enum class BandwidthUsage;
+
class RtcEventBweUpdateDelayBased final : public RtcEvent {
public:
- ~RtcEventBweUpdateDelayBased() override = default;
+ RtcEventBweUpdateDelayBased(int32_t bitrate_bps,
+ BandwidthUsage detector_state);
+ ~RtcEventBweUpdateDelayBased() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const int32_t bitrate_bps_;
+ const BandwidthUsage detector_state_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.cc b/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.cc
index e9cba1e67e..5d11200e73 100644
--- a/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.cc
+++ b/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.cc
@@ -12,6 +12,15 @@
namespace webrtc {
+RtcEventBweUpdateLossBased::RtcEventBweUpdateLossBased(int32_t bitrate_bps,
+ uint8_t fraction_loss,
+ int32_t total_packets)
+ : bitrate_bps_(bitrate_bps),
+ fraction_loss_(fraction_loss),
+ total_packets_(total_packets) {}
+
+RtcEventBweUpdateLossBased::~RtcEventBweUpdateLossBased() = default;
+
RtcEvent::Type RtcEventBweUpdateLossBased::GetType() const {
return RtcEvent::Type::BweUpdateLossBased;
}
diff --git a/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h b/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h
index cbc8624fa5..474b9de040 100644
--- a/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h
+++ b/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h
@@ -17,11 +17,18 @@ namespace webrtc {
class RtcEventBweUpdateLossBased final : public RtcEvent {
public:
- ~RtcEventBweUpdateLossBased() override = default;
+ RtcEventBweUpdateLossBased(int32_t bitrate_bps_,
+ uint8_t fraction_loss_,
+ int32_t total_packets_);
+ ~RtcEventBweUpdateLossBased() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const int32_t bitrate_bps_;
+ const uint8_t fraction_loss_;
+ const int32_t total_packets_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_probe_cluster_created.cc b/logging/rtc_event_log/events/rtc_event_probe_cluster_created.cc
index 314f816a17..d5dad74122 100644
--- a/logging/rtc_event_log/events/rtc_event_probe_cluster_created.cc
+++ b/logging/rtc_event_log/events/rtc_event_probe_cluster_created.cc
@@ -12,6 +12,15 @@
namespace webrtc {
+RtcEventProbeClusterCreated::RtcEventProbeClusterCreated(int id,
+ int bitrate_bps,
+ int min_probes,
+ int min_bytes)
+ : id_(id),
+ bitrate_bps_(bitrate_bps),
+ min_probes_(min_probes),
+ min_bytes_(min_bytes) {}
+
RtcEvent::Type RtcEventProbeClusterCreated::GetType() const {
return RtcEvent::Type::ProbeClusterCreated;
}
diff --git a/logging/rtc_event_log/events/rtc_event_probe_cluster_created.h b/logging/rtc_event_log/events/rtc_event_probe_cluster_created.h
index 8893406e1e..938ba4f32e 100644
--- a/logging/rtc_event_log/events/rtc_event_probe_cluster_created.h
+++ b/logging/rtc_event_log/events/rtc_event_probe_cluster_created.h
@@ -17,11 +17,20 @@ namespace webrtc {
class RtcEventProbeClusterCreated final : public RtcEvent {
public:
+ RtcEventProbeClusterCreated(int id,
+ int bitrate_bps,
+ int min_probes,
+ int min_bytes);
~RtcEventProbeClusterCreated() override = default;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const int id_;
+ const int bitrate_bps_;
+ const int min_probes_;
+ const int min_bytes_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_probe_result_failure.cc b/logging/rtc_event_log/events/rtc_event_probe_result_failure.cc
index d2f6cc45c0..1242ab825a 100644
--- a/logging/rtc_event_log/events/rtc_event_probe_result_failure.cc
+++ b/logging/rtc_event_log/events/rtc_event_probe_result_failure.cc
@@ -12,6 +12,11 @@
namespace webrtc {
+RtcEventProbeResultFailure::RtcEventProbeResultFailure(
+ int id,
+ ProbeFailureReason failure_reason)
+ : id_(id), failure_reason_(failure_reason) {}
+
RtcEvent::Type RtcEventProbeResultFailure::GetType() const {
return RtcEvent::Type::ProbeResultFailure;
}
diff --git a/logging/rtc_event_log/events/rtc_event_probe_result_failure.h b/logging/rtc_event_log/events/rtc_event_probe_result_failure.h
index 6817a3b5c2..76d8643799 100644
--- a/logging/rtc_event_log/events/rtc_event_probe_result_failure.h
+++ b/logging/rtc_event_log/events/rtc_event_probe_result_failure.h
@@ -15,13 +15,23 @@
namespace webrtc {
+enum ProbeFailureReason {
+ kInvalidSendReceiveInterval,
+ kInvalidSendReceiveRatio,
+ kTimeout
+};
+
class RtcEventProbeResultFailure final : public RtcEvent {
public:
+ RtcEventProbeResultFailure(int id, ProbeFailureReason failure_reason);
~RtcEventProbeResultFailure() override = default;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const int id_;
+ const ProbeFailureReason failure_reason_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_probe_result_success.cc b/logging/rtc_event_log/events/rtc_event_probe_result_success.cc
index bf9fba977e..f7b06fe28e 100644
--- a/logging/rtc_event_log/events/rtc_event_probe_result_success.cc
+++ b/logging/rtc_event_log/events/rtc_event_probe_result_success.cc
@@ -12,6 +12,9 @@
namespace webrtc {
+RtcEventProbeResultSuccess::RtcEventProbeResultSuccess(int id, int bitrate_bps)
+ : id_(id), bitrate_bps_(bitrate_bps) {}
+
RtcEvent::Type RtcEventProbeResultSuccess::GetType() const {
return RtcEvent::Type::ProbeResultSuccess;
}
diff --git a/logging/rtc_event_log/events/rtc_event_probe_result_success.h b/logging/rtc_event_log/events/rtc_event_probe_result_success.h
index cdf9493d22..f8f02164d6 100644
--- a/logging/rtc_event_log/events/rtc_event_probe_result_success.h
+++ b/logging/rtc_event_log/events/rtc_event_probe_result_success.h
@@ -17,11 +17,15 @@ namespace webrtc {
class RtcEventProbeResultSuccess final : public RtcEvent {
public:
+ RtcEventProbeResultSuccess(int id, int bitrate_bps);
~RtcEventProbeResultSuccess() override = default;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const int id_;
+ const int bitrate_bps_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc b/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc
index df84b17381..1f0765e40c 100644
--- a/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc
+++ b/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc
@@ -12,6 +12,12 @@
namespace webrtc {
+RtcEventRtcpPacketIncoming::RtcEventRtcpPacketIncoming(
+ rtc::ArrayView<const uint8_t> packet)
+ : packet_(packet.data(), packet.size()) {}
+
+RtcEventRtcpPacketIncoming::~RtcEventRtcpPacketIncoming() = default;
+
RtcEvent::Type RtcEventRtcpPacketIncoming::GetType() const {
return RtcEvent::Type::RtcpPacketIncoming;
}
diff --git a/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h b/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h
index c9402d75f1..f7af462c10 100644
--- a/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h
+++ b/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h
@@ -11,17 +11,22 @@
#ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_RTCP_PACKET_INCOMING_H_
#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_RTCP_PACKET_INCOMING_H_
+#include "api/array_view.h"
#include "logging/rtc_event_log/events/rtc_event.h"
+#include "rtc_base/buffer.h"
namespace webrtc {
class RtcEventRtcpPacketIncoming final : public RtcEvent {
public:
- ~RtcEventRtcpPacketIncoming() override = default;
+ explicit RtcEventRtcpPacketIncoming(rtc::ArrayView<const uint8_t> packet);
+ ~RtcEventRtcpPacketIncoming() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ rtc::Buffer packet_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.cc b/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.cc
index a74671a559..b2dfaf0867 100644
--- a/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.cc
+++ b/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.cc
@@ -12,6 +12,12 @@
namespace webrtc {
+RtcEventRtcpPacketOutgoing::RtcEventRtcpPacketOutgoing(
+ rtc::ArrayView<const uint8_t> packet)
+ : packet_(packet.data(), packet.size()) {}
+
+RtcEventRtcpPacketOutgoing::~RtcEventRtcpPacketOutgoing() = default;
+
RtcEvent::Type RtcEventRtcpPacketOutgoing::GetType() const {
return RtcEvent::Type::RtcpPacketOutgoing;
}
diff --git a/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h b/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h
index 41c726fb6d..2c38ae0878 100644
--- a/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h
+++ b/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h
@@ -11,17 +11,22 @@
#ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_RTCP_PACKET_OUTGOING_H_
#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_RTCP_PACKET_OUTGOING_H_
+#include "api/array_view.h"
#include "logging/rtc_event_log/events/rtc_event.h"
+#include "rtc_base/buffer.h"
namespace webrtc {
class RtcEventRtcpPacketOutgoing final : public RtcEvent {
public:
- ~RtcEventRtcpPacketOutgoing() override = default;
+ explicit RtcEventRtcpPacketOutgoing(rtc::ArrayView<const uint8_t> packet);
+ ~RtcEventRtcpPacketOutgoing() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ rtc::Buffer packet_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.cc b/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.cc
index 324bb15c7a..e0dcec5e79 100644
--- a/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.cc
+++ b/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.cc
@@ -10,8 +10,18 @@
#include "logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h"
+#include "modules/rtp_rtcp/source/rtp_packet_received.h"
+
namespace webrtc {
+RtcEventRtpPacketIncoming::RtcEventRtpPacketIncoming(
+ const RtpPacketReceived& packet)
+ : packet_length_(packet.size()) {
+ header_.CopyHeaderFrom(packet);
+}
+
+RtcEventRtpPacketIncoming::~RtcEventRtpPacketIncoming() = default;
+
RtcEvent::Type RtcEventRtpPacketIncoming::GetType() const {
return RtcEvent::Type::RtpPacketIncoming;
}
diff --git a/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h b/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h
index 02bc7e80fc..4aaf86f289 100644
--- a/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h
+++ b/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h
@@ -12,16 +12,23 @@
#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_RTP_PACKET_INCOMING_H_
#include "logging/rtc_event_log/events/rtc_event.h"
+#include "modules/rtp_rtcp/source/rtp_packet.h"
namespace webrtc {
+class RtpPacketReceived;
+
class RtcEventRtpPacketIncoming final : public RtcEvent {
public:
- ~RtcEventRtpPacketIncoming() override = default;
+ explicit RtcEventRtpPacketIncoming(const RtpPacketReceived& packet);
+ ~RtcEventRtpPacketIncoming() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ RtpPacket header_; // Only the packet's header will be stored here.
+ const size_t packet_length_; // Length before stripping away all but header.
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.cc b/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.cc
index 4b3613d208..207f76a511 100644
--- a/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.cc
+++ b/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.cc
@@ -10,8 +10,19 @@
#include "logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h"
+#include "modules/rtp_rtcp/source/rtp_packet_to_send.h"
+
namespace webrtc {
+RtcEventRtpPacketOutgoing::RtcEventRtpPacketOutgoing(
+ const RtpPacketToSend& packet,
+ int probe_cluster_id)
+ : packet_length_(packet.size()), probe_cluster_id_(probe_cluster_id) {
+ header_.CopyHeaderFrom(packet);
+}
+
+RtcEventRtpPacketOutgoing::~RtcEventRtpPacketOutgoing() = default;
+
RtcEvent::Type RtcEventRtpPacketOutgoing::GetType() const {
return RtcEvent::Type::RtpPacketOutgoing;
}
diff --git a/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h b/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h
index 0d771561e3..898cdce40e 100644
--- a/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h
+++ b/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h
@@ -12,16 +12,25 @@
#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_RTP_PACKET_OUTGOING_H_
#include "logging/rtc_event_log/events/rtc_event.h"
+#include "modules/rtp_rtcp/source/rtp_packet.h"
namespace webrtc {
+class RtpPacketToSend;
+
class RtcEventRtpPacketOutgoing final : public RtcEvent {
public:
- ~RtcEventRtpPacketOutgoing() override = default;
+ RtcEventRtpPacketOutgoing(const RtpPacketToSend& packet,
+ int probe_cluster_id);
+ ~RtcEventRtpPacketOutgoing() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ RtpPacket header_; // Only the packet's header will be stored here.
+ const size_t packet_length_; // Length before stripping away all but header.
+ const int probe_cluster_id_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc b/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc
index 1e3fb6774b..514974b2ec 100644
--- a/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc
+++ b/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.cc
@@ -10,8 +10,16 @@
#include "logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h"
+#include <utility>
+
namespace webrtc {
+RtcEventVideoReceiveStreamConfig::RtcEventVideoReceiveStreamConfig(
+ std::unique_ptr<rtclog::StreamConfig> config)
+ : config_(std::move(config)) {}
+
+RtcEventVideoReceiveStreamConfig::~RtcEventVideoReceiveStreamConfig() = default;
+
RtcEvent::Type RtcEventVideoReceiveStreamConfig::GetType() const {
return Type::VideoReceiveStreamConfig;
}
diff --git a/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h b/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h
index 1506e8be18..1d470e50ce 100644
--- a/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h
+++ b/logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h
@@ -11,17 +11,24 @@
#ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_VIDEO_RECEIVE_STREAM_CONFIG_H_
#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_VIDEO_RECEIVE_STREAM_CONFIG_H_
+#include <memory>
+
#include "logging/rtc_event_log/events/rtc_event.h"
+#include "logging/rtc_event_log/rtc_stream_config.h"
namespace webrtc {
class RtcEventVideoReceiveStreamConfig final : public RtcEvent {
public:
- ~RtcEventVideoReceiveStreamConfig() override = default;
+ explicit RtcEventVideoReceiveStreamConfig(
+ std::unique_ptr<rtclog::StreamConfig> config);
+ ~RtcEventVideoReceiveStreamConfig() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const std::unique_ptr<const rtclog::StreamConfig> config_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc b/logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc
index f54d825614..9bb2b5e38e 100644
--- a/logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc
+++ b/logging/rtc_event_log/events/rtc_event_video_send_stream_config.cc
@@ -10,8 +10,16 @@
#include "logging/rtc_event_log/events/rtc_event_video_send_stream_config.h"
+#include <utility>
+
namespace webrtc {
+RtcEventVideoSendStreamConfig::RtcEventVideoSendStreamConfig(
+ std::unique_ptr<rtclog::StreamConfig> config)
+ : config_(std::move(config)) {}
+
+RtcEventVideoSendStreamConfig::~RtcEventVideoSendStreamConfig() = default;
+
RtcEvent::Type RtcEventVideoSendStreamConfig::GetType() const {
return RtcEvent::Type::VideoSendStreamConfig;
}
diff --git a/logging/rtc_event_log/events/rtc_event_video_send_stream_config.h b/logging/rtc_event_log/events/rtc_event_video_send_stream_config.h
index 97e2497c1b..97bdba9613 100644
--- a/logging/rtc_event_log/events/rtc_event_video_send_stream_config.h
+++ b/logging/rtc_event_log/events/rtc_event_video_send_stream_config.h
@@ -11,17 +11,24 @@
#ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_VIDEO_SEND_STREAM_CONFIG_H_
#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_VIDEO_SEND_STREAM_CONFIG_H_
+#include <memory>
+
#include "logging/rtc_event_log/events/rtc_event.h"
+#include "logging/rtc_event_log/rtc_stream_config.h"
namespace webrtc {
class RtcEventVideoSendStreamConfig final : public RtcEvent {
public:
- ~RtcEventVideoSendStreamConfig() override = default;
+ explicit RtcEventVideoSendStreamConfig(
+ std::unique_ptr<rtclog::StreamConfig> config);
+ ~RtcEventVideoSendStreamConfig() override;
Type GetType() const override;
bool IsConfigEvent() const override;
+
+ const std::unique_ptr<const rtclog::StreamConfig> config_;
};
} // namespace webrtc
diff --git a/logging/rtc_event_log/rtc_event_log.h b/logging/rtc_event_log/rtc_event_log.h
index 31caa447cd..076af8d7dc 100644
--- a/logging/rtc_event_log/rtc_event_log.h
+++ b/logging/rtc_event_log/rtc_event_log.h
@@ -19,6 +19,9 @@
// TODO(eladalon): Get rid of this later in the CL-stack.
#include "api/rtpparameters.h"
#include "common_types.h" // NOLINT(build/include)
+// TODO(eladalon): This is here because of ProbeFailureReason; remove this
+// dependency along with the deprecated LogProbeResultFailure().
+#include "logging/rtc_event_log/events/rtc_event_probe_result_failure.h"
#include "rtc_base/platform_file.h"
namespace webrtc {
@@ -38,11 +41,6 @@ enum class MediaType;
enum class BandwidthUsage;
enum PacketDirection { kIncomingPacket = 0, kOutgoingPacket };
-enum ProbeFailureReason {
- kInvalidSendReceiveInterval,
- kInvalidSendReceiveRatio,
- kTimeout
-};
class RtcEventLog {
public: