Add frame rate parameter to SpatialLayer struct.

This will allow us to configure VP9 encoder to produce spatial layers
with different frame rates.

Bug: webrtc:9650
Change-Id: I3a9c58072003b8a8da681d5291d8f7ede7f52fa4
Reviewed-on: https://webrtc-review.googlesource.com/95427
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24435}
diff --git a/modules/video_coding/video_codec_initializer.cc b/modules/video_coding/video_codec_initializer.cc
index fe59afc..e7125ce 100644
--- a/modules/video_coding/video_codec_initializer.cc
+++ b/modules/video_coding/video_codec_initializer.cc
@@ -126,6 +126,7 @@
 
     sim_stream->width = static_cast<uint16_t>(streams[i].width);
     sim_stream->height = static_cast<uint16_t>(streams[i].height);
+    sim_stream->maxFramerate = streams[i].max_framerate;
     sim_stream->minBitrate = streams[i].min_bitrate_bps / 1000;
     sim_stream->targetBitrate = streams[i].target_bitrate_bps / 1000;
     sim_stream->maxBitrate = streams[i].max_bitrate_bps / 1000;
@@ -198,11 +199,11 @@
         // Layering is set explicitly.
         spatial_layers = config.spatial_layers;
       } else {
-        spatial_layers =
-            GetSvcConfig(video_codec.width, video_codec.height,
-                         video_codec.VP9()->numberOfSpatialLayers,
-                         video_codec.VP9()->numberOfTemporalLayers,
-                         video_codec.mode == VideoCodecMode::kScreensharing);
+        spatial_layers = GetSvcConfig(
+            video_codec.width, video_codec.height, video_codec.maxFramerate,
+            video_codec.VP9()->numberOfSpatialLayers,
+            video_codec.VP9()->numberOfTemporalLayers,
+            video_codec.mode == VideoCodecMode::kScreensharing);
 
         const bool no_spatial_layering = (spatial_layers.size() == 1);
         if (no_spatial_layering) {