diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc index 42d13a02da..e3776aac92 100644 --- a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc +++ b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc @@ -652,10 +652,15 @@ int LibvpxVp8Encoder::InitEncode(const VideoCodec* inst, vpx_configs_[0].rc_target_bitrate = stream_bitrates[stream_idx_cfg_0]; if (stream_bitrates[stream_idx_cfg_0] > 0) { + uint32_t maxFramerate = + inst->simulcastStream[stream_idx_cfg_0].maxFramerate; + if (!maxFramerate) { + maxFramerate = inst->maxFramerate; + } + frame_buffer_controller_->OnRatesUpdated( stream_idx_cfg_0, - allocation.GetTemporalLayerAllocation(stream_idx_cfg_0), - inst->maxFramerate); + allocation.GetTemporalLayerAllocation(stream_idx_cfg_0), maxFramerate); } frame_buffer_controller_->SetQpLimits(stream_idx_cfg_0, vpx_configs_[0].rc_min_quantizer, @@ -685,9 +690,13 @@ int LibvpxVp8Encoder::InitEncode(const VideoCodec* inst, SetStreamState(stream_bitrates[stream_idx] > 0, stream_idx); vpx_configs_[i].rc_target_bitrate = stream_bitrates[stream_idx]; if (stream_bitrates[stream_idx] > 0) { + uint32_t maxFramerate = inst->simulcastStream[stream_idx].maxFramerate; + if (!maxFramerate) { + maxFramerate = inst->maxFramerate; + } frame_buffer_controller_->OnRatesUpdated( stream_idx, allocation.GetTemporalLayerAllocation(stream_idx), - inst->maxFramerate); + maxFramerate); } frame_buffer_controller_->SetQpLimits(stream_idx, vpx_configs_[i].rc_min_quantizer,