Sounds sometimes never play (scripted music players especially) #891

Closed
opened 2026-10-20 16:27:51 +00:00 by sky_line · 1 comment
Owner

Some sounds never play.

  • Who it hits most: scripted music players. They chain many short sound clips (llPreloadSound, llPlaySound / llTriggerSound, llSetSoundQueueing), and individual clips, or the rest of the song, go silent.
  • Where it came from: this is old behaviour inherited from Alchemy/LL, not a recent regression.

The #883 memory audit (3987d194db) found that the audio decode manager wedged after failed decodes:

  • A failed decode was put back as "in flight" and never finished.
  • Each failure therefore held one of the decode slots for the rest of the session.
  • Once enough bad assets had been seen, no new sound ever decoded again.

That is fixed, but it may not be the whole story.

Scope

  • Find every way a requested sound can fail to play: fetch, decode, buffer, source, queueing or timing.
  • Retry failures with a bound: retry a failed fetch or decode a few times before marking the asset bad.
  • Never let a bad or slow asset block other sounds.
  • Make clip chaining for music players reliable.
  • Log why a sound didn't play.
Some sounds never play. - **Who it hits most:** scripted music players. They chain many short sound clips (`llPreloadSound`, `llPlaySound` / `llTriggerSound`, `llSetSoundQueueing`), and individual clips, or the rest of the song, go silent. - **Where it came from:** this is old behaviour inherited from Alchemy/LL, not a recent regression. ## Related finding The #883 memory audit (3987d194db) found that the audio decode manager wedged after failed decodes: - A failed decode was put back as "in flight" and never finished. - Each failure therefore held one of the decode slots for the rest of the session. - Once enough bad assets had been seen, no new sound ever decoded again. That is fixed, but it may not be the whole story. ## Scope - Find every way a requested sound can fail to play: fetch, decode, buffer, source, queueing or timing. - Retry failures with a bound: retry a failed fetch or decode a few times before marking the asset bad. - Never let a bad or slow asset block other sounds. - Make clip chaining for music players reliable. - Log why a sound didn't play.
sky_line added this to the Slipstream project 2026-10-20 16:27:51 +00:00
Author
Owner

Fixed in 1.4.1 (e7a42481d8). Reopen if you still see it.

Fixed in 1.4.1 (e7a42481d8). Reopen if you still see it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#891
No description provided.