aboutsummaryrefslogtreecommitdiff
path: root/video/end_to_end_tests/multi_codec_receive_tests.cc
diff options
context:
space:
mode:
Diffstat (limited to 'video/end_to_end_tests/multi_codec_receive_tests.cc')
-rw-r--r--video/end_to_end_tests/multi_codec_receive_tests.cc83
1 files changed, 28 insertions, 55 deletions
diff --git a/video/end_to_end_tests/multi_codec_receive_tests.cc b/video/end_to_end_tests/multi_codec_receive_tests.cc
index e13bc351ca..7399ef81a4 100644
--- a/video/end_to_end_tests/multi_codec_receive_tests.cc
+++ b/video/end_to_end_tests/multi_codec_receive_tests.cc
@@ -180,7 +180,6 @@ class MultiCodecReceiveTest : public test::CallTest {
struct CodecConfig {
std::string payload_name;
VideoEncoderFactory* encoder_factory;
- VideoDecoderFactory* decoder_factory;
size_t num_temporal_layers;
};
@@ -198,16 +197,18 @@ class MultiCodecReceiveTest : public test::CallTest {
void MultiCodecReceiveTest::ConfigureDecoders(
const std::vector<CodecConfig>& configs) {
- video_receive_configs_[0].decoders.clear();
// Placing the payload names in a std::set retains the unique names only.
std::set<std::string> unique_payload_names;
for (const auto& config : configs)
- if (unique_payload_names.insert(config.payload_name).second) {
- VideoReceiveStream::Decoder decoder = test::CreateMatchingDecoder(
- PayloadNameToPayloadType(config.payload_name), config.payload_name);
- decoder.decoder_factory = config.decoder_factory;
+ unique_payload_names.insert(config.payload_name);
- video_receive_configs_[0].decoders.push_back(decoder);
+ video_receive_configs_[0].decoders.clear();
+ for (const auto& payload_name : unique_payload_names) {
+ VideoReceiveStream::Decoder decoder = test::CreateMatchingDecoder(
+ PayloadNameToPayloadType(payload_name), payload_name);
+ allocated_decoders_.push_back(
+ std::unique_ptr<VideoDecoder>(decoder.decoder));
+ video_receive_configs_[0].decoders.push_back(decoder);
}
}
@@ -269,13 +270,9 @@ TEST_F(MultiCodecReceiveTest, SingleStreamReceivesVp8Vp9) {
[]() { return VP8Encoder::Create(); });
test::FunctionVideoEncoderFactory vp9_encoder_factory(
[]() { return VP9Encoder::Create(); });
- test::FunctionVideoDecoderFactory vp8_decoder_factory(
- []() { return VP8Decoder::Create(); });
- test::FunctionVideoDecoderFactory vp9_decoder_factory(
- []() { return VP9Decoder::Create(); });
- RunTestWithCodecs({{"VP8", &vp8_encoder_factory, &vp8_decoder_factory, 1},
- {"VP9", &vp9_encoder_factory, &vp9_decoder_factory, 1},
- {"VP8", &vp8_encoder_factory, &vp8_decoder_factory, 1}});
+ RunTestWithCodecs({{"VP8", &vp8_encoder_factory, 1},
+ {"VP9", &vp9_encoder_factory, 1},
+ {"VP8", &vp8_encoder_factory, 1}});
}
TEST_F(MultiCodecReceiveTest, SingleStreamReceivesVp8Vp9WithTl) {
@@ -283,13 +280,9 @@ TEST_F(MultiCodecReceiveTest, SingleStreamReceivesVp8Vp9WithTl) {
[]() { return VP8Encoder::Create(); });
test::FunctionVideoEncoderFactory vp9_encoder_factory(
[]() { return VP9Encoder::Create(); });
- test::FunctionVideoDecoderFactory vp8_decoder_factory(
- []() { return VP8Decoder::Create(); });
- test::FunctionVideoDecoderFactory vp9_decoder_factory(
- []() { return VP9Decoder::Create(); });
- RunTestWithCodecs({{"VP8", &vp8_encoder_factory, &vp8_decoder_factory, 2},
- {"VP9", &vp9_encoder_factory, &vp9_decoder_factory, 2},
- {"VP8", &vp8_encoder_factory, &vp8_decoder_factory, 2}});
+ RunTestWithCodecs({{"VP8", &vp8_encoder_factory, 2},
+ {"VP9", &vp9_encoder_factory, 2},
+ {"VP8", &vp8_encoder_factory, 2}});
}
#if defined(WEBRTC_USE_H264)
@@ -298,13 +291,9 @@ TEST_F(MultiCodecReceiveTest, SingleStreamReceivesVp8H264) {
[]() { return VP8Encoder::Create(); });
test::FunctionVideoEncoderFactory h264_encoder_factory(
[]() { return H264Encoder::Create(cricket::VideoCodec("H264")); });
- test::FunctionVideoDecoderFactory vp8_decoder_factory(
- []() { return VP8Decoder::Create(); });
- test::FunctionVideoDecoderFactory h264_decoder_factory(
- []() { return H264Decoder::Create(); });
- RunTestWithCodecs({{"VP8", &vp8_encoder_factory, &vp8_decoder_factory, 1},
- {"H264", &h264_encoder_factory, &h264_decoder_factory, 1},
- {"VP8", &vp8_encoder_factory, &vp8_decoder_factory, 1}});
+ RunTestWithCodecs({{"VP8", &vp8_encoder_factory, 1},
+ {"H264", &h264_encoder_factory, 1},
+ {"VP8", &vp8_encoder_factory, 1}});
}
TEST_F(MultiCodecReceiveTest, SingleStreamReceivesVp8H264WithTl) {
@@ -312,13 +301,9 @@ TEST_F(MultiCodecReceiveTest, SingleStreamReceivesVp8H264WithTl) {
[]() { return VP8Encoder::Create(); });
test::FunctionVideoEncoderFactory h264_encoder_factory(
[]() { return H264Encoder::Create(cricket::VideoCodec("H264")); });
- test::FunctionVideoDecoderFactory vp8_decoder_factory(
- []() { return VP8Decoder::Create(); });
- test::FunctionVideoDecoderFactory h264_decoder_factory(
- []() { return H264Decoder::Create(); });
- RunTestWithCodecs({{"VP8", &vp8_encoder_factory, &vp8_decoder_factory, 3},
- {"H264", &h264_encoder_factory, &h264_decoder_factory, 1},
- {"VP8", &vp8_encoder_factory, &vp8_decoder_factory, 3}});
+ RunTestWithCodecs({{"VP8", &vp8_encoder_factory, 3},
+ {"H264", &h264_encoder_factory, 1},
+ {"VP8", &vp8_encoder_factory, 3}});
}
TEST_F(MultiCodecReceiveTest, SingleStreamReceivesVp8Vp9H264) {
@@ -328,16 +313,10 @@ TEST_F(MultiCodecReceiveTest, SingleStreamReceivesVp8Vp9H264) {
[]() { return VP9Encoder::Create(); });
test::FunctionVideoEncoderFactory h264_encoder_factory(
[]() { return H264Encoder::Create(cricket::VideoCodec("H264")); });
- test::FunctionVideoDecoderFactory vp8_decoder_factory(
- []() { return VP8Decoder::Create(); });
- test::FunctionVideoDecoderFactory vp9_decoder_factory(
- []() { return VP9Decoder::Create(); });
- test::FunctionVideoDecoderFactory h264_decoder_factory(
- []() { return H264Decoder::Create(); });
- RunTestWithCodecs({{"VP8", &vp8_encoder_factory, &vp8_decoder_factory, 1},
- {"VP9", &vp9_encoder_factory, &vp9_decoder_factory, 1},
- {"H264", &h264_encoder_factory, &h264_decoder_factory, 1},
- {"VP9", &vp9_encoder_factory, &vp9_decoder_factory, 1}});
+ RunTestWithCodecs({{"VP8", &vp8_encoder_factory, 1},
+ {"VP9", &vp9_encoder_factory, 1},
+ {"H264", &h264_encoder_factory, 1},
+ {"VP9", &vp9_encoder_factory, 1}});
}
TEST_F(MultiCodecReceiveTest, SingleStreamReceivesVp8Vp9H264WithTl) {
@@ -347,16 +326,10 @@ TEST_F(MultiCodecReceiveTest, SingleStreamReceivesVp8Vp9H264WithTl) {
[]() { return VP9Encoder::Create(); });
test::FunctionVideoEncoderFactory h264_encoder_factory(
[]() { return H264Encoder::Create(cricket::VideoCodec("H264")); });
- test::FunctionVideoDecoderFactory vp8_decoder_factory(
- []() { return VP8Decoder::Create(); });
- test::FunctionVideoDecoderFactory vp9_decoder_factory(
- []() { return VP9Decoder::Create(); });
- test::FunctionVideoDecoderFactory h264_decoder_factory(
- []() { return H264Decoder::Create(); });
- RunTestWithCodecs({{"VP8", &vp8_encoder_factory, &vp8_decoder_factory, 3},
- {"VP9", &vp9_encoder_factory, &vp9_decoder_factory, 2},
- {"H264", &h264_encoder_factory, &h264_decoder_factory, 1},
- {"VP9", &vp9_encoder_factory, &vp9_decoder_factory, 3}});
+ RunTestWithCodecs({{"VP8", &vp8_encoder_factory, 3},
+ {"VP9", &vp9_encoder_factory, 2},
+ {"H264", &h264_encoder_factory, 1},
+ {"VP9", &vp9_encoder_factory, 3}});
}
#endif // defined(WEBRTC_USE_H264)