Convert the MovieDecoder used by the MovieTexture to a unique_ptr.
This commit is contained in:
@@ -653,7 +653,7 @@ RageSurface* MovieDecoder_FFMpeg::CreateCompatibleSurface(int iTextureWidth, int
|
||||
}
|
||||
|
||||
MovieTexture_FFMpeg::MovieTexture_FFMpeg(RageTextureID ID) :
|
||||
MovieTexture_Generic(ID, new MovieDecoder_FFMpeg)
|
||||
MovieTexture_Generic(ID, std::make_unique<MovieDecoder_FFMpeg>())
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -21,12 +21,12 @@
|
||||
|
||||
static Preference<bool> g_bMovieTextureDirectUpdates("MovieTextureDirectUpdates", true);
|
||||
|
||||
MovieTexture_Generic::MovieTexture_Generic(RageTextureID ID, MovieDecoder* pDecoder) :
|
||||
MovieTexture_Generic::MovieTexture_Generic(RageTextureID ID, std::unique_ptr<MovieDecoder> pDecoder) :
|
||||
RageMovieTexture(ID)
|
||||
{
|
||||
LOG->Trace("MovieTexture_Generic::MovieTexture_Generic(%s)", ID.filename.c_str());
|
||||
|
||||
decoder_ = pDecoder;
|
||||
decoder_ = std::move(pDecoder);
|
||||
|
||||
texture_handle_ = 0;
|
||||
render_target_ = nullptr;
|
||||
@@ -82,7 +82,6 @@ MovieTexture_Generic::~MovieTexture_Generic()
|
||||
|
||||
/* sprite_ may reference the texture; delete it before DestroyTexture. */
|
||||
delete sprite_;
|
||||
delete decoder_;
|
||||
|
||||
DestroyTexture();
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ public:
|
||||
class MovieTexture_Generic: public RageMovieTexture
|
||||
{
|
||||
public:
|
||||
MovieTexture_Generic( RageTextureID ID, MovieDecoder *pDecoder );
|
||||
MovieTexture_Generic( RageTextureID ID, std::unique_ptr<MovieDecoder> pDecoder );
|
||||
virtual ~MovieTexture_Generic();
|
||||
RString Init();
|
||||
|
||||
@@ -108,7 +108,7 @@ public:
|
||||
static EffectMode GetEffectMode( MovieDecoderPixelFormatYCbCr fmt );
|
||||
|
||||
private:
|
||||
MovieDecoder* decoder_;
|
||||
std::unique_ptr<MovieDecoder> decoder_;
|
||||
|
||||
std::unique_ptr<std::thread> decoding_thread_;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user