Allow temporal based switch if temporal layers are undefined.

Bug: webrtc:11324
Change-Id: Iee4717f453bb9883683d752832fbc7bf999a96c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193704
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32630}
This commit is contained in:
Jakob Ivarsson
2020-11-18 10:18:35 +01:00
committed by Commit Bot
parent 1bed90b80e
commit a9961b3839
2 changed files with 17 additions and 4 deletions

View File

@ -56,7 +56,7 @@ struct ForcedFallbackParams {
bool SupportsTemporalBasedSwitch(const VideoCodec& codec) const {
return enable_temporal_based_switch &&
SimulcastUtility::NumberOfTemporalLayers(codec, 0) > 1;
SimulcastUtility::NumberOfTemporalLayers(codec, 0) != 1;
}
bool enable_temporal_based_switch = false;
@ -462,7 +462,7 @@ bool VideoEncoderSoftwareFallbackWrapper::TryInitForcedFallbackEncoder() {
}
if (encoder_state_ == EncoderState::kMainEncoderUsed &&
encoder_->GetEncoderInfo().fps_allocation[0].size() > 1) {
encoder_->GetEncoderInfo().fps_allocation[0].size() != 1) {
// Primary encoder already supports temporal layers, use that instead.
return true;
}
@ -471,7 +471,7 @@ bool VideoEncoderSoftwareFallbackWrapper::TryInitForcedFallbackEncoder() {
if (fallback_encoder_->InitEncode(&codec_settings_,
encoder_settings_.value()) ==
WEBRTC_VIDEO_CODEC_OK) {
if (fallback_encoder_->GetEncoderInfo().fps_allocation[0].size() > 1) {
if (fallback_encoder_->GetEncoderInfo().fps_allocation[0].size() != 1) {
// Fallback encoder available and supports temporal layers, use it!
if (encoder_state_ == EncoderState::kMainEncoderUsed) {
// Main encoder initialized but does not support temporal layers,