Add noop stubs for encoding/parsing all RTC event log events.
The actual event definitions will be added in upcoming CLs. Bug: webrtc:11933 Change-Id: Ie10b08a71aeb12118612b7717a08b6acbc699c4d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249361 Reviewed-by: Sebastian Jansson <srte@webrtc.org> Commit-Queue: Björn Terelius <terelius@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35978}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
a751f167c6
commit
9a6097046e
@ -21,6 +21,7 @@
|
||||
#include "api/rtc_event_log/rtc_event_log.h"
|
||||
#include "call/video_receive_stream.h"
|
||||
#include "call/video_send_stream.h"
|
||||
#include "logging/rtc_event_log/events/logged_rtp_rtcp.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_alr_state.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_audio_playout.h"
|
||||
@ -43,9 +44,12 @@
|
||||
#include "logging/rtc_event_log/events/rtc_event_probe_result_success.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_remote_estimate.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_route_change.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h"
|
||||
#include "logging/rtc_event_log/events/rtc_event_video_send_stream_config.h"
|
||||
#include "logging/rtc_event_log/logged_events.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"
|
||||
@ -65,6 +69,80 @@ namespace webrtc {
|
||||
|
||||
enum PacketDirection { kIncomingPacket = 0, kOutgoingPacket };
|
||||
|
||||
enum class LoggedMediaType : uint8_t { kUnknown, kAudio, kVideo };
|
||||
|
||||
struct LoggedPacketInfo {
|
||||
LoggedPacketInfo(const LoggedRtpPacket& rtp,
|
||||
LoggedMediaType media_type,
|
||||
bool rtx,
|
||||
Timestamp capture_time);
|
||||
LoggedPacketInfo(const LoggedPacketInfo&);
|
||||
~LoggedPacketInfo();
|
||||
int64_t log_time_ms() const { return log_packet_time.ms(); }
|
||||
int64_t log_time_us() const { return log_packet_time.us(); }
|
||||
uint32_t ssrc;
|
||||
uint16_t stream_seq_no;
|
||||
uint16_t size;
|
||||
uint16_t payload_size;
|
||||
uint16_t padding_size;
|
||||
uint16_t overhead = 0;
|
||||
uint8_t payload_type;
|
||||
LoggedMediaType media_type = LoggedMediaType::kUnknown;
|
||||
bool rtx = false;
|
||||
bool marker_bit = false;
|
||||
bool has_transport_seq_no = false;
|
||||
bool last_in_feedback = false;
|
||||
uint16_t transport_seq_no = 0;
|
||||
// The RTP header timestamp unwrapped and converted from tick count to seconds
|
||||
// based timestamp.
|
||||
Timestamp capture_time;
|
||||
// The time the packet was logged. This is the receive time for incoming
|
||||
// packets and send time for outgoing.
|
||||
Timestamp log_packet_time;
|
||||
// Send time as reported by abs-send-time extension, For outgoing packets this
|
||||
// corresponds to log_packet_time, but might be measured using another clock.
|
||||
Timestamp reported_send_time;
|
||||
// The receive time that was reported in feedback. For incoming packets this
|
||||
// corresponds to log_packet_time, but might be measured using another clock.
|
||||
// PlusInfinity indicates that the packet was lost.
|
||||
Timestamp reported_recv_time = Timestamp::MinusInfinity();
|
||||
// The time feedback message was logged. This is the feedback send time for
|
||||
// incoming packets and feedback receive time for outgoing.
|
||||
// PlusInfinity indicates that feedback was expected but not received.
|
||||
Timestamp log_feedback_time = Timestamp::MinusInfinity();
|
||||
// The delay betweeen receiving an RTP packet and sending feedback for
|
||||
// incoming packets. For outgoing packets we don't know the feedback send
|
||||
// time, and this is instead calculated as the difference in reported receive
|
||||
// time between this packet and the last packet in the same feedback message.
|
||||
TimeDelta feedback_hold_duration = TimeDelta::MinusInfinity();
|
||||
};
|
||||
|
||||
struct InferredRouteChangeEvent {
|
||||
int64_t log_time_ms() const { return log_time.ms(); }
|
||||
int64_t log_time_us() const { return log_time.us(); }
|
||||
uint32_t route_id;
|
||||
Timestamp log_time = Timestamp::MinusInfinity();
|
||||
uint16_t send_overhead;
|
||||
uint16_t return_overhead;
|
||||
};
|
||||
|
||||
enum class LoggedIceEventType {
|
||||
kAdded,
|
||||
kUpdated,
|
||||
kDestroyed,
|
||||
kSelected,
|
||||
kCheckSent,
|
||||
kCheckReceived,
|
||||
kCheckResponseSent,
|
||||
kCheckResponseReceived,
|
||||
};
|
||||
|
||||
struct LoggedIceEvent {
|
||||
uint32_t candidate_pair_id;
|
||||
Timestamp log_time;
|
||||
LoggedIceEventType event_type;
|
||||
};
|
||||
|
||||
// This class is used to process lists of LoggedRtpPacketIncoming
|
||||
// and LoggedRtpPacketOutgoing without duplicating the code.
|
||||
// TODO(terelius): Remove this class. Instead use e.g. a vector of pointers
|
||||
|
||||
Reference in New Issue
Block a user