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 <memory>
#include <numeric>
#include <string>
#include <utility>
#include <vector>
#include "absl/types/optional.h"
#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h"
#include "modules/remote_bitrate_estimator/include/bwe_defines.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]);
}
}
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
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.Timestamp(), logged_header.timestamp);
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);
@ -722,25 +730,51 @@ void VerifyLoggedStopEvent(int64_t stop_time_us,
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(
const RtcEventAudioReceiveStreamConfig& original_event,
const LoggedAudioRecvConfig& logged_event) {
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(
const RtcEventAudioSendStreamConfig& original_event,
const LoggedAudioSendConfig& logged_event) {
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(
const RtcEventVideoReceiveStreamConfig& original_event,
const LoggedVideoRecvConfig& logged_event) {
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(
@ -750,8 +784,8 @@ void VerifyLoggedVideoSendConfig(
// TODO(terelius): In the past, we allowed storing multiple RtcStreamConfigs
// in the same RtcEventVideoSendStreamConfig. Look into whether we should drop
// backwards compatibility in the parser.
EXPECT_EQ(logged_event.configs.size(), 1u);
EXPECT_EQ(*original_event.config_, logged_event.configs[0]);
ASSERT_EQ(logged_event.configs.size(), 1u);
VerifyLoggedStreamConfig(*original_event.config_, logged_event.configs[0]);
}
} // 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_send_stream_config.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/report_block.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,
const LoggedStopEvent& logged_event);
void VerifyLoggedStreamConfig(const rtclog::StreamConfig& original_config,
const rtclog::StreamConfig& logged_config);
void VerifyLoggedAudioRecvConfig(
const RtcEventAudioReceiveStreamConfig& original_event,
const LoggedAudioRecvConfig& logged_event);