Chromium Code Reviews| 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..8c53838e4cc4922ba2c28854ce5b46ef2485c3f5 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; |
| + // Same as above but used on the sender side to log packets that are part of |
| + // 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,19 @@ 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, |
|
terelius
2017/02/20 14:00:31
probes -> packets
|
| + 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; |
| + |
| // 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 +178,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 +193,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, |
|
terelius
2017/02/20 14:00:31
probes -> packets
|
| + int min_bytes) override{}; |
| + void LogProbeResultSuccess(int id, int bitrate_bps) override{}; |
| + void LogProbeResultFailure(int id, |
| + ProbeFailureReason failure_reason) override{}; |
| }; |
| } // namespace webrtc |