From 9f6a0d5d21390305c97d8110d6ee3b298c7e588f Mon Sep 17 00:00:00 2001 From: Ilya Nikolaevskiy Date: Tue, 5 Feb 2019 10:29:41 +0100 Subject: [PATCH] In VideoEngine also respect requested TL number even for screenshare MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: chromium:927208 Change-Id: Ic20b2da246dac9185375cc42a6a2505aaff95ac6 Reviewed-on: https://webrtc-review.googlesource.com/c/121403 Reviewed-by: Åsa Persson Reviewed-by: Karl Wiberg Commit-Queue: Ilya Nikolaevskiy Cr-Commit-Position: refs/heads/master@{#26546} --- api/rtp_parameters.h | 2 +- media/engine/webrtc_video_engine.cc | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/api/rtp_parameters.h b/api/rtp_parameters.h index a2c566a8ba..25a21c1582 100644 --- a/api/rtp_parameters.h +++ b/api/rtp_parameters.h @@ -461,7 +461,7 @@ struct RtpEncodingParameters { // 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 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 503e46541d..32abc33171 100644 --- a/media/engine/webrtc_video_engine.cc +++ b/media/engine/webrtc_video_engine.cc @@ -2719,12 +2719,12 @@ std::vector EncoderStreamFactory::CreateEncoderStreams( 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 @@ std::vector EncoderStreamFactory::CreateEncoderStreams( 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 =