Update test::CreateVideoStreams to use the configured min bitrate if set.

VideoSendStreamTest.ReconfigureBitratesSetsEncoderBitratesCorrectly:
Configure min_bitrate_bps via VideoEncoderConfig (and remove
implementations of VideoStreamFactoryInterface used to override
the default min_bitrate_bps configuration).

Bug: none
Change-Id: I488f78d8d145b24fd65dd29fdc979e543fcb0b7c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132798
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27711}
This commit is contained in:
Åsa Persson
2019-04-15 14:00:30 +02:00
committed by Commit Bot
parent d0aec913d6
commit 217405344a
2 changed files with 7 additions and 25 deletions

View File

@ -66,6 +66,10 @@ std::vector<VideoStream> CreateVideoStreams(
: 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;
}

View File

@ -27,7 +27,6 @@
#include "modules/rtp_rtcp/source/rtp_format_vp9.h"
#include "modules/video_coding/codecs/vp8/include/vp8.h"
#include "modules/video_coding/codecs/vp9/include/vp9.h"
#include "rtc_base/bind.h"
#include "rtc_base/checks.h"
#include "rtc_base/critical_section.h"
#include "rtc_base/event.h"
@ -2891,26 +2890,6 @@ TEST_F(VideoSendStreamTest, ReconfigureBitratesSetsEncoderBitratesCorrectly) {
bitrate_config->max_bitrate_bps = kMaxBitrateKbps * 1000;
}
class VideoStreamFactory
: public VideoEncoderConfig::VideoStreamFactoryInterface {
public:
explicit VideoStreamFactory(int min_bitrate_bps)
: min_bitrate_bps_(min_bitrate_bps) {}
private:
std::vector<VideoStream> CreateEncoderStreams(
int width,
int height,
const VideoEncoderConfig& encoder_config) override {
std::vector<VideoStream> streams =
test::CreateVideoStreams(width, height, encoder_config);
streams[0].min_bitrate_bps = min_bitrate_bps_;
return streams;
}
const int min_bitrate_bps_;
};
void ModifyVideoConfigs(
VideoSendStream::Config* send_config,
std::vector<VideoReceiveStream::Config>* receive_configs,
@ -2919,10 +2898,9 @@ TEST_F(VideoSendStreamTest, ReconfigureBitratesSetsEncoderBitratesCorrectly) {
// Set bitrates lower/higher than min/max to make sure they are properly
// capped.
encoder_config->max_bitrate_bps = kMaxBitrateKbps * 1000;
// Create a new StreamFactory to be able to set
// |VideoStream.min_bitrate_bps|.
encoder_config->video_stream_factory =
new rtc::RefCountedObject<VideoStreamFactory>(kMinBitrateKbps * 1000);
EXPECT_EQ(1u, encoder_config->simulcast_layers.size());
encoder_config->simulcast_layers[0].min_bitrate_bps =
kMinBitrateKbps * 1000;
encoder_config_ = encoder_config->Copy();
}