Add CreateSend/ReceiveTransport() methods to CallTest.
This allows the test to create its own transports if it, for instance, needs to do demuxing. BUG=webrtc:5416 Review URL: https://codereview.webrtc.org/1573453002 Cr-Commit-Position: refs/heads/master@{#11187}
This commit is contained in:
parent
37ebcf0ce5
commit
e74eef19bd
@ -384,8 +384,12 @@ void CallPerfTest::TestCaptureNtpTime(const FakeNetworkPipe::Config& net_config,
|
||||
class CaptureNtpTimeObserver : public test::EndToEndTest,
|
||||
public VideoRenderer {
|
||||
public:
|
||||
CaptureNtpTimeObserver(int threshold_ms, int start_time_ms, int run_time_ms)
|
||||
CaptureNtpTimeObserver(const FakeNetworkPipe::Config& net_config,
|
||||
int threshold_ms,
|
||||
int start_time_ms,
|
||||
int run_time_ms)
|
||||
: EndToEndTest(kLongTimeoutMs),
|
||||
net_config_(net_config),
|
||||
clock_(Clock::GetRealTimeClock()),
|
||||
threshold_ms_(threshold_ms),
|
||||
start_time_ms_(start_time_ms),
|
||||
@ -396,6 +400,11 @@ void CallPerfTest::TestCaptureNtpTime(const FakeNetworkPipe::Config& net_config,
|
||||
rtp_start_timestamp_(0) {}
|
||||
|
||||
private:
|
||||
test::PacketTransport* CreateSendTransport(Call* sender_call) override {
|
||||
return new test::PacketTransport(
|
||||
sender_call, this, test::PacketTransport::kSender, net_config_);
|
||||
}
|
||||
|
||||
void RenderFrame(const VideoFrame& video_frame,
|
||||
int time_to_render_ms) override {
|
||||
rtc::CritScope lock(&crit_);
|
||||
@ -480,6 +489,7 @@ void CallPerfTest::TestCaptureNtpTime(const FakeNetworkPipe::Config& net_config,
|
||||
}
|
||||
|
||||
rtc::CriticalSection crit_;
|
||||
const FakeNetworkPipe::Config net_config_;
|
||||
Clock* const clock_;
|
||||
int threshold_ms_;
|
||||
int start_time_ms_;
|
||||
@ -490,9 +500,9 @@ void CallPerfTest::TestCaptureNtpTime(const FakeNetworkPipe::Config& net_config,
|
||||
uint32_t rtp_start_timestamp_;
|
||||
typedef std::map<uint32_t, uint32_t> FrameCaptureTimeList;
|
||||
FrameCaptureTimeList capture_time_list_ GUARDED_BY(&crit_);
|
||||
} test(threshold_ms, start_time_ms, run_time_ms);
|
||||
} test(net_config, threshold_ms, start_time_ms, run_time_ms);
|
||||
|
||||
RunBaseTest(&test, net_config);
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(CallPerfTest, CaptureNtpTimeWithNetworkDelay) {
|
||||
@ -548,7 +558,7 @@ void CallPerfTest::TestCpuOveruse(LoadObserver::Load tested_load,
|
||||
test::DelayedEncoder encoder_;
|
||||
} test(tested_load, encode_delay_ms);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(CallPerfTest, ReceivesCpuUnderuse) {
|
||||
@ -642,7 +652,7 @@ void CallPerfTest::TestMinTransmitBitrate(bool pad_to_min_bitrate) {
|
||||
} test(pad_to_min_bitrate);
|
||||
|
||||
fake_encoder_.SetMaxBitrate(kMaxEncodeBitrateKbps);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(CallPerfTest, PadsToMinTransmitBitrate) { TestMinTransmitBitrate(true); }
|
||||
@ -738,7 +748,7 @@ TEST_F(CallPerfTest, KeepsHighBitrateWhenReconfiguringSender) {
|
||||
VideoEncoderConfig encoder_config_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
@ -80,11 +80,11 @@ void RampUpTester::OnVideoStreamsCreated(
|
||||
send_stream_ = send_stream;
|
||||
}
|
||||
|
||||
void RampUpTester::OnTransportsCreated(
|
||||
test::PacketTransport* send_transport,
|
||||
test::PacketTransport* receive_transport) {
|
||||
send_transport_ = send_transport;
|
||||
send_transport_->SetConfig(forward_transport_config_);
|
||||
test::PacketTransport* RampUpTester::CreateSendTransport(Call* sender_call) {
|
||||
send_transport_ = new test::PacketTransport(sender_call, this,
|
||||
test::PacketTransport::kSender,
|
||||
forward_transport_config_);
|
||||
return send_transport_;
|
||||
}
|
||||
|
||||
void RampUpTester::ModifyVideoConfigs(
|
||||
@ -390,113 +390,113 @@ class RampUpTest : public test::CallTest {
|
||||
|
||||
TEST_F(RampUpTest, SingleStream) {
|
||||
RampUpTester test(1, 0, 0, RtpExtension::kTOffset, false, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, Simulcast) {
|
||||
RampUpTester test(3, 0, 0, RtpExtension::kTOffset, false, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, SimulcastWithRtx) {
|
||||
RampUpTester test(3, 0, 0, RtpExtension::kTOffset, true, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, SimulcastByRedWithRtx) {
|
||||
RampUpTester test(3, 0, 0, RtpExtension::kTOffset, true, true);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, SingleStreamWithHighStartBitrate) {
|
||||
RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps, RtpExtension::kTOffset,
|
||||
false, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, UpDownUpOneStream) {
|
||||
RampUpDownUpTester test(1, 60000, RtpExtension::kAbsSendTime, false, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, UpDownUpThreeStreams) {
|
||||
RampUpDownUpTester test(3, 60000, RtpExtension::kAbsSendTime, false, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, UpDownUpOneStreamRtx) {
|
||||
RampUpDownUpTester test(1, 60000, RtpExtension::kAbsSendTime, true, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, UpDownUpThreeStreamsRtx) {
|
||||
RampUpDownUpTester test(3, 60000, RtpExtension::kAbsSendTime, true, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, UpDownUpOneStreamByRedRtx) {
|
||||
RampUpDownUpTester test(1, 60000, RtpExtension::kAbsSendTime, true, true);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, UpDownUpThreeStreamsByRedRtx) {
|
||||
RampUpDownUpTester test(3, 60000, RtpExtension::kAbsSendTime, true, true);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, AbsSendTimeSingleStream) {
|
||||
RampUpTester test(1, 0, 0, RtpExtension::kAbsSendTime, false, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, AbsSendTimeSimulcast) {
|
||||
RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTime, false, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, AbsSendTimeSimulcastWithRtx) {
|
||||
RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTime, true, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, AbsSendTimeSimulcastByRedWithRtx) {
|
||||
RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTime, true, true);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, AbsSendTimeSingleStreamWithHighStartBitrate) {
|
||||
RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps,
|
||||
RtpExtension::kAbsSendTime, false, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, TransportSequenceNumberSingleStream) {
|
||||
RampUpTester test(1, 0, 0, RtpExtension::kTransportSequenceNumber, false,
|
||||
false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, TransportSequenceNumberSimulcast) {
|
||||
RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumber, false,
|
||||
false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, TransportSequenceNumberSimulcastWithRtx) {
|
||||
RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumber, true,
|
||||
false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, TransportSequenceNumberSimulcastByRedWithRtx) {
|
||||
RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumber, true,
|
||||
true);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(RampUpTest, TransportSequenceNumberSingleStreamWithHighStartBitrate) {
|
||||
RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps,
|
||||
RtpExtension::kTransportSequenceNumber, false, false);
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
} // namespace webrtc
|
||||
|
||||
@ -72,8 +72,7 @@ class RampUpTester : public test::EndToEndTest {
|
||||
void OnVideoStreamsCreated(
|
||||
VideoSendStream* send_stream,
|
||||
const std::vector<VideoReceiveStream*>& receive_streams) override;
|
||||
void OnTransportsCreated(test::PacketTransport* send_transport,
|
||||
test::PacketTransport* receive_transport) override;
|
||||
test::PacketTransport* CreateSendTransport(Call* sender_call) override;
|
||||
void ModifyVideoConfigs(
|
||||
VideoSendStream::Config* send_config,
|
||||
std::vector<VideoReceiveStream::Config>* receive_configs,
|
||||
|
||||
@ -39,8 +39,7 @@ CallTest::CallTest()
|
||||
CallTest::~CallTest() {
|
||||
}
|
||||
|
||||
void CallTest::RunBaseTest(BaseTest* test,
|
||||
const FakeNetworkPipe::Config& config) {
|
||||
void CallTest::RunBaseTest(BaseTest* test) {
|
||||
num_video_streams_ = test->GetNumVideoStreams();
|
||||
num_audio_streams_ = test->GetNumAudioStreams();
|
||||
RTC_DCHECK(num_video_streams_ > 0 || num_audio_streams_ > 0);
|
||||
@ -61,11 +60,8 @@ void CallTest::RunBaseTest(BaseTest* test,
|
||||
}
|
||||
CreateReceiverCall(recv_config);
|
||||
}
|
||||
send_transport_.reset(new PacketTransport(
|
||||
sender_call_.get(), test, test::PacketTransport::kSender, config));
|
||||
receive_transport_.reset(new PacketTransport(
|
||||
nullptr, test, test::PacketTransport::kReceiver, config));
|
||||
test->OnTransportsCreated(send_transport_.get(), receive_transport_.get());
|
||||
send_transport_.reset(test->CreateSendTransport(sender_call_.get()));
|
||||
receive_transport_.reset(test->CreateReceiveTransport());
|
||||
test->OnCallsCreated(sender_call_.get(), receiver_call_.get());
|
||||
|
||||
if (test->ShouldCreateReceivers()) {
|
||||
@ -384,8 +380,15 @@ Call::Config BaseTest::GetReceiverCallConfig() {
|
||||
void BaseTest::OnCallsCreated(Call* sender_call, Call* receiver_call) {
|
||||
}
|
||||
|
||||
void BaseTest::OnTransportsCreated(PacketTransport* send_transport,
|
||||
PacketTransport* receive_transport) {}
|
||||
test::PacketTransport* BaseTest::CreateSendTransport(Call* sender_call) {
|
||||
return new PacketTransport(sender_call, this, test::PacketTransport::kSender,
|
||||
FakeNetworkPipe::Config());
|
||||
}
|
||||
|
||||
test::PacketTransport* BaseTest::CreateReceiveTransport() {
|
||||
return new PacketTransport(nullptr, this, test::PacketTransport::kReceiver,
|
||||
FakeNetworkPipe::Config());
|
||||
}
|
||||
|
||||
size_t BaseTest::GetNumVideoStreams() const {
|
||||
return 1;
|
||||
|
||||
@ -58,7 +58,7 @@ class CallTest : public ::testing::Test {
|
||||
// RunBaseTest overwrites the audio_state and the voice_engine of the send and
|
||||
// receive Call configs to simplify test code and avoid having old VoiceEngine
|
||||
// APIs in the tests.
|
||||
void RunBaseTest(BaseTest* test, const FakeNetworkPipe::Config& config);
|
||||
void RunBaseTest(BaseTest* test);
|
||||
|
||||
void CreateCalls(const Call::Config& sender_config,
|
||||
const Call::Config& receiver_config);
|
||||
@ -151,8 +151,9 @@ class BaseTest : public RtpRtcpObserver {
|
||||
virtual Call::Config GetSenderCallConfig();
|
||||
virtual Call::Config GetReceiverCallConfig();
|
||||
virtual void OnCallsCreated(Call* sender_call, Call* receiver_call);
|
||||
virtual void OnTransportsCreated(PacketTransport* send_transport,
|
||||
PacketTransport* receive_transport);
|
||||
|
||||
virtual test::PacketTransport* CreateSendTransport(Call* sender_call);
|
||||
virtual test::PacketTransport* CreateReceiveTransport();
|
||||
|
||||
virtual void ModifyVideoConfigs(
|
||||
VideoSendStream::Config* send_config,
|
||||
|
||||
@ -283,7 +283,7 @@ TEST_F(EndToEndTest, SendsAndReceivesVP9) {
|
||||
int frame_counter_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, SendsAndReceivesH264) {
|
||||
@ -336,7 +336,7 @@ TEST_F(EndToEndTest, SendsAndReceivesH264) {
|
||||
int frame_counter_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, ReceiverUsesLocalSsrc) {
|
||||
@ -364,7 +364,7 @@ TEST_F(EndToEndTest, ReceiverUsesLocalSsrc) {
|
||||
}
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, ReceivesAndRetransmitsNack) {
|
||||
@ -454,7 +454,7 @@ TEST_F(EndToEndTest, ReceivesAndRetransmitsNack) {
|
||||
int nacks_left_ GUARDED_BY(&crit_);
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, CanReceiveFec) {
|
||||
@ -555,7 +555,7 @@ TEST_F(EndToEndTest, CanReceiveFec) {
|
||||
std::set<uint32_t> protected_timestamps_ GUARDED_BY(crit_);
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
// Flacky on all platforms. See webrtc:4328.
|
||||
@ -637,6 +637,16 @@ TEST_F(EndToEndTest, DISABLED_ReceivedFecPacketsNotNacked) {
|
||||
return SEND_PACKET;
|
||||
}
|
||||
|
||||
test::PacketTransport* CreateSendTransport(Call* sender_call) override {
|
||||
// At low RTT (< kLowRttNackMs) -> NACK only, no FEC.
|
||||
// Configure some network delay.
|
||||
const int kNetworkDelayMs = 50;
|
||||
FakeNetworkPipe::Config config;
|
||||
config.queue_delay_ms = kNetworkDelayMs;
|
||||
return new test::PacketTransport(sender_call, this,
|
||||
test::PacketTransport::kSender, config);
|
||||
}
|
||||
|
||||
// TODO(holmer): Investigate why we don't send FEC packets when the bitrate
|
||||
// is 10 kbps.
|
||||
Call::Config GetSenderCallConfig() override {
|
||||
@ -677,12 +687,7 @@ TEST_F(EndToEndTest, DISABLED_ReceivedFecPacketsNotNacked) {
|
||||
uint16_t last_sequence_number_;
|
||||
} test;
|
||||
|
||||
// At low RTT (< kLowRttNackMs) -> NACK only, no FEC.
|
||||
// Configure some network delay.
|
||||
const int kNetworkDelayMs = 50;
|
||||
FakeNetworkPipe::Config config;
|
||||
config.queue_delay_ms = kNetworkDelayMs;
|
||||
RunBaseTest(&test, config);
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
// This test drops second RTP packet with a marker bit set, makes sure it's
|
||||
@ -791,7 +796,7 @@ void EndToEndTest::DecodesRetransmittedFrame(bool use_rtx, bool use_red) {
|
||||
bool frame_retransmitted_;
|
||||
} test(use_rtx, use_red);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, DecodesRetransmittedFrame) {
|
||||
@ -1001,7 +1006,7 @@ void EndToEndTest::ReceivesPliAndRecovers(int rtp_history_ms) {
|
||||
bool received_pli_ GUARDED_BY(&crit_);
|
||||
} test(rtp_history_ms);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, ReceivesPliAndRecoversWithNack) {
|
||||
@ -1149,7 +1154,7 @@ void EndToEndTest::RespectsRtcpMode(RtcpMode rtcp_mode) {
|
||||
int sent_rtcp_;
|
||||
} test(rtcp_mode);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, UsesRtcpCompoundMode) {
|
||||
@ -1726,7 +1731,7 @@ TEST_F(EndToEndTest, ReceiveStreamSendsRemb) {
|
||||
}
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, VerifyBandwidthStats) {
|
||||
@ -1766,7 +1771,7 @@ TEST_F(EndToEndTest, VerifyBandwidthStats) {
|
||||
bool has_seen_pacer_delay_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, VerifyNackStats) {
|
||||
@ -1870,7 +1875,7 @@ TEST_F(EndToEndTest, VerifyNackStats) {
|
||||
} test;
|
||||
|
||||
test::ClearHistograms();
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
|
||||
EXPECT_EQ(1, test::NumHistogramSamples(
|
||||
"WebRTC.Video.UniqueNackRequestsSentInPercent"));
|
||||
@ -1966,7 +1971,7 @@ void EndToEndTest::VerifyHistogramStats(bool use_rtx,
|
||||
} test(use_rtx, use_red, screenshare);
|
||||
|
||||
test::ClearHistograms();
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
|
||||
// Delete the call for Call stats to be reported.
|
||||
sender_call_.reset();
|
||||
@ -2188,7 +2193,7 @@ void EndToEndTest::TestXrReceiverReferenceTimeReport(bool enable_rrtr) {
|
||||
int sent_rtcp_dlrr_;
|
||||
} test(enable_rrtr);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
void EndToEndTest::TestSendsSetSsrcs(size_t num_ssrcs,
|
||||
@ -2287,7 +2292,7 @@ void EndToEndTest::TestSendsSetSsrcs(size_t num_ssrcs,
|
||||
VideoEncoderConfig video_encoder_config_all_streams_;
|
||||
} test(kVideoSendSsrcs, num_ssrcs, send_single_ssrc_first);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, ReportsSetEncoderRates) {
|
||||
@ -2348,7 +2353,7 @@ TEST_F(EndToEndTest, ReportsSetEncoderRates) {
|
||||
uint32_t bitrate_kbps_ GUARDED_BY(crit_);
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, GetStats) {
|
||||
@ -2528,6 +2533,13 @@ TEST_F(EndToEndTest, GetStats) {
|
||||
return true;
|
||||
}
|
||||
|
||||
test::PacketTransport* CreateSendTransport(Call* sender_call) override {
|
||||
FakeNetworkPipe::Config network_config;
|
||||
network_config.loss_percent = 5;
|
||||
return new test::PacketTransport(
|
||||
sender_call, this, test::PacketTransport::kSender, network_config);
|
||||
}
|
||||
|
||||
Call::Config GetSenderCallConfig() override {
|
||||
Call::Config config = EndToEndTest::GetSenderCallConfig();
|
||||
config.bitrate_config.start_bitrate_bps = kStartBitrateBps;
|
||||
@ -2614,9 +2626,7 @@ TEST_F(EndToEndTest, GetStats) {
|
||||
rtc::Event check_stats_event_;
|
||||
} test;
|
||||
|
||||
FakeNetworkPipe::Config network_config;
|
||||
network_config.loss_percent = 5;
|
||||
RunBaseTest(&test, network_config);
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, ReceiverReferenceTimeReportEnabled) {
|
||||
@ -2664,7 +2674,7 @@ TEST_F(EndToEndTest, TestReceivedRtpPacketStats) {
|
||||
uint32_t sent_rtp_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, SendsSetSsrc) { TestSendsSetSsrcs(1, false); }
|
||||
@ -2745,7 +2755,7 @@ TEST_F(EndToEndTest, DISABLED_RedundantPayloadsTransmittedOnAllSsrcs) {
|
||||
std::map<uint32_t, bool> registered_rtx_ssrc_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
void EndToEndTest::TestRtpStatePreservation(bool use_rtx) {
|
||||
@ -3110,7 +3120,7 @@ TEST_F(EndToEndTest, RespectsNetworkState) {
|
||||
int down_frames_ GUARDED_BY(test_crit_);
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(EndToEndTest, CallReportsRttForSender) {
|
||||
@ -3317,6 +3327,6 @@ TEST_F(EndToEndTest, TransportSeqNumOnAudioAndVideo) {
|
||||
std::set<int64_t> received_packet_ids_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
} // namespace webrtc
|
||||
|
||||
@ -123,7 +123,7 @@ TEST_F(VideoSendStreamTest, SupportsCName) {
|
||||
}
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, SupportsAbsoluteSendTime) {
|
||||
@ -161,7 +161,7 @@ TEST_F(VideoSendStreamTest, SupportsAbsoluteSendTime) {
|
||||
}
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, SupportsTransmissionTimeOffset) {
|
||||
@ -206,7 +206,7 @@ TEST_F(VideoSendStreamTest, SupportsTransmissionTimeOffset) {
|
||||
test::DelayedEncoder encoder_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, SupportsTransportWideSequenceNumbers) {
|
||||
@ -250,7 +250,7 @@ TEST_F(VideoSendStreamTest, SupportsTransportWideSequenceNumbers) {
|
||||
test::FakeEncoder encoder_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
class FakeReceiveStatistics : public NullReceiveStatistics {
|
||||
@ -423,13 +423,13 @@ class FecObserver : public test::SendTest {
|
||||
TEST_F(VideoSendStreamTest, SupportsFecWithExtensions) {
|
||||
FecObserver test(true);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, SupportsFecWithoutExtensions) {
|
||||
FecObserver test(false);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
void VideoSendStreamTest::TestNackRetransmission(
|
||||
@ -512,7 +512,7 @@ void VideoSendStreamTest::TestNackRetransmission(
|
||||
int nacked_sequence_number_;
|
||||
} test(retransmit_ssrc, retransmit_payload_type);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, RetransmitsNack) {
|
||||
@ -723,7 +723,7 @@ void VideoSendStreamTest::TestPacketFragmentationSize(VideoFormat format,
|
||||
FrameFragmentationTest test(
|
||||
kMaxPacketSize, start, stop, format == kGeneric, with_fec);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
// TODO(sprang): Is there any way of speeding up these tests?
|
||||
@ -893,7 +893,7 @@ TEST_F(VideoSendStreamTest, SuspendBelowMinBitrate) {
|
||||
int high_remb_bps_ GUARDED_BY(crit_);
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, NoPaddingWhenVideoIsMuted) {
|
||||
@ -935,12 +935,13 @@ TEST_F(VideoSendStreamTest, NoPaddingWhenVideoIsMuted) {
|
||||
return SEND_PACKET;
|
||||
}
|
||||
|
||||
void OnTransportsCreated(
|
||||
test::PacketTransport* send_transport,
|
||||
test::PacketTransport* receive_transport) override {
|
||||
transport_adapter_.reset(
|
||||
new internal::TransportAdapter(receive_transport));
|
||||
test::PacketTransport* CreateReceiveTransport() override {
|
||||
test::PacketTransport* transport = new test::PacketTransport(
|
||||
nullptr, this, test::PacketTransport::kReceiver,
|
||||
FakeNetworkPipe::Config());
|
||||
transport_adapter_.reset(new internal::TransportAdapter(transport));
|
||||
transport_adapter_->Enable();
|
||||
return transport;
|
||||
}
|
||||
|
||||
size_t GetNumVideoStreams() const override { return 3; }
|
||||
@ -963,7 +964,7 @@ TEST_F(VideoSendStreamTest, NoPaddingWhenVideoIsMuted) {
|
||||
test::FrameGeneratorCapturer* capturer_ GUARDED_BY(crit_);
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
// This test first observes "high" bitrate use at which point it sends a REMB to
|
||||
@ -1051,7 +1052,7 @@ TEST_F(VideoSendStreamTest, MinTransmitBitrateRespectsRemb) {
|
||||
bool bitrate_capped_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, CanReconfigureToUseStartBitrateAbovePreviousMax) {
|
||||
@ -1360,7 +1361,7 @@ TEST_F(VideoSendStreamTest, EncoderIsProperlyInitializedAndDestroyed) {
|
||||
VideoEncoderConfig encoder_config_;
|
||||
} test_encoder;
|
||||
|
||||
RunBaseTest(&test_encoder, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test_encoder);
|
||||
|
||||
EXPECT_TRUE(test_encoder.IsReleased());
|
||||
EXPECT_EQ(1u, test_encoder.num_releases());
|
||||
@ -1419,7 +1420,7 @@ TEST_F(VideoSendStreamTest, EncoderSetupPropagatesCommonEncoderConfigValues) {
|
||||
VideoEncoderConfig encoder_config_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
static const size_t kVideoCodecConfigObserverNumberOfTemporalLayers = 4;
|
||||
@ -1547,17 +1548,17 @@ void VideoCodecConfigObserver<VideoCodecVP9>::VerifyCodecSpecifics(
|
||||
|
||||
TEST_F(VideoSendStreamTest, EncoderSetupPropagatesVp8Config) {
|
||||
VideoCodecConfigObserver<VideoCodecVP8> test(kVideoCodecVP8, "VP8");
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, EncoderSetupPropagatesVp9Config) {
|
||||
VideoCodecConfigObserver<VideoCodecVP9> test(kVideoCodecVP9, "VP9");
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, EncoderSetupPropagatesH264Config) {
|
||||
VideoCodecConfigObserver<VideoCodecH264> test(kVideoCodecH264, "H264");
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, RtcpSenderReportContainsMediaBytesSent) {
|
||||
@ -1609,7 +1610,7 @@ TEST_F(VideoSendStreamTest, RtcpSenderReportContainsMediaBytesSent) {
|
||||
size_t media_bytes_sent_ GUARDED_BY(&crit_);
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, TranslatesTwoLayerScreencastToTargetBitrate) {
|
||||
@ -1650,7 +1651,7 @@ TEST_F(VideoSendStreamTest, TranslatesTwoLayerScreencastToTargetBitrate) {
|
||||
}
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
// Disabled on LinuxAsan:
|
||||
@ -1768,7 +1769,7 @@ TEST_F(VideoSendStreamTest,
|
||||
webrtc::VideoEncoderConfig encoder_config_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
TEST_F(VideoSendStreamTest, ReportsSentResolution) {
|
||||
@ -1848,7 +1849,7 @@ TEST_F(VideoSendStreamTest, ReportsSentResolution) {
|
||||
VideoSendStream* send_stream_;
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
class Vp9HeaderObserver : public test::SendTest {
|
||||
@ -2208,7 +2209,7 @@ void VideoSendStreamTest::TestVp9NonFlexMode(uint8_t num_temporal_layers,
|
||||
const bool l_field_;
|
||||
} test(num_temporal_layers, num_spatial_layers);
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
#if !defined(MEMORY_SANITIZER)
|
||||
@ -2236,7 +2237,7 @@ TEST_F(VideoSendStreamTest, Vp9FlexModeRefCount) {
|
||||
}
|
||||
} test;
|
||||
|
||||
RunBaseTest(&test, FakeNetworkPipe::Config());
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user