From d9c900f06896de74671ab62d8a3e4600b6d52d5a Mon Sep 17 00:00:00 2001 From: Elad Alon Date: Mon, 17 Jun 2019 14:36:27 +0200 Subject: [PATCH] Add Clone() to Vp8FrameBufferControllerFactory Bug: None Change-Id: Ie59c795361420695ca9cb363ec5b3035728306f8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142227 Reviewed-by: Rasmus Brandt Commit-Queue: Elad Alon Cr-Commit-Position: refs/heads/master@{#28297} --- api/video_codecs/vp8_frame_buffer_controller.h | 6 ++++++ api/video_codecs/vp8_temporal_layers_factory.cc | 5 +++++ api/video_codecs/vp8_temporal_layers_factory.h | 2 ++ 3 files changed, 13 insertions(+) diff --git a/api/video_codecs/vp8_frame_buffer_controller.h b/api/video_codecs/vp8_frame_buffer_controller.h index 0d38455eda..91bb2f6110 100644 --- a/api/video_codecs/vp8_frame_buffer_controller.h +++ b/api/video_codecs/vp8_frame_buffer_controller.h @@ -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 Clone() const { + return nullptr; + } + // TODO(bugs.webrtc.org/10720): Update downstream and remove. virtual std::unique_ptr Create( const VideoCodec& codec) { diff --git a/api/video_codecs/vp8_temporal_layers_factory.cc b/api/video_codecs/vp8_temporal_layers_factory.cc index 878fa79bed..1a773237a1 100644 --- a/api/video_codecs/vp8_temporal_layers_factory.cc +++ b/api/video_codecs/vp8_temporal_layers_factory.cc @@ -47,4 +47,9 @@ std::unique_ptr Vp8TemporalLayersFactory::Create( return absl::make_unique(std::move(controllers)); } +std::unique_ptr +Vp8TemporalLayersFactory::Clone() const { + return absl::make_unique(); +} + } // namespace webrtc diff --git a/api/video_codecs/vp8_temporal_layers_factory.h b/api/video_codecs/vp8_temporal_layers_factory.h index fd5e5d6d3d..747580ffdb 100644 --- a/api/video_codecs/vp8_temporal_layers_factory.h +++ b/api/video_codecs/vp8_temporal_layers_factory.h @@ -21,6 +21,8 @@ class Vp8TemporalLayersFactory : public Vp8FrameBufferControllerFactory { public: ~Vp8TemporalLayersFactory() override = default; + std::unique_ptr Clone() const override; + std::unique_ptr Create( const VideoCodec& codec, const VideoEncoder::Settings& settings) override;