[Scummvm-cvs-logs] CVS: scummvm/bs2/driver d_sound.cpp,1.23,1.24

Pawel Kolodziejski aquadran at users.sourceforge.net
Sun Aug 31 23:14:04 CEST 2003


Update of /cvsroot/scummvm/scummvm/bs2/driver
In directory sc8-pr-cvs1:/tmp/cvs-serv11176

Modified Files:
	d_sound.cpp 
Log Message:
added warkaround for not exist music stream id at appendStream call

Index: d_sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/d_sound.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- d_sound.cpp	31 Aug 2003 20:26:20 -0000	1.23
+++ d_sound.cpp	1 Sep 2003 06:13:47 -0000	1.24
@@ -1370,6 +1370,7 @@
 		data16[i] = TO_BE_16(data16[i]);
 	}
 
+	assert(!soundHandleMusic[primaryStream]);
 	soundHandleMusic[primaryStream] = g_engine->_mixer->newStream(data16, bufferSizeMusic, 22050,
 					SoundMixer::FLAG_16BITS | SoundMixer::FLAG_AUTOFREE, 100000, volume, 0);
 
@@ -1899,8 +1900,15 @@
 					// be necessary.
 					if (len & 1)
 						len--;
-					assert(soundHandleMusic[i]);
-					g_engine->_mixer->appendStream(soundHandleMusic[i], data16, len);
+					
+					if (soundHandleMusic[i] == 0) {
+						warning("play music appendStream(): this shouldn't happen");
+						int volume = musicVolTable[volMusic[i]];
+						soundHandleMusic[i] = g_engine->_mixer->newStream(data16, bufferSizeMusic, 22050,
+										SoundMixer::FLAG_16BITS | SoundMixer::FLAG_AUTOFREE, 100000, volume, 0);
+					} else {
+						g_engine->_mixer->appendStream(soundHandleMusic[i], data16, len);
+					}
 
 					free(data16);
 





More information about the Scummvm-git-logs mailing list