From 2b7f78d239e542f44b0e3ffa87177244b760a80d Mon Sep 17 00:00:00 2001 From: Varun Patil Date: Tue, 5 May 2020 11:17:12 +0530 Subject: [PATCH] Remove audio mutexes --- src/alstream.cpp | 8 ++++++++ src/audiostream.cpp | 4 ++++ src/eventthread.cpp | 10 +++++++--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/alstream.cpp b/src/alstream.cpp index a8cddae..9dcca49 100644 --- a/src/alstream.cpp +++ b/src/alstream.cpp @@ -323,26 +323,34 @@ void ALStream::startStream(float offset) void ALStream::pauseStream() { +#ifndef __EMSCRIPTEN__ SDL_LockMutex(pauseMut); +#endif if (AL::Source::getState(alSrc) != AL_PLAYING) preemptPause = true; else AL::Source::pause(alSrc); +#ifndef __EMSCRIPTEN__ SDL_UnlockMutex(pauseMut); +#endif } void ALStream::resumeStream() { +#ifndef __EMSCRIPTEN__ SDL_LockMutex(pauseMut); +#endif if (preemptPause) preemptPause = false; else AL::Source::play(alSrc); +#ifndef __EMSCRIPTEN__ SDL_UnlockMutex(pauseMut); +#endif } void ALStream::checkStopped() diff --git a/src/audiostream.cpp b/src/audiostream.cpp index 104e246..54eeaf9 100644 --- a/src/audiostream.cpp +++ b/src/audiostream.cpp @@ -231,12 +231,16 @@ void AudioStream::fadeOut(int duration) * protected by a 'lock'/'unlock' pair */ void AudioStream::lockStream() { +#ifndef __EMSCRIPTEN__ SDL_LockMutex(streamMut); +#endif } void AudioStream::unlockStream() { +#ifndef __EMSCRIPTEN__ SDL_UnlockMutex(streamMut); +#endif } void AudioStream::setVolume(VolumeType type, float value) diff --git a/src/eventthread.cpp b/src/eventthread.cpp index ac2e3fd..574bad7 100644 --- a/src/eventthread.cpp +++ b/src/eventthread.cpp @@ -40,7 +40,6 @@ #include - struct ALCFunctions { @@ -586,11 +585,10 @@ void EventThread::requestShowCursor(bool mode) SDL_PushEvent(&event); } -#include void EventThread::showMessageBox(const char *body, int flags) { msgBoxDone.clear(); - printf(body); + printf("Message: %s", body); /* Prevent endless loops */ resetInputStates(); } @@ -718,25 +716,31 @@ SyncPoint::Util::~Util() void SyncPoint::Util::lock() { +#ifndef __EMSCRIPTEN__ locked.set(); +#endif } void SyncPoint::Util::unlock(bool multi) { +#ifndef __EMSCRIPTEN__ locked.clear(); if (multi) SDL_CondBroadcast(cond); else SDL_CondSignal(cond); +#endif } void SyncPoint::Util::waitForUnlock() { +#ifndef __EMSCRIPTEN__ SDL_LockMutex(mut); while (locked) SDL_CondWait(cond, mut); SDL_UnlockMutex(mut); +#endif }