[Scummvm-cvs-logs] SF.net SVN: scummvm: [21376] scummvm/trunk/sound

kirben at users.sourceforge.net kirben at users.sourceforge.net
Sat Mar 18 21:16:03 CET 2006


Revision: 21376
Author:   kirben
Date:     2006-03-18 21:15:49 -0800 (Sat, 18 Mar 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=21376&view=rev

Log Message:
-----------
Revert FLAG_AUTOFREE changes to loadWAVFromStreammakeWAVStream

Modified Paths:
--------------
    scummvm/trunk/engines/simon/sound.cpp
    scummvm/trunk/engines/sword2/sound.cpp
    scummvm/trunk/sound/wave.cpp
Modified: scummvm/trunk/engines/simon/sound.cpp
===================================================================
--- scummvm/trunk/engines/simon/sound.cpp	2006-03-19 05:15:06 UTC (rev 21375)
+++ scummvm/trunk/engines/simon/sound.cpp	2006-03-19 05:15:49 UTC (rev 21376)
@@ -136,9 +136,11 @@
 		error("playSound: Not a valid WAV file");
 	}
 
+	flags |= Audio::Mixer::FLAG_AUTOFREE | wavFlags;
+
 	byte *buffer = (byte *)malloc(size);
 	_file->read(buffer, size);
-	_mixer->playRaw(handle, buffer, size, rate, flags | wavFlags);
+	_mixer->playRaw(handle, buffer, size, rate, flags);
 }
 
 void VocSound::playSound(uint sound, Audio::SoundHandle *handle, byte flags) {

Modified: scummvm/trunk/engines/sword2/sound.cpp
===================================================================
--- scummvm/trunk/engines/sword2/sound.cpp	2006-03-19 05:15:06 UTC (rev 21375)
+++ scummvm/trunk/engines/sword2/sound.cpp	2006-03-19 05:15:49 UTC (rev 21376)
@@ -270,13 +270,6 @@
 		return RDERR_INVALIDWAV;
 	}
 
-	// The resource manager must have complete control over when resources
-	// are freed, or reference counting will break horribly. Besides, the
-	// data pointer is not valid for passing to free(). Why the hell is the
-	// AUTOFREE flag set by default anyway?
-
-	flags &= ~Audio::Mixer::FLAG_AUTOFREE;
-
 	if (isReverseStereo())
 		flags |= Audio::Mixer::FLAG_REVERSE_STEREO;
 

Modified: scummvm/trunk/sound/wave.cpp
===================================================================
--- scummvm/trunk/sound/wave.cpp	2006-03-19 05:15:06 UTC (rev 21375)
+++ scummvm/trunk/sound/wave.cpp	2006-03-19 05:15:49 UTC (rev 21376)
@@ -111,7 +111,7 @@
 	// Prepare the return values.
 	rate = samplesPerSec;
 
-	flags = Audio::Mixer::FLAG_AUTOFREE;
+	flags = 0;
 	if (bitsPerSample == 8)		// 8 bit data is unsigned
 		flags |= Audio::Mixer::FLAG_UNSIGNED;
 	else if (bitsPerSample == 16)	// 16 bit data is signed little endian
@@ -164,6 +164,8 @@
 	if (!loadWAVFromStream(stream, size, rate, flags, &type))
 		return 0;
 
+	flags |= Audio::Mixer::FLAG_AUTOFREE;
+
 	if (type == 17) // IMA ADPCM
 		return makeADPCMStream(&stream, size, kADPCMIma, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1);
 


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