Adds support for abs send time extension in scenario tests.
Bug: webrtc:10742
Change-Id: I2fba97b23691b27c05dce17ca17c5cd13076616b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141871
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28291}
diff --git a/test/scenario/audio_stream.cc b/test/scenario/audio_stream.cc
index d9f0dd9..4ff3593 100644
--- a/test/scenario/audio_stream.cc
+++ b/test/scenario/audio_stream.cc
@@ -26,6 +26,11 @@
namespace webrtc {
namespace test {
namespace {
+enum : int { // The first valid value is 1.
+ kTransportSequenceNumberExtensionId = 1,
+ kAbsSendTimeExtensionId
+};
+
absl::optional<std::string> CreateAdaptationString(
AudioStreamConfig::NetworkAdaptation config) {
#if WEBRTC_ENABLE_PROTOBUF
@@ -115,8 +120,12 @@
if (config.stream.in_bandwidth_estimation) {
send_config.send_codec_spec->transport_cc_enabled = true;
- send_config.rtp.extensions = {
- {RtpExtension::kTransportSequenceNumberUri, 8}};
+ send_config.rtp.extensions = {{RtpExtension::kTransportSequenceNumberUri,
+ kTransportSequenceNumberExtensionId}};
+ }
+ if (config.stream.abs_send_time) {
+ send_config.rtp.extensions.push_back(
+ {RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId});
}
if (config.encoder.priority_rate) {
diff --git a/test/scenario/scenario_config.h b/test/scenario/scenario_config.h
index 151e9f1..ff925e7 100644
--- a/test/scenario/scenario_config.h
+++ b/test/scenario/scenario_config.h
@@ -156,6 +156,7 @@
Stream();
Stream(const Stream&);
~Stream();
+ bool abs_send_time = false;
bool packet_feedback = true;
bool use_rtx = true;
DataRate pad_to_rate = DataRate::Zero();
@@ -208,6 +209,7 @@
Stream();
Stream(const Stream&);
~Stream();
+ bool abs_send_time = false;
bool in_bandwidth_estimation = false;
} stream;
struct Rendering {
diff --git a/test/scenario/video_stream.cc b/test/scenario/video_stream.cc
index 00521ea..c516ddf 100644
--- a/test/scenario/video_stream.cc
+++ b/test/scenario/video_stream.cc
@@ -29,6 +29,7 @@
namespace {
enum : int { // The first valid value is 1.
kTransportSequenceNumberExtensionId = 1,
+ kAbsSendTimeExtensionId,
kVideoContentTypeExtensionId,
kVideoRotationRtpExtensionId,
};
@@ -97,6 +98,10 @@
res.push_back(RtpExtension(RtpExtension::kTransportSequenceNumberUri,
kTransportSequenceNumberExtensionId));
}
+ if (config.stream.abs_send_time) {
+ res.push_back(
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId));
+ }
return res;
}