diff options
-rw-r--r-- | default.cfg | 2 | ||||
-rwxr-xr-x | render_sdl.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/default.cfg b/default.cfg index 8d76e6d..f7a3a5a 100644 --- a/default.cfg +++ b/default.cfg @@ -335,6 +335,8 @@ audio { rate 48000 buffer 512 lowpass_cutoff 3390 + #Use f32 for 32-bit floating point, s16 for signed 16-bit integer + format f32 } clocks { diff --git a/render_sdl.c b/render_sdl.c index 441109d..f2d050b 100755 --- a/render_sdl.c +++ b/render_sdl.c @@ -903,7 +903,8 @@ static void init_audio() rate = 48000; } desired.freq = rate; - desired.format = AUDIO_F32SYS; + char *config_format = tern_find_path_default(config, "audio\0format\0", (tern_val){.ptrval="f32"}, TVAL_PTR).ptrval; + desired.format = !strcmp(config_format, "s16") ? AUDIO_S16SYS : AUDIO_F32SYS; desired.channels = 2; char * samples_str = tern_find_path(config, "audio\0buffer\0", TVAL_PTR).ptrval; int samples = samples_str ? atoi(samples_str) : 0; |