Reland "Remove dependency of video_replay on TestADM."
This reverts commit f9e3bdd2ce410b18ca7e03b3754f94a18eb7ef3a.
Reason for revert: reland with fix
Original change's description:
> Revert "Remove dependency of video_replay on TestADM."
>
> This reverts commit 01716663a9837a26fa292fe70fdea353cbd01a67.
>
> Reason for revert: breaking CallPerfTest
> https://ci.chromium.org/ui/p/webrtc/builders/perf/Perf%20Android32%20(R%20Pixel5)/967/overview
>
> Original change's description:
> > Remove dependency of video_replay on TestADM.
> >
> > This should remove requirement to build TestADM in chromium build.
> >
> > Bug: b/272350185, webrtc:15081
> > Change-Id: Iceb8862aa81099c22bd378ae692229f01ab3314c
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/302380
> > Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Artem Titov <titovartem@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#39934}
>
> Bug: b/272350185, webrtc:15081
> Change-Id: I73aa0fd3c3d8c244d20e5f29f5792a4c7d7e4165
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303160
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Owners-Override: Jeremy Leconte <jleconte@google.com>
> Commit-Queue: Jeremy Leconte <jleconte@google.com>
> Cr-Commit-Position: refs/heads/main@{#39939}
Bug: b/272350185, webrtc:15081
Change-Id: I360ef3e140e60fc21d622480d1f3326e40a76f58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303400
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Auto-Submit: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39946}
diff --git a/test/call_test.cc b/test/call_test.cc
index b6b633f..7a1bbd2 100644
--- a/test/call_test.cc
+++ b/test/call_test.cc
@@ -31,6 +31,7 @@
#include "test/fake_encoder.h"
#include "test/rtp_rtcp_observer.h"
#include "test/testsupport/file_utils.h"
+#include "test/video_test_constants.h"
#include "video/config/video_encoder_config.h"
namespace webrtc {
@@ -176,9 +177,9 @@
}
if (num_video_streams_ > 0) {
- int width = kDefaultWidth;
- int height = kDefaultHeight;
- int frame_rate = kDefaultFramerate;
+ int width = VideoTestConstants::kDefaultWidth;
+ int height = VideoTestConstants::kDefaultHeight;
+ int frame_rate = VideoTestConstants::kDefaultFramerate;
test->ModifyVideoCaptureStartResolution(&width, &height, &frame_rate);
test->ModifyVideoDegradationPreference(°radation_preference_);
CreateFrameGeneratorCapturer(frame_rate, width, height);
@@ -248,13 +249,15 @@
size_t num_video_streams,
size_t num_used_ssrcs,
Transport* send_transport) {
- RTC_DCHECK_LE(num_video_streams + num_used_ssrcs, kNumSsrcs);
+ RTC_DCHECK_LE(num_video_streams + num_used_ssrcs,
+ VideoTestConstants::kNumSsrcs);
*video_config = VideoSendStream::Config(send_transport);
video_config->encoder_settings.encoder_factory = &fake_encoder_factory_;
video_config->encoder_settings.bitrate_allocator_factory =
bitrate_allocator_factory_.get();
video_config->rtp.payload_name = "FAKE";
- video_config->rtp.payload_type = kFakeVideoSendPayloadType;
+ video_config->rtp.payload_type =
+ VideoTestConstants::kFakeVideoSendPayloadType;
video_config->rtp.extmap_allow_mixed = true;
AddRtpExtensionByUri(RtpExtension::kTransportSequenceNumberUri,
&video_config->rtp.extensions);
@@ -274,7 +277,8 @@
&video_encoder_configs_.back());
}
for (size_t i = 0; i < num_video_streams; ++i)
- video_config->rtp.ssrcs.push_back(kVideoSendSsrcs[num_used_ssrcs + i]);
+ video_config->rtp.ssrcs.push_back(
+ VideoTestConstants::kVideoSendSsrcs[num_used_ssrcs + i]);
AddRtpExtensionByUri(RtpExtension::kVideoRotationUri,
&video_config->rtp.extensions);
AddRtpExtensionByUri(RtpExtension::kColorSpaceUri,
@@ -288,12 +292,13 @@
RTC_DCHECK_LE(num_flexfec_streams, 1);
if (num_audio_streams > 0) {
AudioSendStream::Config audio_send_config(send_transport);
- audio_send_config.rtp.ssrc = kAudioSendSsrc;
+ audio_send_config.rtp.ssrc = VideoTestConstants::kAudioSendSsrc;
AddRtpExtensionByUri(RtpExtension::kTransportSequenceNumberUri,
&audio_send_config.rtp.extensions);
audio_send_config.send_codec_spec = AudioSendStream::Config::SendCodecSpec(
- kAudioSendPayloadType, {"opus", 48000, 2, {{"stereo", "1"}}});
+ VideoTestConstants::kAudioSendPayloadType,
+ {"opus", 48000, 2, {{"stereo", "1"}}});
audio_send_config.min_bitrate_bps = 6000;
audio_send_config.max_bitrate_bps = 60000;
audio_send_config.encoder_factory = audio_encoder_factory_;
@@ -302,7 +307,7 @@
// TODO(brandtr): Update this when we support multistream protection.
if (num_flexfec_streams > 0) {
- SetSendFecConfig({kVideoSendSsrcs[0]});
+ SetSendFecConfig({VideoTestConstants::kVideoSendSsrcs[0]});
}
}
@@ -311,23 +316,29 @@
}
void CallTest::SetSendFecConfig(std::vector<uint32_t> video_send_ssrcs) {
- GetVideoSendConfig()->rtp.flexfec.payload_type = kFlexfecPayloadType;
- GetVideoSendConfig()->rtp.flexfec.ssrc = kFlexfecSendSsrc;
+ GetVideoSendConfig()->rtp.flexfec.payload_type =
+ VideoTestConstants::kFlexfecPayloadType;
+ GetVideoSendConfig()->rtp.flexfec.ssrc = VideoTestConstants::kFlexfecSendSsrc;
GetVideoSendConfig()->rtp.flexfec.protected_media_ssrcs = video_send_ssrcs;
}
void CallTest::SetSendUlpFecConfig(VideoSendStream::Config* send_config) {
- send_config->rtp.ulpfec.red_payload_type = kRedPayloadType;
- send_config->rtp.ulpfec.ulpfec_payload_type = kUlpfecPayloadType;
- send_config->rtp.ulpfec.red_rtx_payload_type = kRtxRedPayloadType;
+ send_config->rtp.ulpfec.red_payload_type =
+ VideoTestConstants::kRedPayloadType;
+ send_config->rtp.ulpfec.ulpfec_payload_type =
+ VideoTestConstants::kUlpfecPayloadType;
+ send_config->rtp.ulpfec.red_rtx_payload_type =
+ VideoTestConstants::kRtxRedPayloadType;
}
void CallTest::SetReceiveUlpFecConfig(
VideoReceiveStreamInterface::Config* receive_config) {
- receive_config->rtp.red_payload_type = kRedPayloadType;
- receive_config->rtp.ulpfec_payload_type = kUlpfecPayloadType;
- receive_config->rtp.rtx_associated_payload_types[kRtxRedPayloadType] =
- kRedPayloadType;
+ receive_config->rtp.red_payload_type = VideoTestConstants::kRedPayloadType;
+ receive_config->rtp.ulpfec_payload_type =
+ VideoTestConstants::kUlpfecPayloadType;
+ receive_config->rtp
+ .rtx_associated_payload_types[VideoTestConstants::kRtxRedPayloadType] =
+ VideoTestConstants::kRedPayloadType;
}
void CallTest::CreateSendConfig(size_t num_video_streams,
@@ -375,7 +386,7 @@
int rtp_history_ms) {
RTC_DCHECK(!video_send_config.rtp.ssrcs.empty());
VideoReceiveStreamInterface::Config default_config(rtcp_send_transport);
- default_config.rtp.local_ssrc = kReceiverLocalVideoSsrc;
+ default_config.rtp.local_ssrc = VideoTestConstants::kReceiverLocalVideoSsrc;
default_config.rtp.nack.rtp_history_ms = rtp_history_ms;
// Enable RTT calculation so NTP time estimator will work.
default_config.rtp.rtcp_xr.receiver_reference_time_report =
@@ -388,7 +399,8 @@
video_recv_config.decoders.clear();
if (!video_send_config.rtp.rtx.ssrcs.empty()) {
video_recv_config.rtp.rtx_ssrc = video_send_config.rtp.rtx.ssrcs[i];
- video_recv_config.rtp.rtx_associated_payload_types[kSendRtxPayloadType] =
+ video_recv_config.rtp.rtx_associated_payload_types
+ [VideoTestConstants::kSendRtxPayloadType] =
video_send_config.rtp.payload_type;
}
video_recv_config.rtp.remote_ssrc = video_send_config.rtp.ssrcs[i];
@@ -433,11 +445,12 @@
Transport* transport,
std::string sync_group) {
AudioReceiveStreamInterface::Config audio_config;
- audio_config.rtp.local_ssrc = kReceiverLocalAudioSsrc;
+ audio_config.rtp.local_ssrc = VideoTestConstants::kReceiverLocalAudioSsrc;
audio_config.rtcp_send_transport = transport;
audio_config.rtp.remote_ssrc = send_config.rtp.ssrc;
audio_config.decoder_factory = audio_decoder_factory;
- audio_config.decoder_map = {{kAudioSendPayloadType, {"opus", 48000, 2}}};
+ audio_config.decoder_map = {
+ {VideoTestConstants::kAudioSendPayloadType, {"opus", 48000, 2}}};
audio_config.sync_group = sync_group;
return audio_config;
}
@@ -449,7 +462,7 @@
config.payload_type = send_config.rtp.flexfec.payload_type;
config.rtp.remote_ssrc = send_config.rtp.flexfec.ssrc;
config.protected_media_ssrcs = send_config.rtp.flexfec.protected_media_ssrcs;
- config.rtp.local_ssrc = kReceiverLocalVideoSsrc;
+ config.rtp.local_ssrc = VideoTestConstants::kReceiverLocalVideoSsrc;
if (!video_receive_configs_.empty()) {
video_receive_configs_[0].rtp.protected_by_flexfec = true;
video_receive_configs_[0].rtp.packet_sink_ = this;
@@ -730,33 +743,19 @@
}
}
-constexpr size_t CallTest::kNumSsrcs;
-const int CallTest::kDefaultWidth;
-const int CallTest::kDefaultHeight;
-const int CallTest::kDefaultFramerate;
-const uint32_t CallTest::kSendRtxSsrcs[kNumSsrcs] = {
- 0xBADCAFD, 0xBADCAFE, 0xBADCAFF, 0xBADCB00, 0xBADCB01, 0xBADCB02};
-const uint32_t CallTest::kVideoSendSsrcs[kNumSsrcs] = {
- 0xC0FFED, 0xC0FFEE, 0xC0FFEF, 0xC0FFF0, 0xC0FFF1, 0xC0FFF2};
-const uint32_t CallTest::kAudioSendSsrc = 0xDEADBEEF;
-const uint32_t CallTest::kFlexfecSendSsrc = 0xBADBEEF;
-const uint32_t CallTest::kReceiverLocalVideoSsrc = 0x123456;
-const uint32_t CallTest::kReceiverLocalAudioSsrc = 0x1234567;
-const int CallTest::kNackRtpHistoryMs = 1000;
-
const std::map<uint8_t, MediaType> CallTest::payload_type_map_ = {
- {CallTest::kVideoSendPayloadType, MediaType::VIDEO},
- {CallTest::kFakeVideoSendPayloadType, MediaType::VIDEO},
- {CallTest::kSendRtxPayloadType, MediaType::VIDEO},
- {CallTest::kPayloadTypeVP8, MediaType::VIDEO},
- {CallTest::kPayloadTypeVP9, MediaType::VIDEO},
- {CallTest::kPayloadTypeH264, MediaType::VIDEO},
- {CallTest::kPayloadTypeGeneric, MediaType::VIDEO},
- {CallTest::kRedPayloadType, MediaType::VIDEO},
- {CallTest::kRtxRedPayloadType, MediaType::VIDEO},
- {CallTest::kUlpfecPayloadType, MediaType::VIDEO},
- {CallTest::kFlexfecPayloadType, MediaType::VIDEO},
- {CallTest::kAudioSendPayloadType, MediaType::AUDIO}};
+ {VideoTestConstants::kVideoSendPayloadType, MediaType::VIDEO},
+ {VideoTestConstants::kFakeVideoSendPayloadType, MediaType::VIDEO},
+ {VideoTestConstants::kSendRtxPayloadType, MediaType::VIDEO},
+ {VideoTestConstants::kPayloadTypeVP8, MediaType::VIDEO},
+ {VideoTestConstants::kPayloadTypeVP9, MediaType::VIDEO},
+ {VideoTestConstants::kPayloadTypeH264, MediaType::VIDEO},
+ {VideoTestConstants::kPayloadTypeGeneric, MediaType::VIDEO},
+ {VideoTestConstants::kRedPayloadType, MediaType::VIDEO},
+ {VideoTestConstants::kRtxRedPayloadType, MediaType::VIDEO},
+ {VideoTestConstants::kUlpfecPayloadType, MediaType::VIDEO},
+ {VideoTestConstants::kFlexfecPayloadType, MediaType::VIDEO},
+ {VideoTestConstants::kAudioSendPayloadType, MediaType::AUDIO}};
BaseTest::BaseTest() {}