Add Clone() to Vp8FrameBufferControllerFactory

Bug: None
Change-Id: Ie59c795361420695ca9cb363ec5b3035728306f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142227
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28297}
This commit is contained in:
Elad Alon 2019-06-17 14:36:27 +02:00 committed by Commit Bot
parent 1dee91aec9
commit d9c900f068
3 changed files with 13 additions and 0 deletions

View file

@ -176,6 +176,12 @@ class Vp8FrameBufferControllerFactory {
public:
virtual ~Vp8FrameBufferControllerFactory() = default;
// Clones oneself. (Avoids Vp8FrameBufferControllerFactoryFactory.)
// TODO(bugs.webrtc.org/10720): Update downstream and make pure-virtual.
virtual std::unique_ptr<Vp8FrameBufferControllerFactory> Clone() const {
return nullptr;
}
// TODO(bugs.webrtc.org/10720): Update downstream and remove.
virtual std::unique_ptr<Vp8FrameBufferController> Create(
const VideoCodec& codec) {

View file

@ -47,4 +47,9 @@ std::unique_ptr<Vp8FrameBufferController> Vp8TemporalLayersFactory::Create(
return absl::make_unique<Vp8TemporalLayers>(std::move(controllers));
}
std::unique_ptr<Vp8FrameBufferControllerFactory>
Vp8TemporalLayersFactory::Clone() const {
return absl::make_unique<Vp8TemporalLayersFactory>();
}
} // namespace webrtc

View file

@ -21,6 +21,8 @@ class Vp8TemporalLayersFactory : public Vp8FrameBufferControllerFactory {
public:
~Vp8TemporalLayersFactory() override = default;
std::unique_ptr<Vp8FrameBufferControllerFactory> Clone() const override;
std::unique_ptr<Vp8FrameBufferController> Create(
const VideoCodec& codec,
const VideoEncoder::Settings& settings) override;