Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(785)

Unified Diff: webrtc/video/end_to_end_tests.cc

Issue 2794243002: Making FakeNetworkPipe demux audio and video packets. (Closed)
Patch Set: fixing android Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 e482246dd35fe7e67f5f92570411ff88aa4ed3ed..f31a68e17ac52174f592cc04bf6ff8d6a55985f1 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_.get()), Call::Config(event_log_.get()));
- 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_.get()), Call::Config(event_log_.get()));
- 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_.get()), Call::Config(event_log_.get()));
- 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_.get()), Call::Config(event_log_.get()));
- 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_.get());
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);

Powered by Google App Engine
This is Rietveld 408576698