Use EncoderStreamFactory::CreateEncoderStreams() instead of GetSimulcastConfig()
In preparation for upcoming changes in GetSimulcastConfig(), which will require a vector of stream resolutions instead of just the max resolution as an input, switch tests to use CreateEncoderStreams() instead of calling GetSimulcastConfig() directly. Bug: webrtc:351644568, b/352504711 Change-Id: I541dd54a21a8b75028cff07a250f858a47898223 No-Try: true Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/357400 Commit-Queue: Sergey Silkin <ssilkin@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/main@{#42648}
This commit is contained in:
parent
83671efdb9
commit
4dedf5efae
@ -81,6 +81,7 @@
|
||||
#include "test/rtcp_packet_parser.h"
|
||||
#include "test/scoped_key_value_config.h"
|
||||
#include "test/time_controller/simulated_time_controller.h"
|
||||
#include "video/config/encoder_stream_factory.h"
|
||||
#include "video/config/simulcast.h"
|
||||
|
||||
using ::testing::_;
|
||||
@ -9384,10 +9385,12 @@ class WebRtcVideoChannelSimulcastTest : public ::testing::Test {
|
||||
|
||||
std::vector<webrtc::VideoStream> expected_streams;
|
||||
if (num_configured_streams > 1 || conference_mode) {
|
||||
expected_streams = GetSimulcastConfig(
|
||||
/*min_layers=*/1, num_configured_streams, capture_width,
|
||||
capture_height, screenshare && conference_mode, true, field_trials_,
|
||||
webrtc::kVideoCodecVP8);
|
||||
const webrtc::VideoEncoderConfig& encoder_config =
|
||||
stream->GetEncoderConfig();
|
||||
webrtc::VideoEncoder::EncoderInfo encoder_info;
|
||||
auto factory = rtc::make_ref_counted<EncoderStreamFactory>(encoder_info);
|
||||
expected_streams = factory->CreateEncoderStreams(
|
||||
field_trials_, capture_width, capture_height, encoder_config);
|
||||
if (screenshare && conference_mode) {
|
||||
for (const webrtc::VideoStream& stream : expected_streams) {
|
||||
// Never scale screen content.
|
||||
|
||||
@ -62,7 +62,7 @@
|
||||
#include "test/testsupport/file_utils.h"
|
||||
#include "test/testsupport/frame_writer.h"
|
||||
#include "test/video_codec_settings.h"
|
||||
#include "video/config/simulcast.h"
|
||||
#include "video/config/encoder_stream_factory.h"
|
||||
#include "video/config/video_encoder_config.h"
|
||||
|
||||
namespace webrtc {
|
||||
@ -77,10 +77,16 @@ const int kMaxQp = 56;
|
||||
|
||||
void ConfigureSimulcast(VideoCodec* codec_settings) {
|
||||
FieldTrialBasedConfig trials;
|
||||
const std::vector<webrtc::VideoStream> streams = cricket::GetSimulcastConfig(
|
||||
/*min_layer=*/1, codec_settings->numberOfSimulcastStreams,
|
||||
codec_settings->width, codec_settings->height,
|
||||
/* is_screenshare = */ false, true, trials, webrtc::kVideoCodecVP8);
|
||||
VideoEncoderConfig encoder_config;
|
||||
encoder_config.codec_type = codec_settings->codecType;
|
||||
encoder_config.number_of_streams = codec_settings->numberOfSimulcastStreams;
|
||||
encoder_config.simulcast_layers.resize(
|
||||
codec_settings->numberOfSimulcastStreams);
|
||||
VideoEncoder::EncoderInfo encoder_info;
|
||||
auto stream_factory =
|
||||
rtc::make_ref_counted<cricket::EncoderStreamFactory>(encoder_info);
|
||||
const std::vector<VideoStream> streams = stream_factory->CreateEncoderStreams(
|
||||
trials, codec_settings->width, codec_settings->height, encoder_config);
|
||||
|
||||
for (size_t i = 0; i < streams.size(); ++i) {
|
||||
SimulcastStream* ss = &codec_settings->simulcastStream[i];
|
||||
|
||||
@ -54,7 +54,7 @@
|
||||
#include "test/testsupport/frame_reader.h"
|
||||
#include "test/testsupport/video_frame_writer.h"
|
||||
#include "third_party/libyuv/include/libyuv/compare.h"
|
||||
#include "video/config/simulcast.h"
|
||||
#include "video/config/encoder_stream_factory.h"
|
||||
|
||||
namespace webrtc {
|
||||
namespace test {
|
||||
@ -1294,11 +1294,15 @@ void ConfigureSimulcast(VideoCodec* vc) {
|
||||
}
|
||||
|
||||
ExplicitKeyValueConfig field_trials(field_trial::GetFieldTrialString());
|
||||
const std::vector<webrtc::VideoStream> streams = cricket::GetSimulcastConfig(
|
||||
/*min_layer=*/1, num_spatial_layers, vc->width, vc->height,
|
||||
/*is_screenshare=*/false, /*temporal_layers_supported=*/true,
|
||||
field_trials, webrtc::kVideoCodecVP8);
|
||||
|
||||
VideoEncoderConfig encoder_config;
|
||||
encoder_config.codec_type = vc->codecType;
|
||||
encoder_config.number_of_streams = num_spatial_layers;
|
||||
encoder_config.simulcast_layers.resize(num_spatial_layers);
|
||||
VideoEncoder::EncoderInfo encoder_info;
|
||||
auto stream_factory =
|
||||
rtc::make_ref_counted<cricket::EncoderStreamFactory>(encoder_info);
|
||||
const std::vector<VideoStream> streams = stream_factory->CreateEncoderStreams(
|
||||
field_trials, vc->width, vc->height, encoder_config);
|
||||
vc->numberOfSimulcastStreams = streams.size();
|
||||
RTC_CHECK_LE(vc->numberOfSimulcastStreams, num_spatial_layers);
|
||||
if (vc->numberOfSimulcastStreams < num_spatial_layers) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user