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/smush | |
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/smush')
-rw-r--r-- | engines/scumm/smush/imuse_channel.cpp | 18 | ||||
-rw-r--r-- | engines/scumm/smush/saud_channel.cpp | 6 | ||||
-rw-r--r-- | engines/scumm/smush/smush_mixer.cpp | 2 | ||||
-rw-r--r-- | engines/scumm/smush/smush_player.cpp | 4 |
4 files changed, 15 insertions, 15 deletions
diff --git a/engines/scumm/smush/imuse_channel.cpp b/engines/scumm/smush/imuse_channel.cpp index c01a2acca3..a838fdba56 100644 --- a/engines/scumm/smush/imuse_channel.cpp +++ b/engines/scumm/smush/imuse_channel.cpp @@ -69,7 +69,7 @@ bool ImuseChannel::appendData(Common::SeekableReadStream &b, int32 size) { size -= 8; _tbufferSize = size; assert(_tbufferSize); - _tbuffer = new byte[_tbufferSize]; + _tbuffer = (byte *)malloc(_tbufferSize); if (!_tbuffer) error("imuse_channel failed to allocate memory"); b.read(_tbuffer, size); @@ -78,16 +78,16 @@ bool ImuseChannel::appendData(Common::SeekableReadStream &b, int32 size) { if (_tbuffer) { byte *old = _tbuffer; int32 new_size = size + _tbufferSize; - _tbuffer = new byte[new_size]; + _tbuffer = (byte *)malloc(new_size); if (!_tbuffer) error("imuse_channel failed to allocate memory"); memcpy(_tbuffer, old, _tbufferSize); - delete[] old; + free(old); b.read(_tbuffer + _tbufferSize, size); _tbufferSize += size; } else { _tbufferSize = size; - _tbuffer = new byte[_tbufferSize]; + _tbuffer = (byte *)malloc(_tbufferSize); if (!_tbuffer) error("imuse_channel failed to allocate memory"); b.read(_tbuffer, size); @@ -152,7 +152,7 @@ void ImuseChannel::decode() { _srbufferSize -= remaining_size; assert(_inData); if (_tbuffer == 0) { - _tbuffer = new byte[remaining_size]; + _tbuffer = (byte *)malloc(remaining_size); memcpy(_tbuffer, _sbuffer + _sbufferSize - remaining_size, remaining_size); _tbufferSize = remaining_size; _sbufferSize -= remaining_size; @@ -161,11 +161,11 @@ void ImuseChannel::decode() { (const void *)this, _dataSize, _inData, _tbuffer, _tbufferSize, _sbuffer, _sbufferSize, _srbufferSize); byte *old = _tbuffer; int new_size = remaining_size + _tbufferSize; - _tbuffer = new byte[new_size]; + _tbuffer = (byte *)malloc(new_size); if (!_tbuffer) error("imuse_channel failed to allocate memory"); memcpy(_tbuffer, old, _tbufferSize); - delete[] old; + free(old); memcpy(_tbuffer + _tbufferSize, _sbuffer + _sbufferSize - remaining_size, remaining_size); _tbufferSize += remaining_size; } @@ -177,7 +177,7 @@ void ImuseChannel::decode() { int new_size = loop_size * 4; byte *keep, *decoded; uint32 value; - keep = decoded = new byte[new_size]; + keep = decoded = (byte *)malloc(new_size); assert(keep); unsigned char * source = _sbuffer; @@ -190,7 +190,7 @@ void ImuseChannel::decode() { value = ((((v2 & 0xf0) << 4) | v3) << 4) - 0x8000; WRITE_BE_UINT16(decoded, value); decoded += 2; } - delete[] _sbuffer; + free(_sbuffer); _sbuffer = (byte *)keep; _sbufferSize = new_size; } diff --git a/engines/scumm/smush/saud_channel.cpp b/engines/scumm/smush/saud_channel.cpp index b4c12b8553..94df70633f 100644 --- a/engines/scumm/smush/saud_channel.cpp +++ b/engines/scumm/smush/saud_channel.cpp @@ -130,16 +130,16 @@ bool SaudChannel::appendData(Common::SeekableReadStream &b, int32 size) { } if (_tbuffer) { byte *old = _tbuffer; - _tbuffer = new byte[_tbufferSize + size]; + _tbuffer = (byte *)malloc(_tbufferSize + size); if (!_tbuffer) error("saud_channel failed to allocate memory"); memcpy(_tbuffer, old, _tbufferSize); - delete[] old; + free(old); b.read(_tbuffer + _tbufferSize, size); _tbufferSize += size; } else { _tbufferSize = size; - _tbuffer = new byte[_tbufferSize]; + _tbuffer = (byte *)malloc(_tbufferSize); if (!_tbuffer) error("saud_channel failed to allocate memory"); b.read(_tbuffer, _tbufferSize); diff --git a/engines/scumm/smush/smush_mixer.cpp b/engines/scumm/smush/smush_mixer.cpp index c069f6fe1b..a9b5e6077e 100644 --- a/engines/scumm/smush/smush_mixer.cpp +++ b/engines/scumm/smush/smush_mixer.cpp @@ -127,7 +127,7 @@ bool SmushMixer::handleFrame() { } _mixer->setChannelVolume(_channels[i].handle, vol); _mixer->setChannelBalance(_channels[i].handle, pan); - _channels[i].stream->queueBuffer(data, size, flags); // The stream will free the buffer for us + _channels[i].stream->queueBuffer(data, size, DisposeAfterUse::YES, flags); // The stream will free the buffer for us } else delete[] data; } diff --git a/engines/scumm/smush/smush_player.cpp b/engines/scumm/smush/smush_player.cpp index cc84a4db4a..871ce76803 100644 --- a/engines/scumm/smush/smush_player.cpp +++ b/engines/scumm/smush/smush_player.cpp @@ -437,7 +437,7 @@ void SmushPlayer::handleIACT(int32 subSize, Common::SeekableReadStream &b) { _IACTpos += bsize; bsize = 0; } else { - byte *output_data = new byte[4096]; + byte *output_data = (byte *)malloc(4096); memcpy(_IACToutput + _IACTpos, d_src, len); byte *dst = output_data; @@ -472,7 +472,7 @@ void SmushPlayer::handleIACT(int32 subSize, Common::SeekableReadStream &b) { _IACTstream = Audio::makeQueuingAudioStream(22050, true); _vm->_mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_IACTchannel, _IACTstream); } - _IACTstream->queueBuffer(output_data, 0x1000, Audio::Mixer::FLAG_STEREO | Audio::Mixer::FLAG_16BITS); + _IACTstream->queueBuffer(output_data, 0x1000, DisposeAfterUse::YES, Audio::Mixer::FLAG_STEREO | Audio::Mixer::FLAG_16BITS); bsize -= len; d_src += len; |