Update internal SW codecs to return unique_ptrs

TBR=stefan@webrtc.org

Bug: webrtc:7925
Change-Id: I84239b071a2608d928f09b06809090eec5eafb14
Reviewed-on: https://webrtc-review.googlesource.com/21165
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20650}
This commit is contained in:
Magnus Jedvert
2017-11-11 13:28:49 +01:00
committed by Commit Bot
parent 8f91f1ee71
commit 4fe6adc06a
23 changed files with 100 additions and 121 deletions

View File

@ -13,20 +13,22 @@
#ifndef MODULES_VIDEO_CODING_CODECS_VP8_INCLUDE_VP8_H_
#define MODULES_VIDEO_CODING_CODECS_VP8_INCLUDE_VP8_H_
#include <memory>
#include "modules/video_coding/include/video_codec_interface.h"
namespace webrtc {
class VP8Encoder : public VideoEncoder {
public:
static VP8Encoder* Create();
static std::unique_ptr<VP8Encoder> Create();
virtual ~VP8Encoder() {}
}; // end of VP8Encoder class
class VP8Decoder : public VideoDecoder {
public:
static VP8Decoder* Create();
static std::unique_ptr<VP8Decoder> Create();
virtual ~VP8Decoder() {}
}; // end of VP8Decoder class

View File

@ -241,12 +241,12 @@ class TestVp8Simulcast : public ::testing::Test {
}
protected:
virtual VP8Encoder* CreateEncoder() = 0;
virtual VP8Decoder* CreateDecoder() = 0;
virtual std::unique_ptr<VP8Encoder> CreateEncoder() = 0;
virtual std::unique_ptr<VP8Decoder> CreateDecoder() = 0;
void SetUp() override {
encoder_.reset(CreateEncoder());
decoder_.reset(CreateDecoder());
encoder_ = CreateEncoder();
decoder_ = CreateDecoder();
SetUpCodec(kDefaultTemporalLayerProfile);
}

View File

@ -15,8 +15,12 @@ namespace testing {
class TestVp8Impl : public TestVp8Simulcast {
protected:
VP8Encoder* CreateEncoder() override { return VP8Encoder::Create(); }
VP8Decoder* CreateDecoder() override { return VP8Decoder::Create(); }
std::unique_ptr<VP8Encoder> CreateEncoder() override {
return VP8Encoder::Create();
}
std::unique_ptr<VP8Decoder> CreateDecoder() override {
return VP8Decoder::Create();
}
};
TEST_F(TestVp8Impl, TestKeyFrameRequestsOnAllStreams) {

View File

@ -30,6 +30,7 @@
#include "modules/video_coding/include/video_codec_interface.h"
#include "rtc_base/checks.h"
#include "rtc_base/numerics/exp_filter.h"
#include "rtc_base/ptr_util.h"
#include "rtc_base/random.h"
#include "rtc_base/timeutils.h"
#include "rtc_base/trace_event.h"
@ -162,12 +163,12 @@ void GetPostProcParamsFromFieldTrialGroup(
} // namespace
VP8Encoder* VP8Encoder::Create() {
return new VP8EncoderImpl();
std::unique_ptr<VP8Encoder> VP8Encoder::Create() {
return rtc::MakeUnique<VP8EncoderImpl>();
}
VP8Decoder* VP8Decoder::Create() {
return new VP8DecoderImpl();
std::unique_ptr<VP8Decoder> VP8Decoder::Create() {
return rtc::MakeUnique<VP8DecoderImpl>();
}
vpx_enc_frame_flags_t VP8EncoderImpl::EncodeFlags(