5 static struct audrv drv;
\r
7 static audio_callback_func cbfunc;
\r
10 /* driver detect/init functions are defined in their respective source files */
\r
11 int sb_detect(struct audrv *drv);
\r
14 int audio_init(void)
\r
16 if(sb_detect(&drv)) {
\r
20 fprintf(stderr, "No supported audio device detected\n");
\r
24 void audio_set_callback(audio_callback_func func, void *cls)
\r
30 int audio_callback(void *buf, int sz)
\r
35 return cbfunc(buf, sz, cbcls);
\r
38 void audio_play(int rate, int bits, int nchan)
\r
40 printf("play %d samples/s, %d bits, %s\n", rate, bits, nchan == 1 ? "mono" : "stereo");
\r
41 drv.start(rate, bits, nchan);
\r
44 void audio_pause(void)
\r
49 void audio_resume(void)
\r
54 void audio_stop(void)
\r
59 void audio_setvolume(int ctl, int vol)
\r
61 drv.setvolume(ctl, vol);
\r
64 int audio_getvolume(int ctl)
\r
66 return drv.getvolume(ctl);
\r
69 int audio_isplaying(void)
\r
71 return drv.isplaying();
\r