diff --git a/api/video_codecs/BUILD.gn b/api/video_codecs/BUILD.gn index d9dd5aea2b..94c9cc8b87 100644 --- a/api/video_codecs/BUILD.gn +++ b/api/video_codecs/BUILD.gn @@ -31,7 +31,10 @@ rtc_source_set("scalability_mode_helper") { "scalability_mode_helper.cc", "scalability_mode_helper.h", ] - deps = [ "../../modules/video_coding/svc:scalability_mode_util" ] + deps = [ + ":scalability_mode", + "../../modules/video_coding/svc:scalability_mode_util", + ] absl_deps = [ "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", diff --git a/api/video_codecs/scalability_mode_helper.cc b/api/video_codecs/scalability_mode_helper.cc index b4571632d9..09ede9c87d 100644 --- a/api/video_codecs/scalability_mode_helper.cc +++ b/api/video_codecs/scalability_mode_helper.cc @@ -34,4 +34,9 @@ absl::optional ScalabilityModeStringToNumTemporalLayers( return ScalabilityModeToNumTemporalLayers(*scalability_mode); } +absl::optional ScalabilityModeStringToEnum( + absl::string_view scalability_mode_string) { + return ScalabilityModeFromString(scalability_mode_string); +} + } // namespace webrtc diff --git a/api/video_codecs/scalability_mode_helper.h b/api/video_codecs/scalability_mode_helper.h index a8b060d079..21dcfc2f30 100644 --- a/api/video_codecs/scalability_mode_helper.h +++ b/api/video_codecs/scalability_mode_helper.h @@ -13,6 +13,7 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" +#include "api/video_codecs/scalability_mode.h" namespace webrtc { @@ -26,6 +27,11 @@ absl::optional ScalabilityModeStringToNumSpatialLayers( absl::optional ScalabilityModeStringToNumTemporalLayers( absl::string_view scalability_mode_string); +// Convert the `scalability_mode_string` to the scalability mode enum value +// or nullopt if the given mode is unknown. +absl::optional ScalabilityModeStringToEnum( + absl::string_view scalability_mode_string); + } // namespace webrtc #endif // API_VIDEO_CODECS_SCALABILITY_MODE_HELPER_H_