diff options
author | Christoph Mallon | 2011-08-06 16:30:52 +0200 |
---|---|---|
committer | Christoph Mallon | 2011-08-07 15:19:08 +0200 |
commit | a5a8833c059f28c85e392a3cd22c361d38ef95ff (patch) | |
tree | 3b3b69326019444c2c375c66f39cb3013a003591 /audio/decoders/vorbis.cpp | |
parent | 2f23ff72c1d804d9d0e3ac09c46f52fd6b23a68c (diff) | |
download | scummvm-rg350-a5a8833c059f28c85e392a3cd22c361d38ef95ff.tar.gz scummvm-rg350-a5a8833c059f28c85e392a3cd22c361d38ef95ff.tar.bz2 scummvm-rg350-a5a8833c059f28c85e392a3cd22c361d38ef95ff.zip |
COMMON: Add DisposablePtr<T>, which replaces many repeated implementations of a dispose flag.
Diffstat (limited to 'audio/decoders/vorbis.cpp')
-rw-r--r-- | audio/decoders/vorbis.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/audio/decoders/vorbis.cpp b/audio/decoders/vorbis.cpp index e10ec11a50..455803dc05 100644 --- a/audio/decoders/vorbis.cpp +++ b/audio/decoders/vorbis.cpp @@ -29,6 +29,7 @@ #ifdef USE_VORBIS +#include "common/ptr.h" #include "common/stream.h" #include "common/textconsole.h" #include "common/util.h" @@ -89,8 +90,7 @@ static ov_callbacks g_stream_wrap = { class VorbisStream : public SeekableAudioStream { protected: - Common::SeekableReadStream *_inStream; - DisposeAfterUse::Flag _disposeAfterUse; + Common::DisposablePtr<Common::SeekableReadStream> _inStream; bool _isStereo; int _rate; @@ -121,8 +121,7 @@ protected: }; VorbisStream::VorbisStream(Common::SeekableReadStream *inStream, DisposeAfterUse::Flag dispose) : - _inStream(inStream), - _disposeAfterUse(dispose), + _inStream(inStream, dispose), _length(0, 1000), _bufferEnd(_buffer + ARRAYSIZE(_buffer)) { @@ -150,8 +149,6 @@ VorbisStream::VorbisStream(Common::SeekableReadStream *inStream, DisposeAfterUse VorbisStream::~VorbisStream() { ov_clear(&_ovFile); - if (_disposeAfterUse == DisposeAfterUse::YES) - delete _inStream; } int VorbisStream::readBuffer(int16 *buffer, const int numSamples) { |