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}
This commit is contained in:
Danil Chapovalov
2020-10-16 17:45:41 +02:00
committed by Commit Bot
parent 0835ce5d6d
commit 9f4859e5e3
11 changed files with 39 additions and 20 deletions

View File

@ -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 @@ class RTC_EXPORT VideoCodec {
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 @@ class RTC_EXPORT VideoCodec {
// 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