Lines Matching +full:4 +full:- +full:temp

1 /*-
2 * Copyright (c) 2015-2019 Hans Petter Selasky
53 value[4] = *format & VPREFERRED_ULE_AFMT; in oss_set_format()
67 return (-1); in oss_set_format()
73 if (pbe->fd > -1) { in oss_close()
74 close(pbe->fd); in oss_close()
75 pbe->fd = -1; in oss_close()
83 int temp; in oss_open() local
86 pbe->fd = open(devname, attr); in oss_open()
87 if (pbe->fd < 0) { in oss_open()
89 return (-1); in oss_open()
91 err = ioctl(pbe->fd, FIONBIO, &fionbio); in oss_open()
96 err = oss_set_format(pbe->fd, pformat); in oss_open()
101 temp = *pchannels; in oss_open()
102 bufsize /= temp; /* get buffer size per channel */ in oss_open()
104 err = ioctl(pbe->fd, SOUND_PCM_WRITE_CHANNELS, &temp); in oss_open()
105 } while (err < 0 && --temp > 0); in oss_open()
107 err = ioctl(pbe->fd, SOUND_PCM_READ_CHANNELS, &temp); in oss_open()
108 if (err < 0 || temp <= 0 || temp > *pchannels) { in oss_open()
109 warn("Could not set DSP channels: %d / %d", temp, *pchannels); in oss_open()
112 *pchannels = temp; in oss_open()
114 temp = samplerate; in oss_open()
115 err = ioctl(pbe->fd, SNDCTL_DSP_SPEED, &temp); in oss_open()
116 if (err < 0 || temp != samplerate) { in oss_open()
117 warn("Could not set sample rate to %d / %d Hz", temp, samplerate); in oss_open()
121 temp = bufsize * (*pchannels); in oss_open()
122 err = ioctl(pbe->fd, SNDCTL_DSP_SETBLKSIZE, &temp); in oss_open()
124 warn("Could not set block size to %d", temp); in oss_open()
129 close(pbe->fd); in oss_open()
130 pbe->fd = -1; in oss_open()
131 return (-1); in oss_open()
145 bufsize *= 4; /* XXX allow extra space for jitter */ in oss_play_open()
152 struct pollfd fds = { .fd = pbe->fd, .events = POLLIN | POLLRDNORM }; in oss_rec_transfer()
158 return (-1); in oss_rec_transfer()
159 return (read(pbe->fd, ptr, len)); in oss_rec_transfer()
165 return (write(pbe->fd, ptr, len)); in oss_play_transfer()
171 if (ioctl(pbe->fd, FIONREAD, pdelay) != 0) in oss_rec_delay()
172 *pdelay = -1; in oss_rec_delay()
179 ioctl(pbe->fd, SNDCTL_DSP_GETODELAY, pdelay) != 0) in oss_play_delay()
180 *pdelay = -1; in oss_play_delay()
188 .fd = -1,
196 .fd = -1,