aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache/buffer_cache.cpp
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-31 10:16:49 -0400
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-31 10:16:49 -0400
commit140489e51fc6a773146eace7ebdc6ccb8ad551d4 (patch)
treeb468b2adffe8cff412b2f3da83c9d30fa63c0b5a /src/video_core/buffer_cache/buffer_cache.cpp
parent8ac95d5e42fc571279eede89bfd0a4f83d2783d2 (diff)
nx2: give the Switch 2 audio streams (auddmg:u, audsmx:u) real objects
Switch Sports' menu movie plays its sound through an nn::audio output stream, which the SDK builds on the virtual output devices (auddmg:u) and the sysmix sessions (audsmx:u). Without them it stopped with 2153-1600, then 2153-1604. - auddmg:u 0 returns the virtual device manager: one stereo 48 kHz device (list, default, format check, the 0x228-byte property block, state event). The block's u32 at 0x220 is the device id the SDK hands to CreateStream, which refuses 0. 700/800 attach and detach a stream (OutputStream Start/Stop). - audsmx:u 0 returns the user session: CreateStream (buffer address and size of the game's ring) returning a stream object, Engage/Disengage. The stream object takes the format, gain, prime/purge/clock and the state and data events. - A 5 ms timer moves the ring's read index (buffer + 0x44) toward the game's write index (buffer + 0x1004) at the sample rate while a stream is attached, and signals the data event while the ring has room, so the movie keeps feeding it. The audio is not mixed into Eden's output yet.
Diffstat (limited to 'src/video_core/buffer_cache/buffer_cache.cpp')
0 files changed, 0 insertions, 0 deletions