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:

committed by
Commit Bot

parent
5a464d3ee5
commit
a240daaae9
@ -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
|
||||
|
@ -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);
|
||||
|
Reference in New Issue
Block a user