Change verification of stream configs in RTC event log unittest.

We're no longer verifying CSRCs or configurations for remb, rtcp mode
and codec since we're planning to drop those fields from the log in an upcoming CL.

Bug: webrtc:8111
Change-Id: I38a7d87b21f8e6d8a791d8e27a0f54c293f3d340
Reviewed-on: https://webrtc-review.googlesource.com/c/106380
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25229}
This commit is contained in:
Bjorn Terelius
2018-10-17 11:30:57 +02:00
committed by Commit Bot
parent 5a464d3ee5
commit a240daaae9
2 changed files with 47 additions and 9 deletions

View File

@ -15,9 +15,11 @@
#include <limits> #include <limits>
#include <memory> #include <memory>
#include <numeric> #include <numeric>
#include <string>
#include <utility> #include <utility>
#include <vector> #include <vector>
#include "absl/types/optional.h"
#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h" #include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h"
#include "modules/remote_bitrate_estimator/include/bwe_defines.h" #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
#include "modules/rtp_rtcp/include/rtp_cvo.h" #include "modules/rtp_rtcp/include/rtp_cvo.h"
@ -63,6 +65,16 @@ void ShuffleInPlace(Random* prng, rtc::ArrayView<T> array) {
std::swap(array[i], array[other]); std::swap(array[i], array[other]);
} }
} }
absl::optional<int> GetExtensionId(const std::vector<RtpExtension>& extensions,
const std::string& uri) {
for (const auto& extension : extensions) {
if (extension.uri == uri)
return extension.id;
}
return absl::nullopt;
}
} // namespace } // namespace
std::unique_ptr<RtcEventAlrState> EventGenerator::NewAlrState() { std::unique_ptr<RtcEventAlrState> EventGenerator::NewAlrState() {
@ -583,10 +595,6 @@ void VerifyLoggedRtpHeader(const RtpPacket& original_header,
EXPECT_EQ(original_header.SequenceNumber(), logged_header.sequenceNumber); EXPECT_EQ(original_header.SequenceNumber(), logged_header.sequenceNumber);
EXPECT_EQ(original_header.Timestamp(), logged_header.timestamp); EXPECT_EQ(original_header.Timestamp(), logged_header.timestamp);
EXPECT_EQ(original_header.Ssrc(), logged_header.ssrc); EXPECT_EQ(original_header.Ssrc(), logged_header.ssrc);
ASSERT_EQ(original_header.Csrcs().size(), logged_header.numCSRCs);
for (size_t i = 0; i < logged_header.numCSRCs; i++) {
EXPECT_EQ(original_header.Csrcs()[i], logged_header.arrOfCSRCs[i]);
}
EXPECT_EQ(original_header.headers_size(), logged_header.headerLength); EXPECT_EQ(original_header.headers_size(), logged_header.headerLength);
@ -722,25 +730,51 @@ void VerifyLoggedStopEvent(int64_t stop_time_us,
EXPECT_EQ(stop_time_us / 1000, logged_event.log_time_ms()); EXPECT_EQ(stop_time_us / 1000, logged_event.log_time_ms());
} }
void VerifyLoggedStreamConfig(const rtclog::StreamConfig& original_config,
const rtclog::StreamConfig& logged_config) {
EXPECT_EQ(original_config.local_ssrc, logged_config.local_ssrc);
EXPECT_EQ(original_config.remote_ssrc, logged_config.remote_ssrc);
EXPECT_EQ(original_config.rtx_ssrc, logged_config.rtx_ssrc);
EXPECT_EQ(original_config.rsid, logged_config.rsid);
EXPECT_EQ(original_config.rtp_extensions.size(),
logged_config.rtp_extensions.size());
size_t recognized_extensions = 0;
for (size_t i = 0; i < kMaxNumExtensions; i++) {
auto original_id =
GetExtensionId(original_config.rtp_extensions, kExtensions[i].name);
auto logged_id =
GetExtensionId(logged_config.rtp_extensions, kExtensions[i].name);
EXPECT_EQ(original_id, logged_id)
<< "IDs for " << kExtensions[i].name << " don't match. Original ID "
<< original_id.value_or(-1) << ". Parsed ID " << logged_id.value_or(-1)
<< ".";
if (original_id) {
recognized_extensions++;
}
}
EXPECT_EQ(recognized_extensions, original_config.rtp_extensions.size());
}
void VerifyLoggedAudioRecvConfig( void VerifyLoggedAudioRecvConfig(
const RtcEventAudioReceiveStreamConfig& original_event, const RtcEventAudioReceiveStreamConfig& original_event,
const LoggedAudioRecvConfig& logged_event) { const LoggedAudioRecvConfig& logged_event) {
EXPECT_EQ(original_event.timestamp_us_ / 1000, logged_event.log_time_ms()); EXPECT_EQ(original_event.timestamp_us_ / 1000, logged_event.log_time_ms());
EXPECT_EQ(*original_event.config_, logged_event.config); VerifyLoggedStreamConfig(*original_event.config_, logged_event.config);
} }
void VerifyLoggedAudioSendConfig( void VerifyLoggedAudioSendConfig(
const RtcEventAudioSendStreamConfig& original_event, const RtcEventAudioSendStreamConfig& original_event,
const LoggedAudioSendConfig& logged_event) { const LoggedAudioSendConfig& logged_event) {
EXPECT_EQ(original_event.timestamp_us_ / 1000, logged_event.log_time_ms()); EXPECT_EQ(original_event.timestamp_us_ / 1000, logged_event.log_time_ms());
EXPECT_EQ(*original_event.config_, logged_event.config); VerifyLoggedStreamConfig(*original_event.config_, logged_event.config);
} }
void VerifyLoggedVideoRecvConfig( void VerifyLoggedVideoRecvConfig(
const RtcEventVideoReceiveStreamConfig& original_event, const RtcEventVideoReceiveStreamConfig& original_event,
const LoggedVideoRecvConfig& logged_event) { const LoggedVideoRecvConfig& logged_event) {
EXPECT_EQ(original_event.timestamp_us_ / 1000, logged_event.log_time_ms()); EXPECT_EQ(original_event.timestamp_us_ / 1000, logged_event.log_time_ms());
EXPECT_EQ(*original_event.config_, logged_event.config); VerifyLoggedStreamConfig(*original_event.config_, logged_event.config);
} }
void VerifyLoggedVideoSendConfig( void VerifyLoggedVideoSendConfig(
@ -750,8 +784,8 @@ void VerifyLoggedVideoSendConfig(
// TODO(terelius): In the past, we allowed storing multiple RtcStreamConfigs // TODO(terelius): In the past, we allowed storing multiple RtcStreamConfigs
// in the same RtcEventVideoSendStreamConfig. Look into whether we should drop // in the same RtcEventVideoSendStreamConfig. Look into whether we should drop
// backwards compatibility in the parser. // backwards compatibility in the parser.
EXPECT_EQ(logged_event.configs.size(), 1u); ASSERT_EQ(logged_event.configs.size(), 1u);
EXPECT_EQ(*original_event.config_, logged_event.configs[0]); VerifyLoggedStreamConfig(*original_event.config_, logged_event.configs[0]);
} }
} // namespace test } // namespace test

View File

@ -33,6 +33,7 @@
#include "logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h" #include "logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h"
#include "logging/rtc_event_log/events/rtc_event_video_send_stream_config.h" #include "logging/rtc_event_log/events/rtc_event_video_send_stream_config.h"
#include "logging/rtc_event_log/rtc_event_log_parser_new.h" #include "logging/rtc_event_log/rtc_event_log_parser_new.h"
#include "logging/rtc_event_log/rtc_stream_config.h"
#include "modules/rtp_rtcp/source/rtcp_packet/receiver_report.h" #include "modules/rtp_rtcp/source/rtcp_packet/receiver_report.h"
#include "modules/rtp_rtcp/source/rtcp_packet/report_block.h" #include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
#include "modules/rtp_rtcp/source/rtcp_packet/sender_report.h" #include "modules/rtp_rtcp/source/rtcp_packet/sender_report.h"
@ -169,6 +170,9 @@ void VerifyLoggedStartEvent(int64_t start_time_us,
void VerifyLoggedStopEvent(int64_t stop_time_us, void VerifyLoggedStopEvent(int64_t stop_time_us,
const LoggedStopEvent& logged_event); const LoggedStopEvent& logged_event);
void VerifyLoggedStreamConfig(const rtclog::StreamConfig& original_config,
const rtclog::StreamConfig& logged_config);
void VerifyLoggedAudioRecvConfig( void VerifyLoggedAudioRecvConfig(
const RtcEventAudioReceiveStreamConfig& original_event, const RtcEventAudioReceiveStreamConfig& original_event,
const LoggedAudioRecvConfig& logged_event); const LoggedAudioRecvConfig& logged_event);