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 --- engines/kyra/sound_towns.cpp | 8 ++++---- engines/kyra/vqa.cpp | 28 ++++++++++++++-------------- 2 files changed, 18 insertions(+), 18 deletions(-) (limited to 'engines/kyra') diff --git a/engines/kyra/sound_towns.cpp b/engines/kyra/sound_towns.cpp index b4da44df6a..061893a452 100644 --- a/engines/kyra/sound_towns.cpp +++ b/engines/kyra/sound_towns.cpp @@ -3925,8 +3925,8 @@ void SoundTowns::playSoundEffect(uint8 track) { uint32 outputRate = uint32(11025 * calculatePhaseStep(note, sfxRootNoteOffs, sfxRate, 11025, 0x2000)); - _currentSFX = Audio::makeRawMemoryStream(sfxPlaybackBuffer, playbackBufferSize, - outputRate, Audio::Mixer::FLAG_UNSIGNED | Audio::Mixer::FLAG_LITTLE_ENDIAN | Audio::Mixer::FLAG_AUTOFREE, 0, 0); + _currentSFX = Audio::makeRawMemoryStream(sfxPlaybackBuffer, playbackBufferSize, DisposeAfterUse::YES, + outputRate, Audio::Mixer::FLAG_UNSIGNED | Audio::Mixer::FLAG_LITTLE_ENDIAN, 0, 0); _mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_sfxHandle, _currentSFX); } @@ -4297,8 +4297,8 @@ int32 SoundTownsPC98_v2::voicePlay(const char *file, Audio::SoundHandle *handle, uint32 outputRate = uint32(11025 * SoundTowns::calculatePhaseStep(0x3c, 0x3c, sfxRate, 11025, 0x2000)); - _currentSFX = Audio::makeRawMemoryStream(sfx, outsize, outputRate, - Audio::Mixer::FLAG_UNSIGNED | Audio::Mixer::FLAG_LITTLE_ENDIAN | Audio::Mixer::FLAG_AUTOFREE, 0, 0); + _currentSFX = Audio::makeRawMemoryStream(sfx, outsize, DisposeAfterUse::YES, outputRate, + Audio::Mixer::FLAG_UNSIGNED | Audio::Mixer::FLAG_LITTLE_ENDIAN, 0, 0); _mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_soundChannels[h], _currentSFX); if (handle) *handle = _soundChannels[h]; diff --git a/engines/kyra/vqa.cpp b/engines/kyra/vqa.cpp index fde6e06a96..69d63b60f2 100644 --- a/engines/kyra/vqa.cpp +++ b/engines/kyra/vqa.cpp @@ -419,10 +419,10 @@ void VQAMovie::displayFrame(uint frameNum) { switch (tag) { case MKID_BE('SND0'): // Uncompressed sound foundSound = true; - inbuf = new byte[size]; + inbuf = (byte *)malloc(size); _file->read(inbuf, size); assert(_stream); - _stream->queueBuffer(inbuf, size, Audio::Mixer::FLAG_UNSIGNED); + _stream->queueBuffer(inbuf, size, DisposeAfterUse::YES, Audio::Mixer::FLAG_UNSIGNED); break; case MKID_BE('SND1'): // Compressed sound, almost like AUD @@ -430,18 +430,18 @@ void VQAMovie::displayFrame(uint frameNum) { outsize = _file->readUint16LE(); insize = _file->readUint16LE(); - inbuf = new byte[insize]; + inbuf = (byte *)malloc(insize); _file->read(inbuf, insize); if (insize == outsize) { assert(_stream); - _stream->queueBuffer(inbuf, insize, Audio::Mixer::FLAG_UNSIGNED); + _stream->queueBuffer(inbuf, insize, DisposeAfterUse::YES, Audio::Mixer::FLAG_UNSIGNED); } else { - outbuf = new byte[outsize]; + outbuf = (byte *)malloc(outsize); decodeSND1(inbuf, insize, outbuf, outsize); assert(_stream); - _stream->queueBuffer(outbuf, outsize, Audio::Mixer::FLAG_UNSIGNED); - delete[] inbuf; + _stream->queueBuffer(outbuf, outsize, DisposeAfterUse::YES, Audio::Mixer::FLAG_UNSIGNED); + free(inbuf); } break; @@ -610,25 +610,25 @@ void VQAMovie::play() { switch (tag) { case MKID_BE('SND0'): // Uncompressed sound - inbuf = new byte[size]; + inbuf = (byte *)malloc(size); _file->read(inbuf, size); - _stream->queueBuffer(inbuf, size, Audio::Mixer::FLAG_UNSIGNED); + _stream->queueBuffer(inbuf, size, DisposeAfterUse::YES, Audio::Mixer::FLAG_UNSIGNED); break; case MKID_BE('SND1'): // Compressed sound outsize = _file->readUint16LE(); insize = _file->readUint16LE(); - inbuf = new byte[insize]; + inbuf = (byte *)malloc(insize); _file->read(inbuf, insize); if (insize == outsize) { - _stream->queueBuffer(inbuf, insize, Audio::Mixer::FLAG_UNSIGNED); + _stream->queueBuffer(inbuf, insize, DisposeAfterUse::YES, Audio::Mixer::FLAG_UNSIGNED); } else { - outbuf = new byte[outsize]; + outbuf = (byte *)malloc(outsize); decodeSND1(inbuf, insize, outbuf, outsize); - _stream->queueBuffer(outbuf, outsize, Audio::Mixer::FLAG_UNSIGNED); - delete[] inbuf; + _stream->queueBuffer(outbuf, outsize, DisposeAfterUse::YES, Audio::Mixer::FLAG_UNSIGNED); + free(inbuf); } break; -- cgit v1.2.3