aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2021-03-27 16:40:13 +0100
committerAndre Weissflog <floooh@gmail.com>2021-03-27 16:40:13 +0100
commit40f980ae55e047f11959d5444ae5fdb205ff2088 (patch)
treefaa0cf0fc32dc7120af5a2c26713239acce16afb
parente4f778a25789df20c9ac7a06c693198c47df5b13 (diff)
sokol_audio.h: platform detection fixes
-rw-r--r--sokol_audio.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/sokol_audio.h b/sokol_audio.h
index e69ae29c..f14da1cf 100644
--- a/sokol_audio.h
+++ b/sokol_audio.h
@@ -516,7 +516,10 @@ inline void saudio_setup(const saudio_desc& desc) { return saudio_setup(&desc);
#endif
// platform-specific headers and definitions
-#if defined(_SAUDIO_WINDOWS)
+#if defined(SOKOL_DUMMY_BACKEND)
+ #define _SAUDIO_NOTHREADS (1)
+#elif defined(_SAUDIO_WINDOWS)
+ #define _SAUDIO_WINTHREADS (1)
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
@@ -586,6 +589,7 @@ inline void saudio_setup(const saudio_desc& desc) { return saudio_setup(&desc);
#define ALSA_PCM_NEW_HW_PARAMS_API
#include <alsa/asoundlib.h>
#elif defined(__EMSCRIPTEN__)
+ #define _SAUDIO_NOTHREADS (1)
#include <emscripten/emscripten.h>
#endif
@@ -608,13 +612,13 @@ typedef struct {
pthread_mutex_t mutex;
} _saudio_mutex_t;
-#elif defined(_SAUDIO_WINDOWS)
+#elif defined(_SAUDIO_WINTHREADS)
typedef struct {
CRITICAL_SECTION critsec;
} _saudio_mutex_t;
-#else
+#elif defined(_SAUDIO_NOTHREADS)
typedef struct {
int dummy_mutex;
@@ -720,6 +724,8 @@ typedef struct {
uint8_t* buffer;
} _saudio_backend_t;
+#else
+#error "unknown platform"
#endif
/*=== GENERAL DECLARATIONS ===================================================*/
@@ -778,7 +784,7 @@ _SOKOL_PRIVATE void _saudio_stream_callback(float* buffer, int num_frames, int n
}
/*=== MUTEX IMPLEMENTATION ===================================================*/
-#if defined(SOKOL_DUMMY_BACKEND)
+#if defined(_SAUDIO_NOTHREADS)
_SOKOL_PRIVATE void _saudio_mutex_init(_saudio_mutex_t* m) { (void)m; }
_SOKOL_PRIVATE void _saudio_mutex_destroy(_saudio_mutex_t* m) { (void)m; }
@@ -805,7 +811,7 @@ _SOKOL_PRIVATE void _saudio_mutex_unlock(_saudio_mutex_t* m) {
pthread_mutex_unlock(&m->mutex);
}
-#elif defined(_SAUDIO_WINDOWS)
+#elif defined(_SAUDIO_WINTHREADS)
_SOKOL_PRIVATE void _saudio_mutex_init(_saudio_mutex_t* m) {
InitializeCriticalSection(&m->critsec);