[Scummvm-cvs-logs] SF.net SVN: scummvm: [25882] scummvm/trunk/engines/gob

wjpalenstijn at users.sourceforge.net wjpalenstijn at users.sourceforge.net
Mon Feb 26 19:52:28 CET 2007


Revision: 25882
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25882&view=rev
Author:   wjpalenstijn
Date:     2007-02-26 10:52:28 -0800 (Mon, 26 Feb 2007)

Log Message:
-----------
stop audio streams before deleting them

Modified Paths:
--------------
    scummvm/trunk/engines/gob/gob.cpp
    scummvm/trunk/engines/gob/sound.cpp
    scummvm/trunk/engines/gob/sound.h

Modified: scummvm/trunk/engines/gob/gob.cpp
===================================================================
--- scummvm/trunk/engines/gob/gob.cpp	2007-02-26 18:34:00 UTC (rev 25881)
+++ scummvm/trunk/engines/gob/gob.cpp	2007-02-26 18:52:28 UTC (rev 25882)
@@ -95,6 +95,9 @@
 }
 
 GobEngine::~GobEngine() {
+	if (_snd)
+		_snd->terminate();
+
 	delete _mult;
 	delete _game;
 	delete _snd;

Modified: scummvm/trunk/engines/gob/sound.cpp
===================================================================
--- scummvm/trunk/engines/gob/sound.cpp	2007-02-26 18:34:00 UTC (rev 25881)
+++ scummvm/trunk/engines/gob/sound.cpp	2007-02-26 18:52:28 UTC (rev 25882)
@@ -129,6 +129,14 @@
 			&_speakerStream, -1, 255, 0, false, true);
 }
 
+void Snd::terminate() {
+	// stop permanent streams manually
+	_vm->_mixer->stopHandle(_handle);
+	_vm->_mixer->stopHandle(_speakerHandle);
+
+	_vm->_mixer->stopAll();
+}
+
 void Snd::setBlasterPort(int16 port) {return;}
 
 void Snd::speakerOn(int16 frequency, int32 length) {

Modified: scummvm/trunk/engines/gob/sound.h
===================================================================
--- scummvm/trunk/engines/gob/sound.h	2007-02-26 18:34:00 UTC (rev 25881)
+++ scummvm/trunk/engines/gob/sound.h	2007-02-26 18:52:28 UTC (rev 25882)
@@ -49,6 +49,8 @@
 	CleanupFuncPtr _cleanupFunc;
 
 	Snd(GobEngine *vm);
+
+	void terminate();
 	void speakerOn(int16 frequency, int32 length);
 	void speakerOff(void);
 	void speakerOnUpdate(uint32 milis);


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