In VideoEngine also respect requested TL number even for screenshare
Bug: chromium:927208
Change-Id: Ic20b2da246dac9185375cc42a6a2505aaff95ac6
Reviewed-on: https://webrtc-review.googlesource.com/c/121403
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26546}
diff --git a/api/rtp_parameters.h b/api/rtp_parameters.h
index a2c566a..25a21c1 100644
--- a/api/rtp_parameters.h
+++ b/api/rtp_parameters.h
@@ -461,7 +461,7 @@
// supported by the codec implementation).
// TODO(asapersson): Different number of temporal layers are not supported
// per simulcast layer.
- // Not supported for screencast.
+ // Screencast support is experimental.
absl::optional<int> num_temporal_layers;
// For video, scale the resolution down by this factor.
diff --git a/media/engine/webrtc_video_engine.cc b/media/engine/webrtc_video_engine.cc
index 503e465..32abc33 100644
--- a/media/engine/webrtc_video_engine.cc
+++ b/media/engine/webrtc_video_engine.cc
@@ -2719,12 +2719,12 @@
if (!is_screenshare_) {
// Update simulcast framerates with max configured max framerate.
layers[i].max_framerate = max_framerate;
- // Update with configured num temporal layers if supported by codec.
- if (encoder_config.simulcast_layers[i].num_temporal_layers &&
- IsTemporalLayersSupported(codec_name_)) {
- layers[i].num_temporal_layers =
- *encoder_config.simulcast_layers[i].num_temporal_layers;
- }
+ }
+ // Update with configured num temporal layers if supported by codec.
+ if (encoder_config.simulcast_layers[i].num_temporal_layers &&
+ IsTemporalLayersSupported(codec_name_)) {
+ layers[i].num_temporal_layers =
+ *encoder_config.simulcast_layers[i].num_temporal_layers;
}
if (has_scale_resolution_down_by) {
double scale_resolution_down_by = std::max(
@@ -2841,7 +2841,7 @@
layer.num_temporal_layers = vp9_settings.numberOfTemporalLayers;
}
- if (!is_screenshare_ && IsTemporalLayersSupported(codec_name_)) {
+ if (IsTemporalLayersSupported(codec_name_)) {
// Use configured number of temporal layers if set.
if (encoder_config.simulcast_layers[0].num_temporal_layers) {
layer.num_temporal_layers =