@@ -417,33 +417,6 @@ class VideoStreamEncoderUnderTest : public VideoStreamEncoder {
417
417
FakeAdaptationConstraint fake_adaptation_constraint_;
418
418
};
419
419
420
- class VideoStreamFactory
421
- : public VideoEncoderConfig::VideoStreamFactoryInterface {
422
- public:
423
- explicit VideoStreamFactory (size_t num_temporal_layers, int framerate)
424
- : num_temporal_layers_(num_temporal_layers), framerate_(framerate) {
425
- EXPECT_GT (num_temporal_layers, 0u );
426
- EXPECT_GT (framerate, 0 );
427
- }
428
-
429
- private:
430
- std::vector<VideoStream> CreateEncoderStreams (
431
- int width,
432
- int height,
433
- const VideoEncoderConfig& encoder_config) override {
434
- std::vector<VideoStream> streams =
435
- test::CreateVideoStreams (width, height, encoder_config);
436
- for (VideoStream& stream : streams) {
437
- stream.num_temporal_layers = num_temporal_layers_;
438
- stream.max_framerate = framerate_;
439
- }
440
- return streams;
441
- }
442
-
443
- const size_t num_temporal_layers_;
444
- const int framerate_;
445
- };
446
-
447
420
// Simulates simulcast behavior and makes highest stream resolutions divisible
448
421
// by 4.
449
422
class CroppingVideoStreamFactory
@@ -651,16 +624,11 @@ class VideoStreamEncoderTest : public ::testing::Test {
651
624
652
625
VideoEncoderConfig video_encoder_config;
653
626
test::FillEncoderConfiguration (kVideoCodecVP8 , 1 , &video_encoder_config);
654
- video_encoder_config.video_stream_factory =
655
- new rtc::RefCountedObject<VideoStreamFactory>(1 , max_framerate_);
627
+ EXPECT_EQ (1u , video_encoder_config.simulcast_layers .size ());
628
+ video_encoder_config.simulcast_layers [0 ].num_temporal_layers = 1 ;
629
+ video_encoder_config.simulcast_layers [0 ].max_framerate = max_framerate_;
656
630
video_encoder_config_ = video_encoder_config.Copy ();
657
631
658
- // Framerate limit is specified by the VideoStreamFactory.
659
- std::vector<VideoStream> streams =
660
- video_encoder_config.video_stream_factory ->CreateEncoderStreams (
661
- codec_width_, codec_height_, video_encoder_config);
662
- max_framerate_ = streams[0 ].max_framerate ;
663
-
664
632
ConfigureEncoder (std::move (video_encoder_config));
665
633
}
666
634
@@ -693,13 +661,14 @@ class VideoStreamEncoderTest : public ::testing::Test {
693
661
video_send_config_.encoder_settings .allocation_cb_type = allocation_cb_type;
694
662
695
663
VideoEncoderConfig video_encoder_config;
696
- video_encoder_config.codec_type = PayloadStringToCodecType (payload_name);
697
- video_encoder_config.number_of_streams = num_streams;
664
+ test::FillEncoderConfiguration (PayloadStringToCodecType (payload_name),
665
+ num_streams, &video_encoder_config);
666
+ for (auto & layer : video_encoder_config.simulcast_layers ) {
667
+ layer.num_temporal_layers = num_temporal_layers;
668
+ layer.max_framerate = kDefaultFramerate ;
669
+ }
698
670
video_encoder_config.max_bitrate_bps =
699
671
num_streams == 1 ? kTargetBitrateBps : kSimulcastTargetBitrateBps ;
700
- video_encoder_config.video_stream_factory =
701
- new rtc::RefCountedObject<VideoStreamFactory>(num_temporal_layers,
702
- kDefaultFramerate );
703
672
video_encoder_config.content_type =
704
673
screenshare ? VideoEncoderConfig::ContentType::kScreen
705
674
: VideoEncoderConfig::ContentType::kRealtimeVideo ;
@@ -4074,11 +4043,9 @@ TEST_F(VideoStreamEncoderTest, OveruseDetectorUpdatedOnReconfigureAndAdaption) {
4074
4043
4075
4044
// Trigger reconfigure encoder (without resetting the entire instance).
4076
4045
VideoEncoderConfig video_encoder_config;
4077
- video_encoder_config.codec_type = kVideoCodecVP8 ;
4046
+ test::FillEncoderConfiguration (kVideoCodecVP8 , 1 , &video_encoder_config);
4047
+ video_encoder_config.simulcast_layers [0 ].max_framerate = kFramerate ;
4078
4048
video_encoder_config.max_bitrate_bps = kTargetBitrateBps ;
4079
- video_encoder_config.number_of_streams = 1 ;
4080
- video_encoder_config.video_stream_factory =
4081
- new rtc::RefCountedObject<VideoStreamFactory>(1 , kFramerate );
4082
4049
video_stream_encoder_->ConfigureEncoder (std::move (video_encoder_config),
4083
4050
kMaxPayloadLength );
4084
4051
video_stream_encoder_->WaitUntilTaskQueueIsIdle ();
@@ -4129,13 +4096,11 @@ TEST_F(VideoStreamEncoderTest,
4129
4096
4130
4097
// Trigger initial configuration.
4131
4098
VideoEncoderConfig video_encoder_config;
4132
- video_encoder_config.codec_type = kVideoCodecVP8 ;
4099
+ test::FillEncoderConfiguration (kVideoCodecVP8 , 1 , &video_encoder_config);
4100
+ video_encoder_config.simulcast_layers [0 ].max_framerate = kLowFramerate ;
4133
4101
video_encoder_config.max_bitrate_bps = kTargetBitrateBps ;
4134
- video_encoder_config.number_of_streams = 1 ;
4135
- video_encoder_config.video_stream_factory =
4136
- new rtc::RefCountedObject<VideoStreamFactory>(1 , kLowFramerate );
4137
4102
source.IncomingCapturedFrame (CreateFrame (1 , kFrameWidth , kFrameHeight ));
4138
- video_stream_encoder_->ConfigureEncoder (std::move ( video_encoder_config),
4103
+ video_stream_encoder_->ConfigureEncoder (video_encoder_config. Copy ( ),
4139
4104
kMaxPayloadLength );
4140
4105
video_stream_encoder_->WaitUntilTaskQueueIsIdle ();
4141
4106
@@ -4155,8 +4120,7 @@ TEST_F(VideoStreamEncoderTest,
4155
4120
4156
4121
// Reconfigure the encoder with a new (higher max framerate), max fps should
4157
4122
// still respect the adaptation.
4158
- video_encoder_config.video_stream_factory =
4159
- new rtc::RefCountedObject<VideoStreamFactory>(1 , kHighFramerate );
4123
+ video_encoder_config.simulcast_layers [0 ].max_framerate = kHighFramerate ;
4160
4124
source.IncomingCapturedFrame (CreateFrame (1 , kFrameWidth , kFrameHeight ));
4161
4125
video_stream_encoder_->ConfigureEncoder (std::move (video_encoder_config),
4162
4126
kMaxPayloadLength );
@@ -4195,11 +4159,9 @@ TEST_F(VideoStreamEncoderTest,
4195
4159
4196
4160
// Trigger initial configuration.
4197
4161
VideoEncoderConfig video_encoder_config;
4198
- video_encoder_config.codec_type = kVideoCodecVP8 ;
4162
+ test::FillEncoderConfiguration (kVideoCodecVP8 , 1 , &video_encoder_config);
4163
+ video_encoder_config.simulcast_layers [0 ].max_framerate = kFramerate ;
4199
4164
video_encoder_config.max_bitrate_bps = kTargetBitrateBps ;
4200
- video_encoder_config.number_of_streams = 1 ;
4201
- video_encoder_config.video_stream_factory =
4202
- new rtc::RefCountedObject<VideoStreamFactory>(1 , kFramerate );
4203
4165
source.IncomingCapturedFrame (CreateFrame (1 , kFrameWidth , kFrameHeight ));
4204
4166
video_stream_encoder_->ConfigureEncoder (std::move (video_encoder_config),
4205
4167
kMaxPayloadLength );
0 commit comments