/* Very specific buffer size requirements here apparently */
uaudio_thread_start(callback, userdata, oss_play,
4608 / uaudio_sample_size,
- 4608 / uaudio_sample_size);
+ 4608 / uaudio_sample_size,
+ 0);
#else
/* We could SNDCTL_DSP_GETBLKSIZE but only when the device is already open,
* which is kind of inconvenient. We go with 1-4Kbyte for now. */
uaudio_thread_start(callback, userdata, oss_play,
32 / uaudio_sample_size,
- 4096 / uaudio_sample_size);
+ 4096 / uaudio_sample_size,
+ 0);
#endif
}
static const char *oss_channels[] = SOUND_DEVICE_NAMES;
static int oss_mixer_find_channel(const char *channel) {
- if(!channel[strspn(c, "0123456789")])
+ if(!channel[strspn(channel, "0123456789")])
return atoi(channel);
else {
- for(int n = 0; n < sizeof oss_channels / sizeof *oss_channels; ++n)
- if(!strcmp(oss_channels[n], channels))
+ for(unsigned n = 0; n < sizeof oss_channels / sizeof *oss_channels; ++n)
+ if(!strcmp(oss_channels[n], channel))
return n;
return -1;
}
int r;
*left = *right = 0;
- if(ioctl(oss_mixer_fd, SOUND_MIXER_READ(ch), &r) < 0)
+ if(ioctl(oss_mixer_fd, SOUND_MIXER_READ(oss_mixer_channel), &r) < 0)
error(errno, "error getting volume");
else {
*left = r & 0xff;
static void oss_set_volume(int *left, int *right) {
int r = (*left & 0xff) + (*right & 0xff) * 256;
- if(ioctl(fd, SOUND_MIXER_WRITE(ch), &r) == -1)
+ if(ioctl(oss_mixer_fd, SOUND_MIXER_WRITE(oss_mixer_channel), &r) == -1)
error(errno, "error setting volume");
- else if(ioctl(oss_mixer_fd, SOUND_MIXER_READ(ch), &r) < 0)
+ else if(ioctl(oss_mixer_fd, SOUND_MIXER_READ(oss_mixer_channel), &r) < 0)
error(errno, "error getting volume");
else {
*left = r & 0xff;