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 =