dummyaudio: Remove bitrotted support for __EMSCRIPTEN_PTHREADS__ code path.
In SDL_audio.c:OpenPhysicalAudioDevice, an attempt is made to SDL_CreateThread if ProvidesOwnCallbackThread is false, but SDL_CreateThreadWithPropertiesRuntime is not implemented for Emscripten, so this always fails. I'm not sure if/when this ever worked, but it simply cannot work in its current state.
This commit is contained in:
committed by
Sam Lantinga
parent
c15ca27740
commit
8ee7dc2f9f
@@ -25,7 +25,7 @@
|
|||||||
#include "../SDL_sysaudio.h"
|
#include "../SDL_sysaudio.h"
|
||||||
#include "SDL_dummyaudio.h"
|
#include "SDL_dummyaudio.h"
|
||||||
|
|
||||||
#if defined(SDL_PLATFORM_EMSCRIPTEN) && !defined(__EMSCRIPTEN_PTHREADS__)
|
#if defined(SDL_PLATFORM_EMSCRIPTEN)
|
||||||
#include <emscripten/emscripten.h>
|
#include <emscripten/emscripten.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -59,8 +59,8 @@ static bool DUMMYAUDIO_OpenDevice(SDL_AudioDevice *device)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// on Emscripten without threads, we just fire a repeating timer to consume audio.
|
// on Emscripten, we just fire a repeating timer to consume audio.
|
||||||
#if defined(SDL_PLATFORM_EMSCRIPTEN) && !defined(__EMSCRIPTEN_PTHREADS__)
|
#if defined(SDL_PLATFORM_EMSCRIPTEN)
|
||||||
MAIN_THREAD_EM_ASM({
|
MAIN_THREAD_EM_ASM({
|
||||||
var a = Module['SDL3'].dummy_audio;
|
var a = Module['SDL3'].dummy_audio;
|
||||||
if (a.timers[$0] !== undefined) { clearInterval(a.timers[$0]); }
|
if (a.timers[$0] !== undefined) { clearInterval(a.timers[$0]); }
|
||||||
@@ -74,8 +74,8 @@ static bool DUMMYAUDIO_OpenDevice(SDL_AudioDevice *device)
|
|||||||
static void DUMMYAUDIO_CloseDevice(SDL_AudioDevice *device)
|
static void DUMMYAUDIO_CloseDevice(SDL_AudioDevice *device)
|
||||||
{
|
{
|
||||||
if (device->hidden) {
|
if (device->hidden) {
|
||||||
// on Emscripten without threads, we just fire a repeating timer to consume audio.
|
// on Emscripten, we just fire a repeating timer to consume audio.
|
||||||
#if defined(SDL_PLATFORM_EMSCRIPTEN) && !defined(__EMSCRIPTEN_PTHREADS__)
|
#if defined(SDL_PLATFORM_EMSCRIPTEN)
|
||||||
MAIN_THREAD_EM_ASM({
|
MAIN_THREAD_EM_ASM({
|
||||||
var a = Module['SDL3'].dummy_audio;
|
var a = Module['SDL3'].dummy_audio;
|
||||||
if (a.timers[$0] !== undefined) { clearInterval(a.timers[$0]); }
|
if (a.timers[$0] !== undefined) { clearInterval(a.timers[$0]); }
|
||||||
@@ -113,8 +113,8 @@ static bool DUMMYAUDIO_Init(SDL_AudioDriverImpl *impl)
|
|||||||
impl->OnlyHasDefaultRecordingDevice = true;
|
impl->OnlyHasDefaultRecordingDevice = true;
|
||||||
impl->HasRecordingSupport = true;
|
impl->HasRecordingSupport = true;
|
||||||
|
|
||||||
// on Emscripten without threads, we just fire a repeating timer to consume audio.
|
// on Emscripten, we just fire a repeating timer to consume audio.
|
||||||
#if defined(SDL_PLATFORM_EMSCRIPTEN) && !defined(__EMSCRIPTEN_PTHREADS__)
|
#if defined(SDL_PLATFORM_EMSCRIPTEN)
|
||||||
MAIN_THREAD_EM_ASM({
|
MAIN_THREAD_EM_ASM({
|
||||||
Module['SDL3'].dummy_audio = {};
|
Module['SDL3'].dummy_audio = {};
|
||||||
Module['SDL3'].dummy_audio.timers = [];
|
Module['SDL3'].dummy_audio.timers = [];
|
||||||
|
|||||||
Reference in New Issue
Block a user