Audio: no sound except the flying wind (Windows 11, onboard 3.5 mm, Voicemeeter installed) #146
Labels
No labels
amd
avatars
bug
builder
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
rendering
rt
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
backspace119/Slipstream#146
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Reported by a tester (Windows 11).
Symptom
No sound at all except the wind "whoosh" while flying. Every other sound is silent.
Setup
Why the wind still plays
Wind is synthesised by the viewer (LLWindGen, fed straight into the audio engine's stream). Everything else is decoded Ogg sound assets played through audio sources. So wind working while all assets are silent points at one of these rather than at the output device:
Next steps / need from the user
Slipstream.logfrom a session where they fly (wind plays) and trigger known sounds (UI clicks, a gesture sound, a teleport). Look for audio engine init (OpenAL device name, sample rate), audio decode or fetch errors, and "failed" lines around sounds.Possibly related: #108 (degraded audio for one tester).
Root cause found from the log. Every decoded sound fails to load:
LLAudioBufferOpenAL::loadWAV() Error loading C:\Users\[A COOL NAME]\AppData\Local\SlipstreamViewer\<id>.dsf I/O errorThe file exists (the viewer's own UTF-8-aware
isfilecheck passed), but ALUT'salutCreateBufferFromFileopens it with a narrowfopen(), which Windows interprets in the ANSI codepage, while our paths are UTF-8. A Windows profile name with non-ASCII characters (the tester's system is Portuguese, e.g.C:\Users\João) can't be opened, so no sound asset ever plays. The wind is synthesised in memory and needs no file, which is why it's the only thing audible.The tester's other findings fit: other games are fine, the default device is the onboard speakers, and volumes are set correctly. Voicemeeter is not involved.
Fix (local, not pushed yet): read the decoded file through
LLFile::getContents(wide-char API on Windows) and create the buffer from memory withalutCreateBufferFromFileImage.The volume sliders were also checked: every slider and mute toggle is bound to an existing setting and is re-applied every frame (master = listener gain; SFX / UI / ambient = per-sound secondary gain; music = stream gain).
Workaround until the fix ships: none short of a profile path without accented characters.
Their Firestorm / LL viewer having no sound at all is likely a separate problem (different audio engines); not investigated.