void AudioChannel::SoundSourceFinished(CSoundSource* sndSource) { if (curStreamSrc == sndSource) { if (!streamQueue.empty()) { StreamPlay(streamQueue.back(), false); streamQueue.pop_back(); } else { curStreamSrc = nullptr; } } curSources.erase(sndSource); }
void AudioChannel::SoundSourceFinished(CSoundSource* sndSource) { if (curStreamSrc == sndSource) { if (!streamQueue.empty()) { StreamQueueItem& next = streamQueue.back(); StreamPlay(next.fileName, next.volume, false); streamQueue.pop_back(); } else { curStreamSrc = NULL; } } cur_sources.erase(sndSource); }
void AudioChannel::SoundSourceFinished(CSoundSource* sndSource) { boost::recursive_mutex::scoped_lock lck(chanMutex); if (curStreamSrc == sndSource) { if (!streamQueue.empty()) { StreamQueueItem& next = streamQueue.back(); StreamPlay(next.fileName, next.volume, false); streamQueue.pop_back(); } else { curStreamSrc = NULL; } } cur_sources.erase(sndSource); }