From 557bb394de6619dd1f360b72333fd2ec7b3defab Mon Sep 17 00:00:00 2001 From: Max Horn Date: Tue, 19 Jan 2010 00:56:29 +0000 Subject: Get rid of Mixer::FLAG_AUTOFREE. Also fix several recently introduced new/delete vs. malloc/free mismatches. svn-id: r47369 --- graphics/video/avi_decoder.cpp | 4 ++-- graphics/video/coktelvideo/coktelvideo.cpp | 24 ++++++++++++------------ graphics/video/smk_decoder.cpp | 10 +++++----- 3 files changed, 19 insertions(+), 19 deletions(-) (limited to 'graphics/video') diff --git a/graphics/video/avi_decoder.cpp b/graphics/video/avi_decoder.cpp index f54de46731..704ad36320 100644 --- a/graphics/video/avi_decoder.cpp +++ b/graphics/video/avi_decoder.cpp @@ -323,13 +323,13 @@ Surface *AviDecoder::getNextFrame() { byte *data = new byte[chunkSize]; _fileStream->read(data, chunkSize); - byte flags = Audio::Mixer::FLAG_AUTOFREE; + byte flags = 0; if (_audsHeader.sampleSize == 2) flags |= Audio::Mixer::FLAG_16BITS | Audio::Mixer::FLAG_LITTLE_ENDIAN; else flags |= Audio::Mixer::FLAG_UNSIGNED; - _audStream->queueBuffer(data, chunkSize, flags); + _audStream->queueBuffer(data, chunkSize, DisposeAfterUse::YES, flags); _fileStream->skip(chunkSize & 1); // Alignment } else if (getStreamType(nextTag) == 'dc' || getStreamType(nextTag) == 'id' || getStreamType(nextTag) == 'AM') { // Compressed Frame diff --git a/graphics/video/coktelvideo/coktelvideo.cpp b/graphics/video/coktelvideo/coktelvideo.cpp index 88bbbd8afc..9f9c40b6ed 100644 --- a/graphics/video/coktelvideo/coktelvideo.cpp +++ b/graphics/video/coktelvideo/coktelvideo.cpp @@ -600,12 +600,12 @@ void Imd::nextSoundSlice(bool hasNextCmd) { return; } - byte *soundBuf = new byte[_soundSliceSize]; + byte *soundBuf = (byte *)malloc(_soundSliceSize); _stream->read(soundBuf, _soundSliceSize); unsignedToSigned(soundBuf, _soundSliceSize); - _audioStream->queueBuffer(soundBuf, _soundSliceSize, 0); + _audioStream->queueBuffer(soundBuf, _soundSliceSize, DisposeAfterUse::YES, 0); } bool Imd::initialSoundSlice(bool hasNextCmd) { @@ -616,12 +616,12 @@ bool Imd::initialSoundSlice(bool hasNextCmd) { return false; } - byte *soundBuf = new byte[dataLength]; + byte *soundBuf = (byte *)malloc(dataLength); _stream->read(soundBuf, dataLength); unsignedToSigned(soundBuf, dataLength); - _audioStream->queueBuffer(soundBuf, dataLength, 0); + _audioStream->queueBuffer(soundBuf, dataLength, DisposeAfterUse::YES, 0); return _soundStage == 1; } @@ -630,11 +630,11 @@ void Imd::emptySoundSlice(bool hasNextCmd) { if (hasNextCmd || !_soundEnabled) return; - byte *soundBuf = new byte[_soundSliceSize]; + byte *soundBuf = (byte *)malloc(_soundSliceSize); memset(soundBuf, 0, _soundSliceSize); - _audioStream->queueBuffer(soundBuf, _soundSliceSize, 0); + _audioStream->queueBuffer(soundBuf, _soundSliceSize, DisposeAfterUse::YES, 0); } void Imd::videoData(uint32 size, State &state) { @@ -2022,7 +2022,7 @@ byte *Vmd::deDPCM(const byte *data, uint32 &size, int32 init[2]) { uint32 inSize = size; uint32 outSize = size + channels; - int16 *out = new int16[outSize]; + int16 *out = (int16 *)malloc(outSize * 2); byte *sound = (byte *) out; int channel = 0; @@ -2056,7 +2056,7 @@ byte *Vmd::deADPCM(const byte *data, uint32 &size, int32 init, int32 index) { uint32 outSize = size * 2; - int16 *out = new int16[outSize]; + int16 *out = (int16 *)malloc(outSize * 2); byte *sound = (byte *) out; index = CLIP(index, 0, 88); @@ -2110,7 +2110,7 @@ byte *Vmd::soundEmpty(uint32 &size) { if (!_audioStream) return 0; - byte *soundBuf = new byte[size]; + byte *soundBuf = (byte *)malloc(size); memset(soundBuf, 0, size); return soundBuf; @@ -2122,7 +2122,7 @@ byte *Vmd::sound8bitDirect(uint32 &size) { return 0; } - byte *soundBuf = new byte[size]; + byte *soundBuf = (byte *)malloc(size); _stream->read(soundBuf, size); unsignedToSigned(soundBuf, size); @@ -2187,7 +2187,7 @@ void Vmd::emptySoundSlice(uint32 size) { flags |= (_soundBytesPerSample == 2) ? Audio::Mixer::FLAG_16BITS : 0; flags |= (_soundStereo > 0) ? Audio::Mixer::FLAG_STEREO : 0; - _audioStream->queueBuffer(sound, size, flags); + _audioStream->queueBuffer(sound, size, DisposeAfterUse::YES, flags); } } @@ -2205,7 +2205,7 @@ void Vmd::filledSoundSlice(uint32 size) { flags |= (_soundBytesPerSample == 2) ? Audio::Mixer::FLAG_16BITS : 0; flags |= (_soundStereo > 0) ? Audio::Mixer::FLAG_STEREO : 0; - _audioStream->queueBuffer(sound, size, flags); + _audioStream->queueBuffer(sound, size, DisposeAfterUse::YES, flags); } } diff --git a/graphics/video/smk_decoder.cpp b/graphics/video/smk_decoder.cpp index a3b056b6a3..991ebbf589 100644 --- a/graphics/video/smk_decoder.cpp +++ b/graphics/video/smk_decoder.cpp @@ -562,14 +562,14 @@ bool SmackerDecoder::decodeNextFrame() { if (_header.audioInfo[i].hasAudio && chunkSize > 0 && i == 0) { // If it's track 0, play the audio data - byte *soundBuffer = new byte[chunkSize]; + byte *soundBuffer = (byte *)malloc(chunkSize); _fileStream->read(soundBuffer, chunkSize); if (_header.audioInfo[i].isCompressed) { // Compressed audio (Huffman DPCM encoded) queueCompressedBuffer(soundBuffer, chunkSize, dataSizeUnpacked, i); - delete[] soundBuffer; + free(soundBuffer); } else { // Uncompressed audio (PCM) byte flags = 0; @@ -578,7 +578,7 @@ bool SmackerDecoder::decodeNextFrame() { if (_header.audioInfo[0].isStereo) flags = flags | Audio::Mixer::FLAG_STEREO; - _audioStream->queueBuffer(soundBuffer, chunkSize, flags); + _audioStream->queueBuffer(soundBuffer, chunkSize, DisposeAfterUse::YES, flags); // The sound buffer will be deleted by QueuingAudioStream } @@ -767,7 +767,7 @@ void SmackerDecoder::queueCompressedBuffer(byte *buffer, uint32 bufferSize, int numBytes = 1 * (isStereo ? 2 : 1) * (is16Bits ? 2 : 1); - byte *unpackedBuffer = new byte[unpackedSize]; + byte *unpackedBuffer = (byte *)malloc(unpackedSize); byte *curPointer = unpackedBuffer; uint32 curPos = 0; @@ -832,7 +832,7 @@ void SmackerDecoder::queueCompressedBuffer(byte *buffer, uint32 bufferSize, flags = flags | Audio::Mixer::FLAG_16BITS; if (_header.audioInfo[0].isStereo) flags = flags | Audio::Mixer::FLAG_STEREO; - _audioStream->queueBuffer(unpackedBuffer, unpackedSize, flags); + _audioStream->queueBuffer(unpackedBuffer, unpackedSize, DisposeAfterUse::YES, flags); // unpackedBuffer will be deleted by QueuingAudioStream } -- cgit v1.2.3