21 static int stereo
= 1;
22 static int samplerate
= 44100;
24 static ao_device
*device
;
25 static ao_sample_format format
;
29 rcvar_t pcm_exports
[] =
31 RCV_BOOL("sound", &sound
),
32 RCV_INT("stereo", &stereo
),
33 RCV_INT("samplerate", &samplerate
),
38 static void no_sound(void) {
41 pcm
.buf
= malloc(pcm
.len
);
56 format
.rate
= samplerate
;
57 format
.byte_format
= AO_FMT_LITTLE
;
58 aodriver
= ao_default_driver_id();
59 device
= ao_open_live(aodriver
, &format
, NULL
);
68 pcm
.len
= samplerate
/ 60;
69 pcm
.buf
= malloc(pcm
.len
);
74 if (pcm
.buf
) free(pcm
.buf
);
75 memset(&pcm
, 0, sizeof pcm
);
76 if(device
) ao_close(device
);
86 if (pcm
.buf
) ao_play(device
, pcm
.buf
, pcm
.pos
);