aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorathrxx2019-08-08 14:29:40 +0200
committerathrxx2019-08-25 11:58:20 +0200
commit2a2351eb2c64363207da59df68d8ad2d733df454 (patch)
tree5888d200c94c1712bb13486744170170b5a64b67
parentd097768e1fe1d070d75100808543272737dd1e11 (diff)
downloadscummvm-rg350-2a2351eb2c64363207da59df68d8ad2d733df454.tar.gz
scummvm-rg350-2a2351eb2c64363207da59df68d8ad2d733df454.tar.bz2
scummvm-rg350-2a2351eb2c64363207da59df68d8ad2d733df454.zip
SCI: (FB01 sound driver) - get rid of mutex
- The mutex was added to avoid the triggering of the assert in backends/midi/windows.cpp, line 95. Meanwhile, this issue has been addressed differently. - SCI does not per se require a mutex for the sound drivers. The engine is mostly thread-safe by avoiding driver calls through the main thread.
-rw-r--r--engines/sci/sound/drivers/fb01.cpp10
1 files changed, 0 insertions, 10 deletions
diff --git a/engines/sci/sound/drivers/fb01.cpp b/engines/sci/sound/drivers/fb01.cpp
index 7f163a596e..3be7650ac8 100644
--- a/engines/sci/sound/drivers/fb01.cpp
+++ b/engines/sci/sound/drivers/fb01.cpp
@@ -74,8 +74,6 @@ public:
void playSwitch(bool play);
bool isOpen() const { return _isOpen; }
- void lockMutex() { _mutex.lock(); }
- void unlockMutex() { _mutex.unlock(); }
const char *reportMissingFiles() { return _missingFiles; }
@@ -133,7 +131,6 @@ private:
int _numParts;
bool _isOpen;
- Common::Mutex _mutex;
Channel _channels[16];
Voice _voices[kVoices];
@@ -161,7 +158,6 @@ MidiPlayer_Fb01::MidiPlayer_Fb01(SciVersion version) : MidiPlayer(version), _pla
MidiPlayer_Fb01::~MidiPlayer_Fb01() {
if (_driver)
_driver->setTimerCallback(NULL, NULL);
- Common::StackLock lock(_mutex);
close();
delete _driver;
}
@@ -510,8 +506,6 @@ void MidiPlayer_Fb01::midiTimerCallback(void *p) {
MidiPlayer_Fb01 *m = (MidiPlayer_Fb01 *)p;
- m->lockMutex();
-
if (!m->isOpen())
return;
@@ -523,12 +517,9 @@ void MidiPlayer_Fb01::midiTimerCallback(void *p) {
if (m->_timerProc)
m->_timerProc(m->_timerParam);
-
- m->unlockMutex();
}
void MidiPlayer_Fb01::setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) {
- Common::StackLock lock(_mutex);
_driver->setTimerCallback(NULL, NULL);
_timerParam = timer_param;
@@ -640,7 +631,6 @@ int MidiPlayer_Fb01::open(ResourceManager *resMan) {
void MidiPlayer_Fb01::close() {
if (_driver)
_driver->setTimerCallback(NULL, NULL);
- Common::StackLock lock(_mutex);
_isOpen = false;
if (_driver)
_driver->close();