Ticket #3525: 1854550.diff
File 1854550.diff, 915 bytes (added by , 15 years ago) |
---|
-
imuse_digi/dimuse_track.cpp
71 71 } 72 72 73 73 void IMuseDigital::startSound(int soundId, const char *soundName, int soundType, int volGroupId, Audio::AudioStream *input, int hookId, int volume, int priority) { 74 Common::StackLock lock(_mutex, "IMuseDigital::startSound()"); 74 75 debug(5, "IMuseDigital::startSound(%d)", soundId); 75 76 76 77 int l = allocSlot(priority); … … 81 82 82 83 Track *track = _track[l]; 83 84 while (1) { 84 _mutex.lock();85 85 if (!track->used) { 86 86 break; 87 87 } … … 94 94 #ifndef __PLAYSTATION2__ 95 95 _vm->parseEvents(); 96 96 #endif 97 _mutex.lock(); 97 98 } 98 99 99 100 track->pan = 64; … … 191 192 } 192 193 193 194 track->used = true; 194 _mutex.unlock();195 195 } 196 196 197 197 void IMuseDigital::setPriority(int soundId, int priority) {