diff --git a/video/frame_encode_metadata_writer.cc b/video/frame_encode_metadata_writer.cc index 51f09b09c4..9305779832 100644 --- a/video/frame_encode_metadata_writer.cc +++ b/video/frame_encode_metadata_writer.cc @@ -70,8 +70,13 @@ void FrameEncodeMetadataWriter::OnEncoderInit(const VideoCodec& codec) { codec_settings_.ScalabilityMode() != "") { std::unique_ptr structure = CreateScalabilityStructure(codec_settings_.ScalabilityMode()); - RTC_DCHECK(structure); - num_spatial_layers = structure->StreamConfig().num_spatial_layers; + if (structure) { + num_spatial_layers = structure->StreamConfig().num_spatial_layers; + } else { + // |structure| maybe nullptr if the scalability mode is invalid. + RTC_LOG(LS_WARNING) << "Cannot create ScalabilityStructure, since the " + "scalability mode is invalid"; + } } num_spatial_layers_ = std::max(num_spatial_layers, size_t{1}); }