| Index: webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
|
| diff --git a/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc b/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
|
| index 5bd8e4d0609c60f805e01e19343fbe2b824ea360..6d92b46ce46b35b333b396c4088e206801fb226c 100644
|
| --- a/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
|
| +++ b/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
|
| @@ -42,6 +42,20 @@ MediaType GetRuntimeMediaType(rtclog::MediaType media_type) {
|
| RTC_NOTREACHED();
|
| return MediaType::ANY;
|
| }
|
| +
|
| +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;
|
| +}
|
| } // namespace
|
|
|
| // Checks that the event has a timestamp, a type and exactly the data field
|
| @@ -64,6 +78,19 @@ MediaType GetRuntimeMediaType(rtclog::MediaType media_type) {
|
| << "Event of type " << type << " has "
|
| << (event.has_rtcp_packet() ? "" : "no ") << "RTCP packet";
|
| }
|
| + if ((type == rtclog::Event::BWE_PACKET_LOSS_EVENT) !=
|
| + event.has_bwe_packet_loss_event()) {
|
| + return ::testing::AssertionFailure()
|
| + << "Event of type " << type << " has "
|
| + << (event.has_bwe_packet_loss_event() ? "" : "no ") << "packet loss";
|
| + }
|
| + if ((type == rtclog::Event::BWE_PACKET_DELAY_EVENT) !=
|
| + event.has_bwe_packet_delay_event()) {
|
| + return ::testing::AssertionFailure()
|
| + << "Event of type " << type << " has "
|
| + << (event.has_bwe_packet_delay_event() ? "" : "no ")
|
| + << "packet delay";
|
| + }
|
| if ((type == rtclog::Event::AUDIO_PLAYOUT_EVENT) !=
|
| event.has_audio_playout_event()) {
|
| return ::testing::AssertionFailure()
|
| @@ -98,6 +125,13 @@ MediaType GetRuntimeMediaType(rtclog::MediaType media_type) {
|
| << (event.has_audio_sender_config() ? "" : "no ")
|
| << "audio sender config";
|
| }
|
| + if ((type == rtclog::Event::AUDIO_NETWORK_ADAPTATION_EVENT) !=
|
| + event.has_audio_network_adaptation()) {
|
| + return ::testing::AssertionFailure()
|
| + << "Event of type " << type << " has "
|
| + << (event.has_audio_network_adaptation() ? "" : "no ")
|
| + << "audio network adaptation";
|
| + }
|
| return ::testing::AssertionSuccess();
|
| }
|
|
|
| @@ -461,6 +495,30 @@ void RtcEventLogTestHelper::VerifyBweLossEvent(
|
| EXPECT_EQ(total_packets, parsed_total_packets);
|
| }
|
|
|
| +void RtcEventLogTestHelper::VerifyBweDelayEvent(
|
| + const ParsedRtcEventLog& parsed_log,
|
| + size_t index,
|
| + int32_t bitrate,
|
| + BandwidthUsage detector_state) {
|
| + const rtclog::Event& event = parsed_log.events_[index];
|
| + ASSERT_TRUE(IsValidBasicEvent(event));
|
| + ASSERT_EQ(rtclog::Event::BWE_PACKET_DELAY_EVENT, event.type());
|
| + const rtclog::BwePacketDelayEvent& bwe_event = event.bwe_packet_delay_event();
|
| + ASSERT_TRUE(bwe_event.has_bitrate());
|
| + EXPECT_EQ(bitrate, bwe_event.bitrate());
|
| + ASSERT_TRUE(bwe_event.has_detector_state());
|
| + EXPECT_EQ(detector_state,
|
| + GetRuntimeDetectorState(bwe_event.detector_state()));
|
| +
|
| + // Check consistency of the parser.
|
| + int32_t parsed_bitrate;
|
| + BandwidthUsage parsed_detector_state;
|
| + parsed_log.GetBwePacketDelayEvent(index, &parsed_bitrate,
|
| + &parsed_detector_state);
|
| + EXPECT_EQ(bitrate, parsed_bitrate);
|
| + EXPECT_EQ(detector_state, parsed_detector_state);
|
| +}
|
| +
|
| void RtcEventLogTestHelper::VerifyAudioNetworkAdaptation(
|
| const ParsedRtcEventLog& parsed_log,
|
| size_t index,
|
|
|