Refactor structs in rtc_event_log_parser_new.h
Add some constructors to the structs in rtc_event_log_parser_new.h,
so that they may be emplaced into containers.
Bug: webrtc:8111
Change-Id: I2ccc3026673eef1237c7de2405e500fe9d7a33d0
Reviewed-on: https://webrtc-review.googlesource.com/c/108121
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25396}
diff --git a/logging/rtc_event_log/rtc_event_log_parser_new.h b/logging/rtc_event_log/rtc_event_log_parser_new.h
index 7d24684..c4293c7 100644
--- a/logging/rtc_event_log/rtc_event_log_parser_new.h
+++ b/logging/rtc_event_log/rtc_event_log_parser_new.h
@@ -57,70 +57,136 @@
// considered to outweigh the added memory and runtime overhead incurred by
// adding a vptr.
struct LoggedAlrStateEvent {
- int64_t timestamp_us;
- bool in_alr;
+ LoggedAlrStateEvent() = default;
+ LoggedAlrStateEvent(int64_t timestamp_us, bool in_alr)
+ : timestamp_us(timestamp_us), in_alr(in_alr) {}
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ bool in_alr;
};
struct LoggedAudioPlayoutEvent {
- int64_t timestamp_us;
- uint32_t ssrc;
+ LoggedAudioPlayoutEvent() = default;
+ LoggedAudioPlayoutEvent(int64_t timestamp_us, uint32_t ssrc)
+ : timestamp_us(timestamp_us), ssrc(ssrc) {}
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ uint32_t ssrc;
};
struct LoggedAudioNetworkAdaptationEvent {
- int64_t timestamp_us;
- AudioEncoderRuntimeConfig config;
+ LoggedAudioNetworkAdaptationEvent() = default;
+ LoggedAudioNetworkAdaptationEvent(int64_t timestamp_us,
+ const AudioEncoderRuntimeConfig& config)
+ : timestamp_us(timestamp_us), config(config) {}
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ AudioEncoderRuntimeConfig config;
};
struct LoggedBweDelayBasedUpdate {
+ LoggedBweDelayBasedUpdate() = default;
+ LoggedBweDelayBasedUpdate(int64_t timestamp_us,
+ int32_t bitrate_bps,
+ BandwidthUsage detector_state)
+ : timestamp_us(timestamp_us),
+ bitrate_bps(bitrate_bps),
+ detector_state(detector_state) {}
+
+ int64_t log_time_us() const { return timestamp_us; }
+ int64_t log_time_ms() const { return timestamp_us / 1000; }
+
int64_t timestamp_us;
int32_t bitrate_bps;
BandwidthUsage detector_state;
- int64_t log_time_us() const { return timestamp_us; }
- int64_t log_time_ms() const { return timestamp_us / 1000; }
};
struct LoggedBweLossBasedUpdate {
+ LoggedBweLossBasedUpdate() = default;
+ LoggedBweLossBasedUpdate(int64_t timestamp_us,
+ int32_t bitrate_bps,
+ uint8_t fraction_lost,
+ int32_t expected_packets)
+ : timestamp_us(timestamp_us),
+ bitrate_bps(bitrate_bps),
+ fraction_lost(fraction_lost),
+ expected_packets(expected_packets) {}
+
+ int64_t log_time_us() const { return timestamp_us; }
+ int64_t log_time_ms() const { return timestamp_us / 1000; }
+
int64_t timestamp_us;
int32_t bitrate_bps;
uint8_t fraction_lost;
int32_t expected_packets;
- int64_t log_time_us() const { return timestamp_us; }
- int64_t log_time_ms() const { return timestamp_us / 1000; }
};
struct LoggedBweProbeClusterCreatedEvent {
+ LoggedBweProbeClusterCreatedEvent() = default;
+ LoggedBweProbeClusterCreatedEvent(int64_t timestamp_us,
+ int32_t id,
+ int32_t bitrate_bps,
+ uint32_t min_packets,
+ uint32_t min_bytes)
+ : timestamp_us(timestamp_us),
+ id(id),
+ bitrate_bps(bitrate_bps),
+ min_packets(min_packets),
+ min_bytes(min_bytes) {}
+
+ int64_t log_time_us() const { return timestamp_us; }
+ int64_t log_time_ms() const { return timestamp_us / 1000; }
+
int64_t timestamp_us;
int32_t id;
int32_t bitrate_bps;
uint32_t min_packets;
uint32_t min_bytes;
- int64_t log_time_us() const { return timestamp_us; }
- int64_t log_time_ms() const { return timestamp_us / 1000; }
};
struct LoggedBweProbeSuccessEvent {
+ LoggedBweProbeSuccessEvent() = default;
+ LoggedBweProbeSuccessEvent(int64_t timestamp_us,
+ int32_t id,
+ int32_t bitrate_bps)
+ : timestamp_us(timestamp_us), id(id), bitrate_bps(bitrate_bps) {}
+
+ int64_t log_time_us() const { return timestamp_us; }
+ int64_t log_time_ms() const { return timestamp_us / 1000; }
+
int64_t timestamp_us;
int32_t id;
int32_t bitrate_bps;
- int64_t log_time_us() const { return timestamp_us; }
- int64_t log_time_ms() const { return timestamp_us / 1000; }
};
struct LoggedBweProbeFailureEvent {
+ LoggedBweProbeFailureEvent() = default;
+ LoggedBweProbeFailureEvent(int64_t timestamp_us,
+ int32_t id,
+ ProbeFailureReason failure_reason)
+ : timestamp_us(timestamp_us), id(id), failure_reason(failure_reason) {}
+
+ int64_t log_time_us() const { return timestamp_us; }
+ int64_t log_time_ms() const { return timestamp_us / 1000; }
+
int64_t timestamp_us;
int32_t id;
ProbeFailureReason failure_reason;
- int64_t log_time_us() const { return timestamp_us; }
- int64_t log_time_ms() const { return timestamp_us / 1000; }
};
struct LoggedIceCandidatePairConfig {
+ int64_t log_time_us() const { return timestamp_us; }
+ int64_t log_time_ms() const { return timestamp_us / 1000; }
+
int64_t timestamp_us;
IceCandidatePairConfigType type;
uint32_t candidate_pair_id;
@@ -131,16 +197,23 @@
IceCandidateType remote_candidate_type;
IceCandidatePairAddressFamily remote_address_family;
IceCandidatePairProtocol candidate_pair_protocol;
- int64_t log_time_us() const { return timestamp_us; }
- int64_t log_time_ms() const { return timestamp_us / 1000; }
};
struct LoggedIceCandidatePairEvent {
+ LoggedIceCandidatePairEvent() = default;
+ LoggedIceCandidatePairEvent(int64_t timestamp_us,
+ IceCandidatePairEventType type,
+ uint32_t candidate_pair_id)
+ : timestamp_us(timestamp_us),
+ type(type),
+ candidate_pair_id(candidate_pair_id) {}
+
+ int64_t log_time_us() const { return timestamp_us; }
+ int64_t log_time_ms() const { return timestamp_us / 1000; }
+
int64_t timestamp_us;
IceCandidatePairEventType type;
uint32_t candidate_pair_id;
- int64_t log_time_us() const { return timestamp_us; }
- int64_t log_time_ms() const { return timestamp_us / 1000; }
};
struct LoggedRtpPacket {
@@ -152,13 +225,15 @@
header(header),
header_length(header_length),
total_length(total_length) {}
+
+ int64_t log_time_us() const { return timestamp_us; }
+ int64_t log_time_ms() const { return timestamp_us / 1000; }
+
int64_t timestamp_us;
// TODO(terelius): This allocates space for 15 CSRCs even if none are used.
RTPHeader header;
size_t header_length;
size_t total_length;
- int64_t log_time_us() const { return timestamp_us; }
- int64_t log_time_ms() const { return timestamp_us / 1000; }
};
struct LoggedRtpPacketIncoming {
@@ -167,9 +242,10 @@
size_t header_length,
size_t total_length)
: rtp(timestamp_us, header, header_length, total_length) {}
- LoggedRtpPacket rtp;
int64_t log_time_us() const { return rtp.timestamp_us; }
int64_t log_time_ms() const { return rtp.timestamp_us / 1000; }
+
+ LoggedRtpPacket rtp;
};
struct LoggedRtpPacketOutgoing {
@@ -178,9 +254,10 @@
size_t header_length,
size_t total_length)
: rtp(timestamp_us, header, header_length, total_length) {}
- LoggedRtpPacket rtp;
int64_t log_time_us() const { return rtp.timestamp_us; }
int64_t log_time_ms() const { return rtp.timestamp_us / 1000; }
+
+ LoggedRtpPacket rtp;
};
struct LoggedRtcpPacket {
@@ -190,10 +267,12 @@
LoggedRtcpPacket(uint64_t timestamp_us, const std::string& packet);
LoggedRtcpPacket(const LoggedRtcpPacket&);
~LoggedRtcpPacket();
- int64_t timestamp_us;
- std::vector<uint8_t> raw_data;
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ std::vector<uint8_t> raw_data;
};
struct LoggedRtcpPacketIncoming {
@@ -203,9 +282,11 @@
: rtcp(timestamp_us, packet, total_length) {}
LoggedRtcpPacketIncoming(uint64_t timestamp_us, const std::string& packet)
: rtcp(timestamp_us, packet) {}
- LoggedRtcpPacket rtcp;
+
int64_t log_time_us() const { return rtcp.timestamp_us; }
int64_t log_time_ms() const { return rtcp.timestamp_us / 1000; }
+
+ LoggedRtcpPacket rtcp;
};
struct LoggedRtcpPacketOutgoing {
@@ -215,89 +296,130 @@
: rtcp(timestamp_us, packet, total_length) {}
LoggedRtcpPacketOutgoing(uint64_t timestamp_us, const std::string& packet)
: rtcp(timestamp_us, packet) {}
- LoggedRtcpPacket rtcp;
+
int64_t log_time_us() const { return rtcp.timestamp_us; }
int64_t log_time_ms() const { return rtcp.timestamp_us / 1000; }
+
+ LoggedRtcpPacket rtcp;
};
struct LoggedRtcpPacketReceiverReport {
- int64_t timestamp_us;
- rtcp::ReceiverReport rr;
+ LoggedRtcpPacketReceiverReport() = default;
+ LoggedRtcpPacketReceiverReport(int64_t timestamp_us,
+ const rtcp::ReceiverReport& rr)
+ : timestamp_us(timestamp_us), rr(rr) {}
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ rtcp::ReceiverReport rr;
};
struct LoggedRtcpPacketSenderReport {
- int64_t timestamp_us;
- rtcp::SenderReport sr;
+ LoggedRtcpPacketSenderReport() = default;
+ LoggedRtcpPacketSenderReport(int64_t timestamp_us,
+ const rtcp::SenderReport& sr)
+ : timestamp_us(timestamp_us), sr(sr) {}
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ rtcp::SenderReport sr;
};
struct LoggedRtcpPacketRemb {
- int64_t timestamp_us;
- rtcp::Remb remb;
+ LoggedRtcpPacketRemb() = default;
+ LoggedRtcpPacketRemb(int64_t timestamp_us, const rtcp::Remb& remb)
+ : timestamp_us(timestamp_us), remb(remb) {}
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ rtcp::Remb remb;
};
struct LoggedRtcpPacketNack {
- int64_t timestamp_us;
- rtcp::Nack nack;
+ LoggedRtcpPacketNack() = default;
+ LoggedRtcpPacketNack(int64_t timestamp_us, const rtcp::Nack& nack)
+ : timestamp_us(timestamp_us), nack(nack) {}
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ rtcp::Nack nack;
};
struct LoggedRtcpPacketTransportFeedback {
- int64_t timestamp_us;
- rtcp::TransportFeedback transport_feedback;
+ LoggedRtcpPacketTransportFeedback() = default;
+ LoggedRtcpPacketTransportFeedback(
+ int64_t timestamp_us,
+ const rtcp::TransportFeedback& transport_feedback)
+ : timestamp_us(timestamp_us), transport_feedback(transport_feedback) {}
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ rtcp::TransportFeedback transport_feedback;
};
struct LoggedStartEvent {
explicit LoggedStartEvent(int64_t timestamp_us)
: timestamp_us(timestamp_us) {}
- int64_t timestamp_us;
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
};
struct LoggedStopEvent {
explicit LoggedStopEvent(int64_t timestamp_us) : timestamp_us(timestamp_us) {}
- int64_t timestamp_us;
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
};
struct LoggedAudioRecvConfig {
LoggedAudioRecvConfig() = default;
LoggedAudioRecvConfig(int64_t timestamp_us, const rtclog::StreamConfig config)
: timestamp_us(timestamp_us), config(config) {}
- int64_t timestamp_us;
- rtclog::StreamConfig config;
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ rtclog::StreamConfig config;
};
struct LoggedAudioSendConfig {
LoggedAudioSendConfig() = default;
LoggedAudioSendConfig(int64_t timestamp_us, const rtclog::StreamConfig config)
: timestamp_us(timestamp_us), config(config) {}
- int64_t timestamp_us;
- rtclog::StreamConfig config;
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ rtclog::StreamConfig config;
};
struct LoggedVideoRecvConfig {
LoggedVideoRecvConfig() = default;
LoggedVideoRecvConfig(int64_t timestamp_us, const rtclog::StreamConfig config)
: timestamp_us(timestamp_us), config(config) {}
- int64_t timestamp_us;
- rtclog::StreamConfig config;
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ rtclog::StreamConfig config;
};
struct LoggedVideoSendConfig {
@@ -306,10 +428,12 @@
const std::vector<rtclog::StreamConfig>& configs);
LoggedVideoSendConfig(const LoggedVideoSendConfig&);
~LoggedVideoSendConfig();
- int64_t timestamp_us;
- std::vector<rtclog::StreamConfig> configs;
+
int64_t log_time_us() const { return timestamp_us; }
int64_t log_time_ms() const { return timestamp_us / 1000; }
+
+ int64_t timestamp_us;
+ std::vector<rtclog::StreamConfig> configs;
};
template <typename T>