diff options
author | Max Horn | 2010-01-19 00:56:29 +0000 |
---|---|---|
committer | Max Horn | 2010-01-19 00:56:29 +0000 |
commit | 557bb394de6619dd1f360b72333fd2ec7b3defab (patch) | |
tree | b1166a12105d01c92edb528177d24aa5115232e5 /engines/scumm/imuse_digi | |
parent | 69be7476212916b166ac16db41253cd367fb0dcc (diff) | |
download | scummvm-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 'engines/scumm/imuse_digi')
-rw-r--r-- | engines/scumm/imuse_digi/dimuse.cpp | 10 | ||||
-rw-r--r-- | engines/scumm/imuse_digi/dimuse_codecs.cpp | 2 | ||||
-rw-r--r-- | engines/scumm/imuse_digi/dimuse_sndmgr.cpp | 4 |
3 files changed, 8 insertions, 8 deletions
diff --git a/engines/scumm/imuse_digi/dimuse.cpp b/engines/scumm/imuse_digi/dimuse.cpp index 7672587904..cf5cc99579 100644 --- a/engines/scumm/imuse_digi/dimuse.cpp +++ b/engines/scumm/imuse_digi/dimuse.cpp @@ -299,7 +299,7 @@ void IMuseDigital::callback() { int tmpFeedSize = _sound->getDataFromRegion(track->soundDesc, track->curRegion, &tmpPtr, tmpOffset, tmpFeedSize12Bits); curFeedSize = BundleCodecs::decode12BitsSample(tmpPtr, &tmpSndBufferPtr, tmpFeedSize); - delete[] tmpPtr; + free(tmpPtr); } else if (bits == 16) { curFeedSize = _sound->getDataFromRegion(track->soundDesc, track->curRegion, &tmpSndBufferPtr, track->regionOffset, feedSize); if (channels == 1) { @@ -313,7 +313,7 @@ void IMuseDigital::callback() { if (_radioChatterSFX && track->soundId == 10000) { if (curFeedSize > feedSize) curFeedSize = feedSize; - byte *buf = new byte[curFeedSize]; + byte *buf = (byte *)malloc(curFeedSize); int index = 0; int count = curFeedSize - 4; byte *ptr_1 = tmpSndBufferPtr; @@ -332,7 +332,7 @@ void IMuseDigital::callback() { buf[curFeedSize - 2] = 0x80; buf[curFeedSize - 3] = 0x80; buf[curFeedSize - 4] = 0x80; - delete[] tmpSndBufferPtr; + free(tmpSndBufferPtr); tmpSndBufferPtr = buf; } if (channels == 2) { @@ -344,10 +344,10 @@ void IMuseDigital::callback() { curFeedSize = feedSize; if (_mixer->isReady()) { - track->stream->queueBuffer(tmpSndBufferPtr, curFeedSize, makeMixerFlags(track->mixerFlags)); + track->stream->queueBuffer(tmpSndBufferPtr, curFeedSize, DisposeAfterUse::YES, makeMixerFlags(track->mixerFlags)); track->regionOffset += curFeedSize; } else - delete[] tmpSndBufferPtr; + free(tmpSndBufferPtr); if (_sound->isEndOfRegion(track->soundDesc, track->curRegion)) { switchToNextRegion(track); diff --git a/engines/scumm/imuse_digi/dimuse_codecs.cpp b/engines/scumm/imuse_digi/dimuse_codecs.cpp index 479a7a5470..3f7c341701 100644 --- a/engines/scumm/imuse_digi/dimuse_codecs.cpp +++ b/engines/scumm/imuse_digi/dimuse_codecs.cpp @@ -33,7 +33,7 @@ namespace BundleCodecs { uint32 decode12BitsSample(const byte *src, byte **dst, uint32 size) { uint32 loop_size = size / 3; uint32 s_size = loop_size * 4; - byte *ptr = *dst = new byte[s_size]; + byte *ptr = *dst = (byte *)malloc(s_size); assert(ptr); uint32 tmp; diff --git a/engines/scumm/imuse_digi/dimuse_sndmgr.cpp b/engines/scumm/imuse_digi/dimuse_sndmgr.cpp index e366a04969..76e606af5b 100644 --- a/engines/scumm/imuse_digi/dimuse_sndmgr.cpp +++ b/engines/scumm/imuse_digi/dimuse_sndmgr.cpp @@ -655,11 +655,11 @@ int32 ImuseDigiSndMgr::getDataFromRegion(SoundDesc *soundDesc, int region, byte if ((soundDesc->bundle) && (!soundDesc->compressed)) { size = soundDesc->bundle->decompressSampleByCurIndex(start + offset, size, buf, header_size, header_outside); } else if (soundDesc->resPtr) { - *buf = new byte[size]; + *buf = (byte *)malloc(size); assert(*buf); memcpy(*buf, soundDesc->resPtr + start + offset + header_size, size); } else if ((soundDesc->bundle) && (soundDesc->compressed)) { - *buf = new byte[size]; + *buf = (byte *)malloc(size); assert(*buf); char fileName[24]; int offsetMs = (((offset * 8 * 10) / soundDesc->bits) / (soundDesc->channels * soundDesc->freq)) * 100; |