Skip to content

Latest commit

 

History

History
63 lines (52 loc) · 1.57 KB

ROADMAP.md

File metadata and controls

63 lines (52 loc) · 1.57 KB

Rawr DSP roadmap

Rawr DSP is a pretty big undertaking, so this should help organization.

Stage 0.1: Proof of concepts

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

Stage 1: Implement the core basics

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

Stage 2: modular API

  • RMStream
  • Wrap all core functions in stream versions
    • HTTP
    • Queue source
    • Decoders
    • Aligner and other utils

Stage 3: high level api

  • 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