Use NONE if scalability mode is not specified

Bug: none
Change-Id: I8ffdb7fc41dec3c5b37483a6dcbb8fe7f03b59da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238984
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35418}
diff --git a/modules/video_coding/codecs/av1/av1_svc_config.cc b/modules/video_coding/codecs/av1/av1_svc_config.cc
index b15443c..2f1026b 100644
--- a/modules/video_coding/codecs/av1/av1_svc_config.cc
+++ b/modules/video_coding/codecs/av1/av1_svc_config.cc
@@ -24,17 +24,19 @@
 bool SetAv1SvcConfig(VideoCodec& video_codec) {
   RTC_DCHECK_EQ(video_codec.codecType, kVideoCodecAV1);
 
-  if (video_codec.ScalabilityMode().empty()) {
-    RTC_LOG(LS_INFO) << "No scalability mode set.";
-    return false;
+  absl::string_view scalability_mode = video_codec.ScalabilityMode();
+  if (scalability_mode.empty()) {
+    RTC_LOG(LS_WARNING) << "Scalability mode is not set, using 'NONE'.";
+    scalability_mode = "NONE";
   }
+
   std::unique_ptr<ScalableVideoController> structure =
-      CreateScalabilityStructure(video_codec.ScalabilityMode());
+      CreateScalabilityStructure(scalability_mode);
   if (structure == nullptr) {
-    RTC_LOG(LS_INFO) << "Failed to create structure "
-                     << video_codec.ScalabilityMode();
+    RTC_LOG(LS_WARNING) << "Failed to create structure " << scalability_mode;
     return false;
   }
+
   ScalableVideoController::StreamLayersConfig info = structure->StreamConfig();
   for (int sl_idx = 0; sl_idx < info.num_spatial_layers; ++sl_idx) {
     SpatialLayer& spatial_layer = video_codec.spatialLayers[sl_idx];
diff --git a/modules/video_coding/codecs/av1/av1_svc_config_unittest.cc b/modules/video_coding/codecs/av1/av1_svc_config_unittest.cc
index e603532..d8aec65 100644
--- a/modules/video_coding/codecs/av1/av1_svc_config_unittest.cc
+++ b/modules/video_coding/codecs/av1/av1_svc_config_unittest.cc
@@ -21,9 +21,6 @@
   VideoCodec video_codec;
   video_codec.codecType = kVideoCodecAV1;
 
-  video_codec.SetScalabilityMode("");
-  EXPECT_FALSE(SetAv1SvcConfig(video_codec));
-
   video_codec.SetScalabilityMode("Unknown");
   EXPECT_FALSE(SetAv1SvcConfig(video_codec));
 
@@ -31,6 +28,18 @@
   EXPECT_TRUE(SetAv1SvcConfig(video_codec));
 }
 
+TEST(Av1SvcConfigTest, TreatsEmptyAsNone) {
+  VideoCodec video_codec;
+  video_codec.codecType = kVideoCodecAV1;
+
+  video_codec.SetScalabilityMode("");
+  EXPECT_TRUE(SetAv1SvcConfig(video_codec));
+
+  EXPECT_TRUE(video_codec.spatialLayers[0].active);
+  EXPECT_EQ(video_codec.spatialLayers[0].numberOfTemporalLayers, 1);
+  EXPECT_FALSE(video_codec.spatialLayers[1].active);
+}
+
 TEST(Av1SvcConfigTest, SetsActiveSpatialLayersFromScalabilityMode) {
   VideoCodec video_codec;
   video_codec.codecType = kVideoCodecAV1;