diff --git a/test/encoder_settings.cc b/test/encoder_settings.cc index ff3b096ef6..f90931a83c 100644 --- a/test/encoder_settings.cc +++ b/test/encoder_settings.cc @@ -10,7 +10,6 @@ #include "test/encoder_settings.h" #include -#include #include "api/scoped_refptr.h" #include "api/video_codecs/sdp_video_format.h" @@ -54,62 +53,46 @@ std::vector CreateVideoStreams( stream_settings[i].height = (i + 1) * height / encoder_config.number_of_streams; stream_settings[i].max_framerate = 30; + stream_settings[i].max_qp = 56; stream_settings[i].min_bitrate_bps = DefaultVideoStreamFactory::kDefaultMinBitratePerStream[i]; - int target_bitrate_bps = -1; - int max_bitrate_bps = -1; - // Use configured values instead of default values if values has been - // configured. - if (i < encoder_config.simulcast_layers.size()) { - const VideoStream& stream = encoder_config.simulcast_layers[i]; + // Use configured values instead of default values if set. + const VideoStream stream = (i < encoder_config.simulcast_layers.size()) + ? encoder_config.simulcast_layers[i] + : VideoStream(); - max_bitrate_bps = - stream.max_bitrate_bps > 0 - ? stream.max_bitrate_bps - : DefaultVideoStreamFactory::kMaxBitratePerStream[i]; - max_bitrate_bps = std::min(bitrate_left_bps, max_bitrate_bps); + int max_bitrate_bps = + stream.max_bitrate_bps > 0 + ? stream.max_bitrate_bps + : DefaultVideoStreamFactory::kMaxBitratePerStream[i]; + max_bitrate_bps = std::min(bitrate_left_bps, max_bitrate_bps); - target_bitrate_bps = - stream.target_bitrate_bps > 0 - ? stream.target_bitrate_bps - : DefaultVideoStreamFactory::kMaxBitratePerStream[i]; - target_bitrate_bps = std::min(max_bitrate_bps, target_bitrate_bps); + int target_bitrate_bps = + stream.target_bitrate_bps > 0 + ? stream.target_bitrate_bps + : DefaultVideoStreamFactory::kMaxBitratePerStream[i]; + target_bitrate_bps = std::min(max_bitrate_bps, target_bitrate_bps); - if (stream.min_bitrate_bps > 0) { - RTC_DCHECK_LE(stream.min_bitrate_bps, target_bitrate_bps); - stream_settings[i].min_bitrate_bps = stream.min_bitrate_bps; - } - if (stream.max_framerate > 0) { - stream_settings[i].max_framerate = stream.max_framerate; - } - if (stream.num_temporal_layers) { - RTC_DCHECK_GE(*stream.num_temporal_layers, 1); - stream_settings[i].num_temporal_layers = stream.num_temporal_layers; - } - if (stream.scale_resolution_down_by >= 1.0) { - stream_settings[i].width = width / stream.scale_resolution_down_by; - stream_settings[i].height = height / stream.scale_resolution_down_by; - } - } else { - max_bitrate_bps = std::min( - bitrate_left_bps, DefaultVideoStreamFactory::kMaxBitratePerStream[i]); - target_bitrate_bps = max_bitrate_bps; + if (stream.min_bitrate_bps > 0) { + RTC_DCHECK_LE(stream.min_bitrate_bps, target_bitrate_bps); + stream_settings[i].min_bitrate_bps = stream.min_bitrate_bps; + } + if (stream.max_framerate > 0) { + stream_settings[i].max_framerate = stream.max_framerate; + } + if (stream.num_temporal_layers) { + RTC_DCHECK_GE(*stream.num_temporal_layers, 1); + stream_settings[i].num_temporal_layers = stream.num_temporal_layers; + } + if (stream.scale_resolution_down_by >= 1.0) { + stream_settings[i].width = width / stream.scale_resolution_down_by; + stream_settings[i].height = height / stream.scale_resolution_down_by; } - - RTC_DCHECK_NE(target_bitrate_bps, -1); - RTC_DCHECK_NE(max_bitrate_bps, -1); stream_settings[i].target_bitrate_bps = target_bitrate_bps; stream_settings[i].max_bitrate_bps = max_bitrate_bps; - stream_settings[i].max_qp = 56; + stream_settings[i].active = stream.active; - if (i < encoder_config.simulcast_layers.size()) { - // Higher level controls are setting the active configuration for the - // VideoStream. - stream_settings[i].active = encoder_config.simulcast_layers[i].active; - } else { - stream_settings[i].active = true; - } bitrate_left_bps -= stream_settings[i].target_bitrate_bps; } diff --git a/video/video_stream_encoder_unittest.cc b/video/video_stream_encoder_unittest.cc index 2161b4fd37..1e7dabb8bf 100644 --- a/video/video_stream_encoder_unittest.cc +++ b/video/video_stream_encoder_unittest.cc @@ -428,11 +428,7 @@ class VideoStreamEncoderUnderTest : public VideoStreamEncoder { class CroppingVideoStreamFactory : public VideoEncoderConfig::VideoStreamFactoryInterface { public: - explicit CroppingVideoStreamFactory(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); - } + CroppingVideoStreamFactory() {} private: std::vector CreateEncoderStreams( @@ -441,15 +437,8 @@ class CroppingVideoStreamFactory const VideoEncoderConfig& encoder_config) override { std::vector streams = test::CreateVideoStreams( width - width % 4, height - height % 4, 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_; }; class AdaptingFrameForwarder : public test::FrameForwarder { @@ -1549,7 +1538,7 @@ TEST_F(VideoStreamEncoderTest, DropFrameWithFailedI420Conversion) { TEST_F(VideoStreamEncoderTest, DropFrameWithFailedI420ConversionWithCrop) { // Use the cropping factory. video_encoder_config_.video_stream_factory = - new rtc::RefCountedObject(1, 30); + new rtc::RefCountedObject(); video_stream_encoder_->ConfigureEncoder(std::move(video_encoder_config_), kMaxPayloadLength); video_stream_encoder_->WaitUntilTaskQueueIsIdle(); @@ -5385,11 +5374,11 @@ TEST_F(VideoStreamEncoderTest, AcceptsFullHdAdaptedDownSimulcastFrames) { DataRate::BitsPerSec(kTargetBitrateBps), 0, 0, 0); // 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); + new rtc::RefCountedObject(); video_stream_encoder_->ConfigureEncoder(std::move(video_encoder_config), kMaxPayloadLength); video_stream_encoder_->WaitUntilTaskQueueIsIdle();