Rawr DSP is a pretty big undertaking, so this should help organization.
Create proof-of-concepts that our core techniques will work.
- Proof of concept of (seamless) double-buffering source
- Chrome
- Firefox
- Safari
- Proof of concept of decoding MP3 frame-by-frame
- Chrome
- Firefox
- Safari
- Proof of concept HTTP response streaming into individual MP3 frames
- Chrome
- Firefox
- Safari
- Proof of concept of decoding Opus frame-by-frame
- Chrome
- Firefox
- Safari
Start building the basics of rawr dsp
- Shared tools
- Automatic audio context use and resuming
- Double buffering source
- Queue source
- Chunking sink
- Codec chunkers
- Decoders for easy or particularly desirable formats
- WAV
- FLAC
- QOA (not common but should be useful for testing)
- MP3 (!!!!)
- Opus
- AAC
- Vorbis
- Chunk aligner
- Chunk auto combiner
- Core HTTP streaming implementation
-
RMStream
- Wrap all core functions in stream versions
- HTTP
- Queue source
- Decoders
- Aligner and other utils
- Audio player that takes a possibly incomplete stream of frames and plays it
- Can play back when input is healthy
- Automatically wait when input is empty
- Seeking (requires buffering past input)
- Automatic disposal of input stream