You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment we are decoding audio files using a worker, audio worklet, audio buffer processor, and a couple SharedArrayBuffer's.
This has multiple drawbacks
We are decoding audio files in JavaScript (extremely slow)
It means that our bundle is not one file, and it has assets/ directory for the audio worklets, and buffer builder processor
Because we use SharedArrayBuffer, we need the COEP, CORP headers, and all assets need to be served with a CORS header. This means that it can sometimes be difficult to implement these web components in your website because you need to update your serving headers (sometimes not possible with third parties such as GitHub pages).
We originally used this architecture because Firefox and Safari didn't support the AudioDecoder web codec API needed to decode audio files using browsers C++/C/ASM/ffmpeg code.
At the moment we are decoding audio files using a worker, audio worklet, audio buffer processor, and a couple
SharedArrayBuffer
's.This has multiple drawbacks
assets/
directory for the audio worklets, and buffer builder processorSharedArrayBuffer
, we need the COEP, CORP headers, and all assets need to be served with a CORS header. This means that it can sometimes be difficult to implement these web components in your website because you need to update your serving headers (sometimes not possible with third parties such as GitHub pages).We originally used this architecture because Firefox and Safari didn't support the
AudioDecoder
web codec API needed to decode audio files using browsers C++/C/ASM/ffmpeg code.However, Firefox recently implemented support for the WebCodec API (see: https://bugzilla.mozilla.org/show_bug.cgi?id=1746557#c20), and Safari is not too far behind.
We should migrate to the
AudioDecoder
API for faster performance, better bundling, and support for looser header security.The text was updated successfully, but these errors were encountered: