Skip to content

Recover player when initial stems stream pump fails #40

Description

@carochacs

Problem

The optional feedBack-plugin-stems takeover can leave the player permanently silent if its initial streaming pump fails after setup succeeds.

At that point the plugin has paused core <audio> for the handoff, but runPump(true) only logs the error. It does not tear down the takeover or resume core audio. The play request stays pending and the player can appear to be playing/loading with no audible output.

Source

  • feedBack-plugin-stems/src/streaming.js: runPump() catch block
  • Introduced by plugin commit b634bd97 (2026-07-08)
  • The recent Aug 3–4 recovery work handles setup/decode failures, but not an asynchronous failure after the stream pump has started.

Expected behavior

If the initial prefill fails, disable the stems takeover, clear its reroute guard, and resume core <audio> when playback was requested. Later pump failures should also transition to a recoverable and visible failure state.

Regression test

Make appendRound() reject during the initial prefill, then assert that the core audio fallback resumes (or that a documented error state is emitted) instead of leaving the transport pending.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions