Fix host-sdl/doom audio. Have app ask via syscall if audio can be rendered before sending, else any mismatch in rates will cause queue over/underflow in host-sdl.

This commit is contained in:
Toby Jaffey 2025-12-15 10:48:10 +00:00
parent 4e61e3bd4a
commit 09985655a2
4 changed files with 16 additions and 8 deletions

View file

@ -198,8 +198,10 @@ fn submain() !void {
while(true) {
pd.doom_update();
const doomSndBuf: [*]i16 = pd.doom_get_sound_buffer();
uvm.renderAudio(doomSndBuf, 2048);
if (uvm.canRenderAudio()) {
const doomSndBuf: [*]i16 = pd.doom_get_sound_buffer();
uvm.renderAudio(doomSndBuf, 2048);
}
const fb: [*]const u8 = pd.doom_get_framebuffer(4);
uvm.render(fb, WIDTH * HEIGHT * 4);