diff --git a/modules/video_coding/svc/simulcast_to_svc_converter.cc b/modules/video_coding/svc/simulcast_to_svc_converter.cc index f7575e7fbc..77d5b294b5 100644 --- a/modules/video_coding/svc/simulcast_to_svc_converter.cc +++ b/modules/video_coding/svc/simulcast_to_svc_converter.cc @@ -84,15 +84,17 @@ bool SimulcastToSvcConverter::ConvertFrame(EncodedImage& encoded_image, encoded_image.SetSimulcastIndex(sid); encoded_image.SetSpatialIndex(std::nullopt); codec_specific.end_of_picture = true; - int num_temporal_layers = - ScalabilityModeToNumTemporalLayers(*codec_specific.scalability_mode); - RTC_DCHECK_LE(num_temporal_layers, 3); - if (num_temporal_layers == 1) { - codec_specific.scalability_mode = ScalabilityMode::kL1T1; - } else if (num_temporal_layers == 2) { - codec_specific.scalability_mode = ScalabilityMode::kL1T2; - } else if (num_temporal_layers == 3) { - codec_specific.scalability_mode = ScalabilityMode::kL1T3; + if (codec_specific.scalability_mode) { + int num_temporal_layers = + ScalabilityModeToNumTemporalLayers(*codec_specific.scalability_mode); + RTC_DCHECK_LE(num_temporal_layers, 3); + if (num_temporal_layers == 1) { + codec_specific.scalability_mode = ScalabilityMode::kL1T1; + } else if (num_temporal_layers == 2) { + codec_specific.scalability_mode = ScalabilityMode::kL1T2; + } else if (num_temporal_layers == 3) { + codec_specific.scalability_mode = ScalabilityMode::kL1T3; + } } CodecSpecificInfoVP9& vp9_info = codec_specific.codecSpecific.VP9; vp9_info.num_spatial_layers = 1;