| 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..713d4fc78ac5225b1700bf1903ae23892e9e84bb 100644
|
| --- a/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
|
| +++ b/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
|
| @@ -69,10 +69,10 @@ ParsedRtcEventLog::EventType GetRuntimeEventType(
|
| return ParsedRtcEventLog::EventType::RTCP_EVENT;
|
| case rtclog::Event::AUDIO_PLAYOUT_EVENT:
|
| return ParsedRtcEventLog::EventType::AUDIO_PLAYOUT_EVENT;
|
| - case rtclog::Event::BWE_PACKET_LOSS_EVENT:
|
| - return ParsedRtcEventLog::EventType::BWE_PACKET_LOSS_EVENT;
|
| - case rtclog::Event::BWE_PACKET_DELAY_EVENT:
|
| - return ParsedRtcEventLog::EventType::BWE_PACKET_DELAY_EVENT;
|
| + case rtclog::Event::LOSS_BASED_BWE_UPDATE:
|
| + return ParsedRtcEventLog::EventType::LOSS_BASED_BWE_UPDATE;
|
| + case rtclog::Event::DELAY_BASED_BWE_UPDATE:
|
| + return ParsedRtcEventLog::EventType::DELAY_BASED_BWE_UPDATE;
|
| case rtclog::Event::VIDEO_RECEIVER_CONFIG_EVENT:
|
| return ParsedRtcEventLog::EventType::VIDEO_RECEIVER_CONFIG_EVENT;
|
| case rtclog::Event::VIDEO_SENDER_CONFIG_EVENT:
|
| @@ -88,6 +88,20 @@ ParsedRtcEventLog::EventType GetRuntimeEventType(
|
| return ParsedRtcEventLog::EventType::UNKNOWN_EVENT;
|
| }
|
|
|
| +BandwidthUsage GetRuntimeDetectorState(
|
| + rtclog::DelayBasedBweUpdate::DetectorState detector_state) {
|
| + switch (detector_state) {
|
| + case rtclog::DelayBasedBweUpdate::BWE_NORMAL:
|
| + return kBwNormal;
|
| + case rtclog::DelayBasedBweUpdate::BWE_UNDERUSING:
|
| + return kBwUnderusing;
|
| + case rtclog::DelayBasedBweUpdate::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) {
|
| @@ -447,19 +461,19 @@ void ParsedRtcEventLog::GetAudioPlayout(size_t index, uint32_t* ssrc) const {
|
| }
|
| }
|
|
|
| -void ParsedRtcEventLog::GetBwePacketLossEvent(size_t index,
|
| - int32_t* bitrate,
|
| +void ParsedRtcEventLog::GetLossBasedBweUpdate(size_t index,
|
| + int32_t* bitrate_bps,
|
| uint8_t* fraction_loss,
|
| int32_t* total_packets) 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_LOSS_EVENT);
|
| - RTC_CHECK(event.has_bwe_packet_loss_event());
|
| - const rtclog::BwePacketLossEvent& loss_event = event.bwe_packet_loss_event();
|
| - RTC_CHECK(loss_event.has_bitrate());
|
| - if (bitrate != nullptr) {
|
| - *bitrate = loss_event.bitrate();
|
| + RTC_CHECK_EQ(event.type(), rtclog::Event::LOSS_BASED_BWE_UPDATE);
|
| + RTC_CHECK(event.has_loss_based_bwe_update());
|
| + const rtclog::LossBasedBweUpdate& loss_event = event.loss_based_bwe_update();
|
| + RTC_CHECK(loss_event.has_bitrate_bps());
|
| + if (bitrate_bps != nullptr) {
|
| + *bitrate_bps = loss_event.bitrate_bps();
|
| }
|
| RTC_CHECK(loss_event.has_fraction_loss());
|
| if (fraction_loss != nullptr) {
|
| @@ -471,6 +485,27 @@ void ParsedRtcEventLog::GetBwePacketLossEvent(size_t index,
|
| }
|
| }
|
|
|
| +void ParsedRtcEventLog::GetDelayBasedBweUpdate(
|
| + size_t index,
|
| + int32_t* bitrate_bps,
|
| + 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::DELAY_BASED_BWE_UPDATE);
|
| + RTC_CHECK(event.has_delay_based_bwe_update());
|
| + const rtclog::DelayBasedBweUpdate& delay_event =
|
| + event.delay_based_bwe_update();
|
| + RTC_CHECK(delay_event.has_bitrate_bps());
|
| + if (bitrate_bps != nullptr) {
|
| + *bitrate_bps = delay_event.bitrate_bps();
|
| + }
|
| + 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 {
|
|
|