Activate/deactivate VP9 spatial layers.
* Stop encoding spatial layers S(n >= N) if application deactivates
spatial layer N by setting RTCRtpEncodingParameters.active = false.
* Move calculation of padding bitrate to SvcRateAllocator class.
* Pad up to minimum required bitrate of base layer if ALR probing is
enabled.
Bug: webrtc:9350
Change-Id: I398284c943d43348def535c83263fc234c9767fa
Reviewed-on: https://webrtc-review.googlesource.com/c/113240
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25945}
diff --git a/modules/video_coding/video_codec_initializer.cc b/modules/video_coding/video_codec_initializer.cc
index cd3f1d7..311fb86 100644
--- a/modules/video_coding/video_codec_initializer.cc
+++ b/modules/video_coding/video_codec_initializer.cc
@@ -192,6 +192,14 @@
spatial_layers.back().minBitrate = video_codec.minBitrate;
spatial_layers.back().maxBitrate = video_codec.maxBitrate;
}
+
+ for (size_t spatial_idx = 0;
+ spatial_idx < config.simulcast_layers.size() &&
+ spatial_idx < spatial_layers.size();
+ ++spatial_idx) {
+ spatial_layers[spatial_layers.size() - spatial_idx - 1].active =
+ config.simulcast_layers[spatial_idx].active;
+ }
}
RTC_DCHECK(!spatial_layers.empty());