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

Unified Diff: webrtc/logging/rtc_event_log/rtc_event_log_parser.cc

Issue 2695923004: Add logging of delay-based bandwidth estimate. (Closed)
Patch Set: Only log BWE update if bitrate or state has changed. Created 3 years, 10 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_parser.cc
diff --git a/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc b/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
index c1bf94458dfb3bc2407ef2c2cfb08e80372f7705..012b7e19da4cae29af869d0844435f7d18cb4f39 100644
--- a/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
+++ b/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
@@ -88,6 +88,20 @@ ParsedRtcEventLog::EventType GetRuntimeEventType(
return ParsedRtcEventLog::EventType::UNKNOWN_EVENT;
}
+BandwidthUsage GetRuntimeDetectorState(
+ rtclog::BwePacketDelayEvent::DetectorState detector_state) {
+ switch (detector_state) {
+ case rtclog::BwePacketDelayEvent::BWE_NORMAL:
+ return kBwNormal;
+ case rtclog::BwePacketDelayEvent::BWE_UNDERUSING:
+ return kBwUnderusing;
+ case rtclog::BwePacketDelayEvent::BWE_OVERUSING:
+ return kBwOverusing;
+ }
+ RTC_NOTREACHED();
+ return kBwNormal;
+}
+
std::pair<uint64_t, bool> ParseVarInt(std::istream& stream) {
uint64_t varint = 0;
for (size_t bytes_read = 0; bytes_read < 10; ++bytes_read) {
@@ -471,6 +485,27 @@ void ParsedRtcEventLog::GetBwePacketLossEvent(size_t index,
}
}
+void ParsedRtcEventLog::GetBwePacketDelayEvent(
+ size_t index,
+ int32_t* bitrate,
+ BandwidthUsage* detector_state) const {
+ RTC_CHECK_LT(index, GetNumberOfEvents());
+ const rtclog::Event& event = events_[index];
+ RTC_CHECK(event.has_type());
+ RTC_CHECK_EQ(event.type(), rtclog::Event::BWE_PACKET_DELAY_EVENT);
+ RTC_CHECK(event.has_bwe_packet_delay_event());
+ const rtclog::BwePacketDelayEvent& delay_event =
+ event.bwe_packet_delay_event();
+ RTC_CHECK(delay_event.has_bitrate());
+ if (bitrate != nullptr) {
+ *bitrate = delay_event.bitrate();
+ }
+ RTC_CHECK(delay_event.has_detector_state());
+ if (detector_state != nullptr) {
+ *detector_state = GetRuntimeDetectorState(delay_event.detector_state());
+ }
+}
+
void ParsedRtcEventLog::GetAudioNetworkAdaptation(
size_t index,
AudioNetworkAdaptor::EncoderRuntimeConfig* config) const {
« no previous file with comments | « webrtc/logging/rtc_event_log/rtc_event_log_parser.h ('k') | webrtc/logging/rtc_event_log/rtc_event_log_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698