Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Unified Diff: webrtc/logging/rtc_event_log/rtc_event_log.h

Issue 2666533002: Add probe logging to RtcEventLog. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/logging/rtc_event_log/rtc_event_log.h
diff --git a/webrtc/logging/rtc_event_log/rtc_event_log.h b/webrtc/logging/rtc_event_log/rtc_event_log.h
index 5d221d4ef8e09285c00bfeb2b932b8928b3cd0dc..5fd201e658d6aff2ec2d787f125832de706bc68c 100644
--- a/webrtc/logging/rtc_event_log/rtc_event_log.h
+++ b/webrtc/logging/rtc_event_log/rtc_event_log.h
@@ -35,6 +35,11 @@ class RtcEventLogImpl;
enum class MediaType;
enum PacketDirection { kIncomingPacket = 0, kOutgoingPacket };
+enum ProbeFailureReason {
+ kInvalidSendReceiveInterval,
+ kInvalidSendReceiveRatio,
+ kTimeout
+};
class RtcEventLog {
public:
@@ -101,6 +106,14 @@ class RtcEventLog {
const uint8_t* header,
size_t packet_length) = 0;
+ // Save as above but used on the senderside to log packets that is part of
terelius 2017/02/01 13:38:19 nit: senderside -> sender side, is -> are
philipel 2017/02/17 15:15:02 Done.
+ // a probe cluster.
+ virtual void LogRtpHeader(PacketDirection direction,
+ MediaType media_type,
+ const uint8_t* header,
+ size_t packet_length,
+ int probe_cluster_id) = 0;
+
// Logs an incoming or outgoing RTCP packet.
virtual void LogRtcpPacket(PacketDirection direction,
MediaType media_type,
@@ -119,6 +132,22 @@ class RtcEventLog {
virtual void LogAudioNetworkAdaptation(
const AudioNetworkAdaptor::EncoderRuntimeConfig& config) = 0;
+ // Logs when a probe cluster is created.
+ virtual void LogProbeClusterCreated(int id,
+ int bitrate_bps,
+ int min_probes,
+ int min_bytes) = 0;
+
+ // Logs the result of a successful probing attempt.
+ virtual void LogProbeResultSuccess(int id, int bitrate_bps) = 0;
+
+ // Logs the result of an unsuccessful probing attempt.
+ virtual void LogProbeResultFailure(int id,
+ ProbeFailureReason failure_reason) = 0;
+
+ // Logs when we get a result from a proping attempt.
+ // virtual void LogProbeResult() = 0;
terelius 2017/02/01 13:38:19 This declaration doesn't seem to match any impleme
terelius 2017/02/01 13:38:19 Assuming that people are meant to call LogProbeRes
philipel 2017/02/17 15:15:02 This was a leftover as I outlined which functions
+
// Reads an RtcEventLog file and returns true when reading was successful.
// The result is stored in the given EventStream object.
// The order of the events in the EventStream is implementation defined.
@@ -152,6 +181,11 @@ class RtcEventLogNullImpl final : public RtcEventLog {
MediaType media_type,
const uint8_t* header,
size_t packet_length) override {}
+ void LogRtpHeader(PacketDirection direction,
+ MediaType media_type,
+ const uint8_t* header,
+ size_t packet_length,
+ int probe_cluster_id) override {}
void LogRtcpPacket(PacketDirection direction,
MediaType media_type,
const uint8_t* packet,
@@ -162,6 +196,13 @@ class RtcEventLogNullImpl final : public RtcEventLog {
int32_t total_packets) override {}
void LogAudioNetworkAdaptation(
const AudioNetworkAdaptor::EncoderRuntimeConfig& config) override{};
+ void LogProbeClusterCreated(int id,
+ int bitrate_bps,
+ int min_probes,
+ int min_bytes) override{};
+ void LogProbeResultSuccess(int id, int bitrate_bps) override{};
+ void LogProbeResultFailure(int id,
+ ProbeFailureReason failure_reason) override{};
};
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698