You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-22 15:06:45 +00:00
[Web] Restore ScriptProcessorNode audio driver fallback
Godot has a ScriptProcessorNode audio driver implementation for the (deprecated) Web API. As reported by some users, this fallback was not properly re-added during the Godot 4 transition, and was left as "dead code". While the API is deprecated, it is still supported by most browsers, and some WebView may not implement AudioWorklet correctly (the new recommended API). This commit re-adds the ScriptProcessorNode implementation as a fallback if the AudioWorklet driver fails to initialized (and can be forced if desired via project settings as usual).
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user