From 634d84869ecae3319c1a7bfae07b49bd6e34900c Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Tue, 10 Dec 2024 14:32:07 +0100 Subject: [PATCH] [Web] Restore ScriptAudioWorkletFallback --- platform/web/audio_driver_web.cpp | 4 ++-- platform/web/audio_driver_web.h | 5 ++--- platform/web/os_web.cpp | 1 + 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/platform/web/audio_driver_web.cpp b/platform/web/audio_driver_web.cpp index 0108f407262a..f3d5b5cd1a16 100644 --- a/platform/web/audio_driver_web.cpp +++ b/platform/web/audio_driver_web.cpp @@ -479,6 +479,8 @@ void AudioDriverWorklet::_capture_callback(int p_pos, int p_samples) { driver->_audio_driver_capture(p_pos, p_samples); } +#endif // THREADS_ENABLED + /// ScriptProcessorNode implementation AudioDriverScriptProcessor *AudioDriverScriptProcessor::singleton = nullptr; @@ -497,5 +499,3 @@ Error AudioDriverScriptProcessor::create(int &p_buffer_samples, int p_channels) void AudioDriverScriptProcessor::start(float *p_out_buf, int p_out_buf_size, float *p_in_buf, int p_in_buf_size) { godot_audio_script_start(p_in_buf, p_in_buf_size, p_out_buf, p_out_buf_size, &_process_callback); } - -#endif // THREADS_ENABLED diff --git a/platform/web/audio_driver_web.h b/platform/web/audio_driver_web.h index d352fa469225..c317acfff017 100644 --- a/platform/web/audio_driver_web.h +++ b/platform/web/audio_driver_web.h @@ -169,6 +169,8 @@ class AudioDriverWorklet : public AudioDriverWeb { AudioDriverWorklet() { singleton = this; } }; +#endif // THREADS_ENABLED + class AudioDriverScriptProcessor : public AudioDriverWeb { private: static void _process_callback(); @@ -178,7 +180,6 @@ class AudioDriverScriptProcessor : public AudioDriverWeb { protected: virtual Error create(int &p_buffer_size, int p_output_channels) override; virtual void start(float *p_out_buf, int p_out_buf_size, float *p_in_buf, int p_in_buf_size) override; - virtual void finish_driver() override; public: virtual const char *get_name() const override { return "ScriptProcessor"; } @@ -191,6 +192,4 @@ class AudioDriverScriptProcessor : public AudioDriverWeb { AudioDriverScriptProcessor() { singleton = this; } }; -#endif // THREADS_ENABLED - #endif // AUDIO_DRIVER_WEB_H diff --git a/platform/web/os_web.cpp b/platform/web/os_web.cpp index 51facbaa845d..c7ca613f4e6b 100644 --- a/platform/web/os_web.cpp +++ b/platform/web/os_web.cpp @@ -275,6 +275,7 @@ OS_Web::OS_Web() { if (AudioDriverWeb::is_available()) { audio_drivers.push_back(memnew(AudioDriverWorklet)); + audio_drivers.push_back(memnew(AudioDriverScriptProcessor)); } for (AudioDriverWeb *audio_driver : audio_drivers) { AudioDriverManager::add_driver(audio_driver);