Skip to content

Fix Overlapping TTS Playback when different characters are speaking in turns#8

Open
JoeyBelvar wants to merge 5 commits into
Sebane1:mainfrom
JoeyBelvar:codex/mediaobject-done-playing-null-safety
Open

Fix Overlapping TTS Playback when different characters are speaking in turns#8
JoeyBelvar wants to merge 5 commits into
Sebane1:mainfrom
JoeyBelvar:codex/mediaobject-done-playing-null-safety

Conversation

@JoeyBelvar
Copy link
Copy Markdown
Contributor

@JoeyBelvar JoeyBelvar commented May 15, 2026

Intent: harden media playback cleanup so interrupted NPC audio is stopped reliably and disposal races do not throw.

  • Guards DonePlayingCheck() against player/stream disposal races.
  • Centralizes MediaObject stop/dispose cleanup so playback handles are captured before fields are cleared.
  • Stops existing NPC media before replacing its dictionary entry, preserving the only handle able to halt stale playback.
  • Adds focused NPC audio stop diagnostics for found/missing/failed stop paths.
  • Uses TryGetValue() in NPC media stop/replacement paths to avoid dictionary lookup races.

Supports: Sebane1/RoleplayingVoiceDalamud#61

@JoeyBelvar JoeyBelvar force-pushed the codex/mediaobject-done-playing-null-safety branch from c8a6040 to 1c8558e Compare May 16, 2026 11:42
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.

1 participant