diff options
author | Max Horn | 2011-03-23 11:47:07 +0100 |
---|---|---|
committer | Max Horn | 2011-03-23 15:25:46 +0100 |
commit | 7b02dac3c5678bb47216495fc97130b98ff2bfe4 (patch) | |
tree | ebeba91f309e1321b4a72136d59672b696eb7849 /engines/sci | |
parent | 99dbecf3b4a14382fa867610a43201fc150bfda9 (diff) | |
download | scummvm-rg350-7b02dac3c5678bb47216495fc97130b98ff2bfe4.tar.gz scummvm-rg350-7b02dac3c5678bb47216495fc97130b98ff2bfe4.tar.bz2 scummvm-rg350-7b02dac3c5678bb47216495fc97130b98ff2bfe4.zip |
ENGINES: Use Common::StackLock in more places
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/sound/music.cpp | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp index a028617e74..0ed99c154b 100644 --- a/engines/sci/sound/music.cpp +++ b/engines/sci/sound/music.cpp @@ -303,7 +303,7 @@ void SciMusic::soundInitSnd(MusicEntry *pSnd) { pSnd->hCurrentAud = Audio::SoundHandle(); } else { // play MIDI track - _mutex.lock(); + Common::StackLock lock(_mutex); pSnd->soundType = Audio::Mixer::kMusicSoundType; if (pSnd->pMidiParser == NULL) { pSnd->pMidiParser = new MidiParser_SCI(_soundVersion, this); @@ -334,7 +334,6 @@ void SciMusic::soundInitSnd(MusicEntry *pSnd) { pSnd->loop = prevLoop; pSnd->hold = prevHold; pSnd->pMidiParser->mainThreadEnd(); - _mutex.unlock(); } } } @@ -441,7 +440,7 @@ void SciMusic::soundPlay(MusicEntry *pSnd) { } } else { if (pSnd->pMidiParser) { - _mutex.lock(); + Common::StackLock lock(_mutex); pSnd->pMidiParser->mainThreadBegin(); pSnd->pMidiParser->tryToOwnChannels(); if (pSnd->status != kSoundPaused) @@ -468,7 +467,6 @@ void SciMusic::soundPlay(MusicEntry *pSnd) { pSnd->loop = prevLoop; pSnd->hold = prevHold; pSnd->pMidiParser->mainThreadEnd(); - _mutex.unlock(); } } @@ -484,7 +482,7 @@ void SciMusic::soundStop(MusicEntry *pSnd) { _pMixer->stopHandle(pSnd->hCurrentAud); if (pSnd->pMidiParser) { - _mutex.lock(); + Common::StackLock lock(_mutex); pSnd->pMidiParser->mainThreadBegin(); // We shouldn't call stop in case it's paused, otherwise we would send // allNotesOff() again @@ -492,7 +490,6 @@ void SciMusic::soundStop(MusicEntry *pSnd) { pSnd->pMidiParser->stop(); freeChannels(pSnd); pSnd->pMidiParser->mainThreadEnd(); - _mutex.unlock(); } pSnd->fadeStep = 0; // end fading, if fading was in progress @@ -504,11 +501,10 @@ void SciMusic::soundSetVolume(MusicEntry *pSnd, byte volume) { // we simply ignore volume changes for samples, because sierra sci also // doesn't support volume for samples via kDoSound } else if (pSnd->pMidiParser) { - _mutex.lock(); + Common::StackLock lock(_mutex); pSnd->pMidiParser->mainThreadBegin(); pSnd->pMidiParser->setVolume(volume); pSnd->pMidiParser->mainThreadEnd(); - _mutex.unlock(); } } @@ -530,13 +526,12 @@ void SciMusic::soundKill(MusicEntry *pSnd) { pSnd->status = kSoundStopped; if (pSnd->pMidiParser) { - _mutex.lock(); + Common::StackLock lock(_mutex); pSnd->pMidiParser->mainThreadBegin(); pSnd->pMidiParser->unloadMusic(); pSnd->pMidiParser->mainThreadEnd(); delete pSnd->pMidiParser; pSnd->pMidiParser = NULL; - _mutex.unlock(); } if (pSnd->pStreamAud) { @@ -547,7 +542,7 @@ void SciMusic::soundKill(MusicEntry *pSnd) { pSnd->pLoopStream = 0; } - _mutex.lock(); + Common::StackLock lock(_mutex); uint sz = _playList.size(), i; // Remove sound from playlist for (i = 0; i < sz; i++) { @@ -558,7 +553,6 @@ void SciMusic::soundKill(MusicEntry *pSnd) { break; } } - _mutex.unlock(); } void SciMusic::soundPause(MusicEntry *pSnd) { @@ -581,12 +575,11 @@ void SciMusic::soundPause(MusicEntry *pSnd) { _pMixer->pauseHandle(pSnd->hCurrentAud, true); } else { if (pSnd->pMidiParser) { - _mutex.lock(); + Common::StackLock lock(_mutex); pSnd->pMidiParser->mainThreadBegin(); pSnd->pMidiParser->pause(); freeChannels(pSnd); pSnd->pMidiParser->mainThreadEnd(); - _mutex.unlock(); } } } |