[Scummvm-cvs-logs] SF.net SVN: scummvm:[47227] scummvm/trunk/engines/saga/music.cpp
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Sun Jan 10 16:23:36 CET 2010
Revision: 47227
http://scummvm.svn.sourceforge.net/scummvm/?rev=47227&view=rev
Author: lordhoto
Date: 2010-01-10 15:23:35 +0000 (Sun, 10 Jan 2010)
Log Message:
-----------
Fix a memory leak.
Modified Paths:
--------------
scummvm/trunk/engines/saga/music.cpp
Modified: scummvm/trunk/engines/saga/music.cpp
===================================================================
--- scummvm/trunk/engines/saga/music.cpp 2010-01-10 15:20:14 UTC (rev 47226)
+++ scummvm/trunk/engines/saga/music.cpp 2010-01-10 15:23:35 UTC (rev 47227)
@@ -305,13 +305,10 @@
if (!_digitalMusicContext->isCompressed()) {
byte musicFlags = Audio::Mixer::FLAG_AUTOFREE | Audio::Mixer::FLAG_STEREO |
Audio::Mixer::FLAG_16BITS | Audio::Mixer::FLAG_LITTLE_ENDIAN;
- if (flags == MUSIC_LOOP)
- musicFlags |= Audio::Mixer::FLAG_LOOP;
-
Audio::LinearDiskStreamAudioBlock audioBlocks[1];
audioBlocks[0].pos = 0;
audioBlocks[0].len = resData->size / 2; // 16-bit sound
- audioStream = Audio::makeLinearDiskStream(musicStream, audioBlocks, 1, 11025, musicFlags, false);
+ audioStream = Audio::makeLinearDiskStream(musicStream, audioBlocks, 1, 11025, musicFlags, true);
} else {
// Read compressed header to determine compression type
musicFile->seek((uint32)resData->offset, SEEK_SET);
@@ -319,18 +316,21 @@
if (identifier == 0) { // MP3
#ifdef USE_MAD
- audioStream = Audio::makeMP3Stream(musicStream, false);
+ audioStream = Audio::makeMP3Stream(musicStream, true);
#endif
} else if (identifier == 1) { // OGG
#ifdef USE_VORBIS
- audioStream = Audio::makeVorbisStream(musicStream, false);
+ audioStream = Audio::makeVorbisStream(musicStream, true);
#endif
} else if (identifier == 2) { // FLAC
#ifdef USE_FLAC
- audioStream = Audio::makeFlacStream(musicStream, false);
+ audioStream = Audio::makeFlacStream(musicStream, true);
#endif
}
}
+
+ if (!audioStream)
+ delete musicStream;
}
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list