Skip to content

feat: audio tag hls support#1079

Open
closetcaiman wants to merge 20 commits into
mainfrom
feat/audio-tag-hls-support
Open

feat: audio tag hls support#1079
closetcaiman wants to merge 20 commits into
mainfrom
feat/audio-tag-hls-support

Conversation

@closetcaiman
Copy link
Copy Markdown
Contributor

@closetcaiman closetcaiman commented May 28, 2026

Closes #

⚠️ Breaking changes ⚠️

Introduced changes

  • added HLS support in <Audio>
    • added SeekDecoderDaemon class which hold SPSC s for communication between JS thread (seek commands) and Audio thread (decoded frames). The class is used as a daemon thread (via operator()()) that is spawned on play and joined on disable. Uses decoding::IncrementalAudioDecoder depending on the file format.
    • now AudioFileSourceNode handles 3 threads:
      • JS -> initializes the node and requests seek commands
      • SeekDecoderDaemon -> listens for seek commands, performs decoder->seekToTime, drains frame SPSC of stale frames in case of seek, pushes the decoded frames into the frame SPSC
      • Audio -> processes the node, reads from frame SPSC, in case of seek request outputs silence
    • updated NodeOptionsParser to handle HLS format and throw in case of ffmpeg-less build when processing ffmpeg-required formats
  • deprecated StreamerNode
    • the implementation is still in the codebase
    • added @deprecated annot on the JS side
    • updated the docs

Checklist

  • Linked relevant issue
  • Updated relevant documentation
  • Added/Conducted relevant tests
  • Performed self-review of the code
  • Updated Web Audio API coverage
  • Added support for web
  • Updated old arch android spec file

@closetcaiman closetcaiman marked this pull request as ready for review June 1, 2026 12:23
@closetcaiman closetcaiman requested a review from mdydek June 1, 2026 12:47
Comment thread packages/audiodocs/docs/sources/streamer-node.mdx Outdated
@closetcaiman closetcaiman requested a review from mdydek June 1, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants