aboutsummaryrefslogtreecommitdiff
path: root/graphics/video/smk_decoder.cpp
diff options
context:
space:
mode:
authorMax Horn2010-01-19 00:56:29 +0000
committerMax Horn2010-01-19 00:56:29 +0000
commit557bb394de6619dd1f360b72333fd2ec7b3defab (patch)
treeb1166a12105d01c92edb528177d24aa5115232e5 /graphics/video/smk_decoder.cpp
parent69be7476212916b166ac16db41253cd367fb0dcc (diff)
downloadscummvm-rg350-557bb394de6619dd1f360b72333fd2ec7b3defab.tar.gz
scummvm-rg350-557bb394de6619dd1f360b72333fd2ec7b3defab.tar.bz2
scummvm-rg350-557bb394de6619dd1f360b72333fd2ec7b3defab.zip
Get rid of Mixer::FLAG_AUTOFREE.
Also fix several recently introduced new/delete vs. malloc/free mismatches. svn-id: r47369
Diffstat (limited to 'graphics/video/smk_decoder.cpp')
-rw-r--r--graphics/video/smk_decoder.cpp10
1 files changed, 5 insertions, 5 deletions
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
}