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];
|
: DefaultVideoStreamFactory::kMaxBitratePerStream[i];
|
||||||
target_bitrate_bps = std::min(max_bitrate_bps, target_bitrate_bps);
|
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) {
|
if (stream.max_framerate > 0) {
|
||||||
stream_settings[i].max_framerate = stream.max_framerate;
|
stream_settings[i].max_framerate = stream.max_framerate;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
#include "modules/rtp_rtcp/source/rtp_format_vp9.h"
|
#include "modules/rtp_rtcp/source/rtp_format_vp9.h"
|
||||||
#include "modules/video_coding/codecs/vp8/include/vp8.h"
|
#include "modules/video_coding/codecs/vp8/include/vp8.h"
|
||||||
#include "modules/video_coding/codecs/vp9/include/vp9.h"
|
#include "modules/video_coding/codecs/vp9/include/vp9.h"
|
||||||
#include "rtc_base/bind.h"
|
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
#include "rtc_base/critical_section.h"
|
#include "rtc_base/critical_section.h"
|
||||||
#include "rtc_base/event.h"
|
#include "rtc_base/event.h"
|
||||||
@ -2891,26 +2890,6 @@ TEST_F(VideoSendStreamTest, ReconfigureBitratesSetsEncoderBitratesCorrectly) {
|
|||||||
bitrate_config->max_bitrate_bps = kMaxBitrateKbps * 1000;
|
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(
|
void ModifyVideoConfigs(
|
||||||
VideoSendStream::Config* send_config,
|
VideoSendStream::Config* send_config,
|
||||||
std::vector<VideoReceiveStream::Config>* receive_configs,
|
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
|
// Set bitrates lower/higher than min/max to make sure they are properly
|
||||||
// capped.
|
// capped.
|
||||||
encoder_config->max_bitrate_bps = kMaxBitrateKbps * 1000;
|
encoder_config->max_bitrate_bps = kMaxBitrateKbps * 1000;
|
||||||
// Create a new StreamFactory to be able to set
|
EXPECT_EQ(1u, encoder_config->simulcast_layers.size());
|
||||||
// |VideoStream.min_bitrate_bps|.
|
encoder_config->simulcast_layers[0].min_bitrate_bps =
|
||||||
encoder_config->video_stream_factory =
|
kMinBitrateKbps * 1000;
|
||||||
new rtc::RefCountedObject<VideoStreamFactory>(kMinBitrateKbps * 1000);
|
|
||||||
encoder_config_ = encoder_config->Copy();
|
encoder_config_ = encoder_config->Copy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user