Allow to set av1 scalability mode after encoder is constructed
Bug: webrtc:11404
Change-Id: I70b4115c8afdc4f32fd876d31d54b7d95d0a7e1b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188582
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32437}
diff --git a/api/video_codecs/video_codec.h b/api/video_codecs/video_codec.h
index 48e72ed..e1a8d06 100644
--- a/api/video_codecs/video_codec.h
+++ b/api/video_codecs/video_codec.h
@@ -16,6 +16,7 @@
#include <string>
+#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/video/video_bitrate_allocation.h"
#include "api/video/video_codec_type.h"
@@ -101,6 +102,14 @@
public:
VideoCodec();
+ // Scalability mode as described in
+ // https://www.w3.org/TR/webrtc-svc/#scalabilitymodes*
+ // or value 'NONE' to indicate no scalability.
+ absl::string_view ScalabilityMode() const { return scalability_mode_; }
+ void SetScalabilityMode(absl::string_view scalability_mode) {
+ scalability_mode_ = std::string(scalability_mode);
+ }
+
// Public variables. TODO(hta): Make them private with accessors.
VideoCodecType codecType;
@@ -166,6 +175,7 @@
// TODO(hta): Consider replacing the union with a pointer type.
// This will allow removing the VideoCodec* types from this file.
VideoCodecUnion codec_specific_;
+ std::string scalability_mode_;
};
} // namespace webrtc