-

@ Animegirl supremacist
2025-02-23 06:12:39
nostr:nprofile1qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyqpqs77zadrsjwsmrmtf566vz374l6v8wgnmhz3npcetjaugjdscvzsqz9cjsz
Usage example:
fn pcmSetup(pcm: *c.snd_pcm_t, hw_params: *c.snd_pcm_hw_params_t) !void {
try alsaError(c.snd_pcm_hw_params_any(pcm, hw_params));
alsaError(c.snd_pcm_hw_params_set_access(pcm, hw_params, c.SND_PCM_ACCESS_MMAP_COMPLEX)) catch
alsaError(c.snd_pcm_hw_params_set_access(pcm, hw_params, c.SND_PCM_ACCESS_MMAP_INTERLEAVED)) catch
try alsaError(c.snd_pcm_hw_params_set_access(pcm, hw_params, c.SND_PCM_ACCESS_MMAP_NONINTERLEAVED));
try alsaError(c.snd_pcm_hw_params_set_format(pcm, hw_params, c.SND_PCM_FORMAT_S24_3LE));
var dir: c_int = undefined;
var rate: c_uint = undefined;
var period_size: c.snd_pcm_uframes_t = undefined;
try alsaError(c.snd_pcm_hw_params_set_rate_last(pcm, hw_params, &rate, &dir));
try alsaError(c.snd_pcm_hw_params_set_channels(pcm, hw_params, 2));
try alsaError(c.snd_pcm_hw_params_set_period_size_first(pcm, hw_params, &period_size, &dir));
std.debug.print("period size {d}\n", .{period_size});
return;
}