| Index: webrtc/video/end_to_end_tests.cc
|
| diff --git a/webrtc/video/end_to_end_tests.cc b/webrtc/video/end_to_end_tests.cc
|
| index ff0185c198b532fd1c9cd5ac1e6b83329706a7ac..31b6b2289b716d602eacdeeb439b815b9f3f148f 100644
|
| --- a/webrtc/video/end_to_end_tests.cc
|
| +++ b/webrtc/video/end_to_end_tests.cc
|
| @@ -66,7 +66,9 @@
|
|
|
| namespace webrtc {
|
|
|
| -static const int kSilenceTimeoutMs = 2000;
|
| +namespace {
|
| +constexpr int kSilenceTimeoutMs = 2000;
|
| +}
|
|
|
| class EndToEndTest : public test::CallTest {
|
| public:
|
| @@ -210,10 +212,9 @@ TEST_F(EndToEndTest, RendersSingleDelayedFrame) {
|
|
|
| CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
|
|
|
| - test::DirectTransport sender_transport(
|
| - sender_call_.get(), MediaType::VIDEO);
|
| - test::DirectTransport receiver_transport(
|
| - receiver_call_.get(), MediaType::VIDEO);
|
| + test::DirectTransport sender_transport(sender_call_.get(), payload_type_map_);
|
| + test::DirectTransport receiver_transport(receiver_call_.get(),
|
| + payload_type_map_);
|
| sender_transport.SetReceiver(receiver_call_->Receiver());
|
| receiver_transport.SetReceiver(sender_call_->Receiver());
|
|
|
| @@ -260,10 +261,9 @@ TEST_F(EndToEndTest, TransmitsFirstFrame) {
|
|
|
| CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
|
|
|
| - test::DirectTransport sender_transport(
|
| - sender_call_.get(), MediaType::VIDEO);
|
| - test::DirectTransport receiver_transport(
|
| - receiver_call_.get(), MediaType::VIDEO);
|
| + test::DirectTransport sender_transport(sender_call_.get(), payload_type_map_);
|
| + test::DirectTransport receiver_transport(receiver_call_.get(),
|
| + payload_type_map_);
|
| sender_transport.SetReceiver(receiver_call_->Receiver());
|
| receiver_transport.SetReceiver(sender_call_->Receiver());
|
|
|
| @@ -323,7 +323,8 @@ class CodecObserver : public test::EndToEndTest,
|
| VideoEncoderConfig* encoder_config) override {
|
| send_config->encoder_settings.encoder = encoder_.get();
|
| send_config->encoder_settings.payload_name = payload_name_;
|
| - send_config->encoder_settings.payload_type = 126;
|
| + send_config->encoder_settings.payload_type =
|
| + test::CallTest::kVideoSendPayloadType;
|
|
|
| (*receive_configs)[0].renderer = this;
|
| (*receive_configs)[0].decoders.resize(1);
|
| @@ -534,8 +535,7 @@ TEST_F(EndToEndTest, ReceivesNackAndRetransmitsAudio) {
|
|
|
| test::PacketTransport* CreateReceiveTransport() override {
|
| test::PacketTransport* receive_transport = new test::PacketTransport(
|
| - nullptr, this, test::PacketTransport::kReceiver,
|
| - MediaType::AUDIO,
|
| + nullptr, this, test::PacketTransport::kReceiver, payload_type_map_,
|
| FakeNetworkPipe::Config());
|
| receive_transport_ = receive_transport;
|
| return receive_transport;
|
| @@ -798,7 +798,7 @@ class FlexfecRenderObserver : public test::EndToEndTest,
|
| config.queue_delay_ms = kNetworkDelayMs;
|
| return new test::PacketTransport(sender_call, this,
|
| test::PacketTransport::kSender,
|
| - MediaType::VIDEO, config);
|
| + test::CallTest::payload_type_map_, config);
|
| }
|
|
|
| void OnFrame(const VideoFrame& video_frame) override {
|
| @@ -978,7 +978,7 @@ TEST_F(EndToEndTest, ReceivedUlpfecPacketsNotNacked) {
|
| config.queue_delay_ms = kNetworkDelayMs;
|
| return new test::PacketTransport(sender_call, this,
|
| test::PacketTransport::kSender,
|
| - MediaType::VIDEO, config);
|
| + payload_type_map_, config);
|
| }
|
|
|
| // TODO(holmer): Investigate why we don't send FEC packets when the bitrate
|
| @@ -1320,10 +1320,9 @@ TEST_F(EndToEndTest, UnknownRtpPacketGivesUnknownSsrcReturnCode) {
|
|
|
| CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
|
|
|
| - test::DirectTransport send_transport(
|
| - sender_call_.get(), MediaType::VIDEO);
|
| - test::DirectTransport receive_transport(
|
| - receiver_call_.get(), MediaType::VIDEO);
|
| + test::DirectTransport send_transport(sender_call_.get(), payload_type_map_);
|
| + test::DirectTransport receive_transport(receiver_call_.get(),
|
| + payload_type_map_);
|
| PacketInputObserver input_observer(receiver_call_->Receiver());
|
| send_transport.SetReceiver(&input_observer);
|
| receive_transport.SetReceiver(sender_call_->Receiver());
|
| @@ -1443,7 +1442,11 @@ TEST_F(EndToEndTest, UsesRtcpReducedSizeMode) {
|
| // Another is set up to receive all three of these with different renderers.
|
| class MultiStreamTest {
|
| public:
|
| - static const size_t kNumStreams = 3;
|
| + static constexpr size_t kNumStreams = 3;
|
| + const uint8_t kVideoPayloadType = 124;
|
| + const std::map<uint8_t, MediaType> payload_type_map_ = {
|
| + {kVideoPayloadType, MediaType::VIDEO}};
|
| +
|
| struct CodecSettings {
|
| uint32_t ssrc;
|
| int width;
|
| @@ -1489,7 +1492,7 @@ class MultiStreamTest {
|
| send_config.rtp.ssrcs.push_back(ssrc);
|
| send_config.encoder_settings.encoder = encoders[i].get();
|
| send_config.encoder_settings.payload_name = "VP8";
|
| - send_config.encoder_settings.payload_type = 124;
|
| + send_config.encoder_settings.payload_type = kVideoPayloadType;
|
| VideoEncoderConfig encoder_config;
|
| test::FillEncoderConfiguration(1, &encoder_config);
|
| encoder_config.max_bitrate_bps = 100000;
|
| @@ -1550,10 +1553,10 @@ class MultiStreamTest {
|
| VideoReceiveStream::Config* receive_config) {
|
| }
|
| virtual test::DirectTransport* CreateSendTransport(Call* sender_call) {
|
| - return new test::DirectTransport(sender_call, MediaType::VIDEO);
|
| + return new test::DirectTransport(sender_call, payload_type_map_);
|
| }
|
| virtual test::DirectTransport* CreateReceiveTransport(Call* receiver_call) {
|
| - return new test::DirectTransport(receiver_call, MediaType::VIDEO);
|
| + return new test::DirectTransport(receiver_call, payload_type_map_);
|
| }
|
| };
|
|
|
| @@ -1629,10 +1632,12 @@ TEST_F(EndToEndTest, AssignsTransportSequenceNumbers) {
|
|
|
| class RtpExtensionHeaderObserver : public test::DirectTransport {
|
| public:
|
| - RtpExtensionHeaderObserver(Call* sender_call,
|
| - const uint32_t& first_media_ssrc,
|
| - const std::map<uint32_t, uint32_t>& ssrc_map)
|
| - : DirectTransport(sender_call, MediaType::VIDEO),
|
| + RtpExtensionHeaderObserver(
|
| + Call* sender_call,
|
| + const uint32_t& first_media_ssrc,
|
| + const std::map<uint32_t, uint32_t>& ssrc_map,
|
| + const std::map<uint8_t, MediaType>& payload_type_map)
|
| + : DirectTransport(sender_call, payload_type_map),
|
| done_(false, false),
|
| parser_(RtpHeaderParser::Create()),
|
| first_media_ssrc_(first_media_ssrc),
|
| @@ -1796,8 +1801,14 @@ TEST_F(EndToEndTest, AssignsTransportSequenceNumbers) {
|
| }
|
|
|
| test::DirectTransport* CreateSendTransport(Call* sender_call) override {
|
| - observer_ = new RtpExtensionHeaderObserver(sender_call, first_media_ssrc_,
|
| - rtx_to_media_ssrcs_);
|
| + std::map<uint8_t, MediaType> payload_type_map =
|
| + MultiStreamTest::payload_type_map_;
|
| + RTC_DCHECK(payload_type_map.find(kSendRtxPayloadType) ==
|
| + payload_type_map.end());
|
| + payload_type_map[kSendRtxPayloadType] = MediaType::VIDEO;
|
| + observer_ =
|
| + new RtpExtensionHeaderObserver(sender_call, first_media_ssrc_,
|
| + rtx_to_media_ssrcs_, payload_type_map);
|
| return observer_;
|
| }
|
|
|
| @@ -1948,10 +1959,9 @@ TEST_F(EndToEndTest, ObserversEncodedFrames) {
|
|
|
| CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
|
|
|
| - test::DirectTransport sender_transport(
|
| - sender_call_.get(), MediaType::VIDEO);
|
| - test::DirectTransport receiver_transport(
|
| - receiver_call_.get(), MediaType::VIDEO);
|
| + test::DirectTransport sender_transport(sender_call_.get(), payload_type_map_);
|
| + test::DirectTransport receiver_transport(receiver_call_.get(),
|
| + payload_type_map_);
|
| sender_transport.SetReceiver(receiver_call_->Receiver());
|
| receiver_transport.SetReceiver(sender_call_->Receiver());
|
|
|
| @@ -2114,8 +2124,7 @@ TEST_F(EndToEndTest, RembWithSendSideBwe) {
|
|
|
| test::PacketTransport* CreateReceiveTransport() override {
|
| receive_transport_ = new test::PacketTransport(
|
| - nullptr, this, test::PacketTransport::kReceiver,
|
| - MediaType::VIDEO,
|
| + nullptr, this, test::PacketTransport::kReceiver, payload_type_map_,
|
| FakeNetworkPipe::Config());
|
| return receive_transport_;
|
| }
|
| @@ -3107,9 +3116,9 @@ TEST_F(EndToEndTest, GetStats) {
|
| 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, MediaType::VIDEO,
|
| - network_config);
|
| + return new test::PacketTransport(sender_call, this,
|
| + test::PacketTransport::kSender,
|
| + payload_type_map_, network_config);
|
| }
|
|
|
| Call::Config GetSenderCallConfig() override {
|
| @@ -3661,14 +3670,12 @@ void EndToEndTest::TestRtpStatePreservation(bool use_rtx,
|
| Call::Config config(&event_log_);
|
| CreateCalls(config, config);
|
|
|
| - test::PacketTransport send_transport(sender_call_.get(), &observer,
|
| - test::PacketTransport::kSender,
|
| - MediaType::VIDEO,
|
| - FakeNetworkPipe::Config());
|
| - test::PacketTransport receive_transport(nullptr, &observer,
|
| - test::PacketTransport::kReceiver,
|
| - MediaType::VIDEO,
|
| - FakeNetworkPipe::Config());
|
| + test::PacketTransport send_transport(
|
| + sender_call_.get(), &observer, test::PacketTransport::kSender,
|
| + payload_type_map_, FakeNetworkPipe::Config());
|
| + test::PacketTransport receive_transport(
|
| + nullptr, &observer, test::PacketTransport::kReceiver, payload_type_map_,
|
| + FakeNetworkPipe::Config());
|
| send_transport.SetReceiver(receiver_call_->Receiver());
|
| receive_transport.SetReceiver(sender_call_->Receiver());
|
|
|
| @@ -3960,11 +3967,11 @@ TEST_F(EndToEndTest, CallReportsRttForSender) {
|
|
|
| FakeNetworkPipe::Config config;
|
| config.queue_delay_ms = kSendDelayMs;
|
| - test::DirectTransport sender_transport(
|
| - config, sender_call_.get(), MediaType::VIDEO);
|
| + test::DirectTransport sender_transport(config, sender_call_.get(),
|
| + payload_type_map_);
|
| config.queue_delay_ms = kReceiveDelayMs;
|
| - test::DirectTransport receiver_transport(
|
| - config, receiver_call_.get(), MediaType::VIDEO);
|
| + test::DirectTransport receiver_transport(config, receiver_call_.get(),
|
| + payload_type_map_);
|
| sender_transport.SetReceiver(receiver_call_->Receiver());
|
| receiver_transport.SetReceiver(sender_call_->Receiver());
|
|
|
| @@ -4026,7 +4033,7 @@ void EndToEndTest::VerifyNewVideoReceiveStreamsRespectNetworkState(
|
| CreateCalls(config, config);
|
| receiver_call_->SignalChannelNetworkState(network_to_bring_up, kNetworkUp);
|
|
|
| - test::DirectTransport sender_transport(sender_call_.get(), MediaType::VIDEO);
|
| + test::DirectTransport sender_transport(sender_call_.get(), payload_type_map_);
|
| sender_transport.SetReceiver(receiver_call_->Receiver());
|
| CreateSendConfig(1, 0, 0, &sender_transport);
|
| CreateMatchingReceiveConfigs(transport);
|
|
|