diff --git a/video/video_stream_encoder_unittest.cc b/video/video_stream_encoder_unittest.cc index 5b144b18a3..0fe48690f3 100644 --- a/video/video_stream_encoder_unittest.cc +++ b/video/video_stream_encoder_unittest.cc @@ -417,33 +417,6 @@ class VideoStreamEncoderUnderTest : public VideoStreamEncoder { FakeAdaptationConstraint fake_adaptation_constraint_; }; -class VideoStreamFactory - : public VideoEncoderConfig::VideoStreamFactoryInterface { - public: - explicit VideoStreamFactory(size_t num_temporal_layers, int framerate) - : num_temporal_layers_(num_temporal_layers), framerate_(framerate) { - EXPECT_GT(num_temporal_layers, 0u); - EXPECT_GT(framerate, 0); - } - - private: - std::vector CreateEncoderStreams( - int width, - int height, - const VideoEncoderConfig& encoder_config) override { - std::vector streams = - test::CreateVideoStreams(width, height, encoder_config); - for (VideoStream& stream : streams) { - stream.num_temporal_layers = num_temporal_layers_; - stream.max_framerate = framerate_; - } - return streams; - } - - const size_t num_temporal_layers_; - const int framerate_; -}; - // Simulates simulcast behavior and makes highest stream resolutions divisible // by 4. class CroppingVideoStreamFactory @@ -651,16 +624,11 @@ class VideoStreamEncoderTest : public ::testing::Test { VideoEncoderConfig video_encoder_config; test::FillEncoderConfiguration(kVideoCodecVP8, 1, &video_encoder_config); - video_encoder_config.video_stream_factory = - new rtc::RefCountedObject(1, max_framerate_); + EXPECT_EQ(1u, video_encoder_config.simulcast_layers.size()); + video_encoder_config.simulcast_layers[0].num_temporal_layers = 1; + video_encoder_config.simulcast_layers[0].max_framerate = max_framerate_; video_encoder_config_ = video_encoder_config.Copy(); - // Framerate limit is specified by the VideoStreamFactory. - std::vector streams = - video_encoder_config.video_stream_factory->CreateEncoderStreams( - codec_width_, codec_height_, video_encoder_config); - max_framerate_ = streams[0].max_framerate; - ConfigureEncoder(std::move(video_encoder_config)); } @@ -693,13 +661,14 @@ class VideoStreamEncoderTest : public ::testing::Test { video_send_config_.encoder_settings.allocation_cb_type = allocation_cb_type; VideoEncoderConfig video_encoder_config; - video_encoder_config.codec_type = PayloadStringToCodecType(payload_name); - video_encoder_config.number_of_streams = num_streams; + test::FillEncoderConfiguration(PayloadStringToCodecType(payload_name), + num_streams, &video_encoder_config); + for (auto& layer : video_encoder_config.simulcast_layers) { + layer.num_temporal_layers = num_temporal_layers; + layer.max_framerate = kDefaultFramerate; + } video_encoder_config.max_bitrate_bps = num_streams == 1 ? kTargetBitrateBps : kSimulcastTargetBitrateBps; - video_encoder_config.video_stream_factory = - new rtc::RefCountedObject(num_temporal_layers, - kDefaultFramerate); video_encoder_config.content_type = screenshare ? VideoEncoderConfig::ContentType::kScreen : VideoEncoderConfig::ContentType::kRealtimeVideo; @@ -4074,11 +4043,9 @@ TEST_F(VideoStreamEncoderTest, OveruseDetectorUpdatedOnReconfigureAndAdaption) { // Trigger reconfigure encoder (without resetting the entire instance). VideoEncoderConfig video_encoder_config; - video_encoder_config.codec_type = kVideoCodecVP8; + test::FillEncoderConfiguration(kVideoCodecVP8, 1, &video_encoder_config); + video_encoder_config.simulcast_layers[0].max_framerate = kFramerate; video_encoder_config.max_bitrate_bps = kTargetBitrateBps; - video_encoder_config.number_of_streams = 1; - video_encoder_config.video_stream_factory = - new rtc::RefCountedObject(1, kFramerate); video_stream_encoder_->ConfigureEncoder(std::move(video_encoder_config), kMaxPayloadLength); video_stream_encoder_->WaitUntilTaskQueueIsIdle(); @@ -4129,13 +4096,11 @@ TEST_F(VideoStreamEncoderTest, // Trigger initial configuration. VideoEncoderConfig video_encoder_config; - video_encoder_config.codec_type = kVideoCodecVP8; + test::FillEncoderConfiguration(kVideoCodecVP8, 1, &video_encoder_config); + video_encoder_config.simulcast_layers[0].max_framerate = kLowFramerate; video_encoder_config.max_bitrate_bps = kTargetBitrateBps; - video_encoder_config.number_of_streams = 1; - video_encoder_config.video_stream_factory = - new rtc::RefCountedObject(1, kLowFramerate); source.IncomingCapturedFrame(CreateFrame(1, kFrameWidth, kFrameHeight)); - video_stream_encoder_->ConfigureEncoder(std::move(video_encoder_config), + video_stream_encoder_->ConfigureEncoder(video_encoder_config.Copy(), kMaxPayloadLength); video_stream_encoder_->WaitUntilTaskQueueIsIdle(); @@ -4155,8 +4120,7 @@ TEST_F(VideoStreamEncoderTest, // Reconfigure the encoder with a new (higher max framerate), max fps should // still respect the adaptation. - video_encoder_config.video_stream_factory = - new rtc::RefCountedObject(1, kHighFramerate); + video_encoder_config.simulcast_layers[0].max_framerate = kHighFramerate; source.IncomingCapturedFrame(CreateFrame(1, kFrameWidth, kFrameHeight)); video_stream_encoder_->ConfigureEncoder(std::move(video_encoder_config), kMaxPayloadLength); @@ -4195,11 +4159,9 @@ TEST_F(VideoStreamEncoderTest, // Trigger initial configuration. VideoEncoderConfig video_encoder_config; - video_encoder_config.codec_type = kVideoCodecVP8; + test::FillEncoderConfiguration(kVideoCodecVP8, 1, &video_encoder_config); + video_encoder_config.simulcast_layers[0].max_framerate = kFramerate; video_encoder_config.max_bitrate_bps = kTargetBitrateBps; - video_encoder_config.number_of_streams = 1; - video_encoder_config.video_stream_factory = - new rtc::RefCountedObject(1, kFramerate); source.IncomingCapturedFrame(CreateFrame(1, kFrameWidth, kFrameHeight)); video_stream_encoder_->ConfigureEncoder(std::move(video_encoder_config), kMaxPayloadLength);