Populate ScalabilityMode of subcodecs in SimulcastEncoderAdapter.
Bug: webrtc:14511 Change-Id: I2c20ececa7c1e20c7c1e7be4ce7196edf702c833 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277623 Auto-Submit: Erik Språng <sprang@webrtc.org> Reviewed-by: Florent Castelli <orphis@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38265}
This commit is contained in:
parent
b420259324
commit
fcc3d9aea4
@ -771,6 +771,7 @@ webrtc::VideoCodec SimulcastEncoderAdapter::MakeStreamCodec(
|
|||||||
codec_params.maxFramerate = stream_params.maxFramerate;
|
codec_params.maxFramerate = stream_params.maxFramerate;
|
||||||
codec_params.qpMax = stream_params.qpMax;
|
codec_params.qpMax = stream_params.qpMax;
|
||||||
codec_params.active = stream_params.active;
|
codec_params.active = stream_params.active;
|
||||||
|
codec_params.SetScalabilityMode(stream_params.GetScalabilityMode());
|
||||||
// Settings that are based on stream/resolution.
|
// Settings that are based on stream/resolution.
|
||||||
if (is_lowest_quality_stream) {
|
if (is_lowest_quality_stream) {
|
||||||
// Settings for lowest spatial resolutions.
|
// Settings for lowest spatial resolutions.
|
||||||
|
|||||||
@ -1777,5 +1777,24 @@ TEST_F(TestSimulcastEncoderAdapterFake,
|
|||||||
adapter_->InitEncode(&codec_, kSettings));
|
adapter_->InitEncode(&codec_, kSettings));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(TestSimulcastEncoderAdapterFake, PopulatesScalabilityModeOfSubcodecs) {
|
||||||
|
SimulcastTestFixtureImpl::DefaultSettings(
|
||||||
|
&codec_, static_cast<const int*>(kTestTemporalLayerProfile),
|
||||||
|
kVideoCodecVP8);
|
||||||
|
codec_.numberOfSimulcastStreams = 3;
|
||||||
|
codec_.simulcastStream[0].numberOfTemporalLayers = 1;
|
||||||
|
codec_.simulcastStream[1].numberOfTemporalLayers = 2;
|
||||||
|
codec_.simulcastStream[2].numberOfTemporalLayers = 3;
|
||||||
|
|
||||||
|
EXPECT_EQ(0, adapter_->InitEncode(&codec_, kSettings));
|
||||||
|
ASSERT_EQ(3u, helper_->factory()->encoders().size());
|
||||||
|
EXPECT_EQ(helper_->factory()->encoders()[0]->codec().GetScalabilityMode(),
|
||||||
|
ScalabilityMode::kL1T1);
|
||||||
|
EXPECT_EQ(helper_->factory()->encoders()[1]->codec().GetScalabilityMode(),
|
||||||
|
ScalabilityMode::kL1T2);
|
||||||
|
EXPECT_EQ(helper_->factory()->encoders()[2]->codec().GetScalabilityMode(),
|
||||||
|
ScalabilityMode::kL1T3);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace test
|
} // namespace test
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user