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:
@ -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;
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user