Index: webrtc/logging/rtc_event_log/rtc_event_log.cc |
diff --git a/webrtc/logging/rtc_event_log/rtc_event_log.cc b/webrtc/logging/rtc_event_log/rtc_event_log.cc |
index b545d6453d7197f34341a61b1c5ca3a6a1dd8600..88f6b3a5d328c9bc37cb0d4cda31be4eb7b86794 100644 |
--- a/webrtc/logging/rtc_event_log/rtc_event_log.cc |
+++ b/webrtc/logging/rtc_event_log/rtc_event_log.cc |
@@ -74,9 +74,11 @@ class RtcEventLogImpl final : public RtcEventLog { |
const uint8_t* packet, |
size_t length) override; |
void LogAudioPlayout(uint32_t ssrc) override; |
- void LogBwePacketLossEvent(int32_t bitrate, |
+ void LogLossBasedBweUpdate(int32_t bitrate_bps, |
uint8_t fraction_loss, |
int32_t total_packets) override; |
+ void LogDelayBasedBweUpdate(int32_t bitrate_bps, |
+ BandwidthUsage detector_state) override; |
void LogAudioNetworkAdaptation( |
const AudioNetworkAdaptor::EncoderRuntimeConfig& config) override; |
@@ -129,6 +131,20 @@ rtclog::MediaType ConvertMediaType(MediaType media_type) { |
return rtclog::ANY; |
} |
+rtclog::DelayBasedBweUpdate::DetectorState ConvertDetectorState( |
+ BandwidthUsage state) { |
+ switch (state) { |
+ case BandwidthUsage::kBwNormal: |
+ return rtclog::DelayBasedBweUpdate::BWE_NORMAL; |
+ case BandwidthUsage::kBwUnderusing: |
+ return rtclog::DelayBasedBweUpdate::BWE_UNDERUSING; |
+ case BandwidthUsage::kBwOverusing: |
+ return rtclog::DelayBasedBweUpdate::BWE_OVERUSING; |
+ } |
+ RTC_NOTREACHED(); |
+ return rtclog::DelayBasedBweUpdate::BWE_NORMAL; |
+} |
+ |
// The RTP and RTCP buffers reserve space for twice the expected number of |
// sent packets because they also contain received packets. |
static const int kEventsPerSecond = 1000; |
@@ -423,19 +439,30 @@ void RtcEventLogImpl::LogAudioPlayout(uint32_t ssrc) { |
StoreEvent(&event); |
} |
-void RtcEventLogImpl::LogBwePacketLossEvent(int32_t bitrate, |
+void RtcEventLogImpl::LogLossBasedBweUpdate(int32_t bitrate_bps, |
uint8_t fraction_loss, |
int32_t total_packets) { |
std::unique_ptr<rtclog::Event> event(new rtclog::Event()); |
event->set_timestamp_us(rtc::TimeMicros()); |
- event->set_type(rtclog::Event::BWE_PACKET_LOSS_EVENT); |
- auto bwe_event = event->mutable_bwe_packet_loss_event(); |
- bwe_event->set_bitrate(bitrate); |
+ event->set_type(rtclog::Event::LOSS_BASED_BWE_UPDATE); |
+ auto bwe_event = event->mutable_loss_based_bwe_update(); |
+ bwe_event->set_bitrate_bps(bitrate_bps); |
bwe_event->set_fraction_loss(fraction_loss); |
bwe_event->set_total_packets(total_packets); |
StoreEvent(&event); |
} |
+void RtcEventLogImpl::LogDelayBasedBweUpdate(int32_t bitrate_bps, |
+ BandwidthUsage detector_state) { |
+ std::unique_ptr<rtclog::Event> event(new rtclog::Event()); |
+ event->set_timestamp_us(rtc::TimeMicros()); |
+ event->set_type(rtclog::Event::DELAY_BASED_BWE_UPDATE); |
+ auto bwe_event = event->mutable_delay_based_bwe_update(); |
+ bwe_event->set_bitrate_bps(bitrate_bps); |
+ bwe_event->set_detector_state(ConvertDetectorState(detector_state)); |
+ StoreEvent(&event); |
+} |
+ |
void RtcEventLogImpl::LogAudioNetworkAdaptation( |
const AudioNetworkAdaptor::EncoderRuntimeConfig& config) { |
std::unique_ptr<rtclog::Event> event(new rtclog::Event()); |