89 |
oss_close(void) |
oss_close(void) |
90 |
{ |
{ |
91 |
close(g_dsp_fd); |
close(g_dsp_fd); |
92 |
|
g_dsp_busy = 0; |
93 |
} |
} |
94 |
|
|
95 |
BOOL |
BOOL |
124 |
if (ioctl(g_dsp_fd, SNDCTL_DSP_SETFMT, &format) == -1) |
if (ioctl(g_dsp_fd, SNDCTL_DSP_SETFMT, &format) == -1) |
125 |
{ |
{ |
126 |
perror("SNDCTL_DSP_SETFMT"); |
perror("SNDCTL_DSP_SETFMT"); |
127 |
close(g_dsp_fd); |
oss_close(); |
128 |
return False; |
return False; |
129 |
} |
} |
130 |
|
|
141 |
if (ioctl(g_dsp_fd, SNDCTL_DSP_STEREO, &stereo) == -1) |
if (ioctl(g_dsp_fd, SNDCTL_DSP_STEREO, &stereo) == -1) |
142 |
{ |
{ |
143 |
perror("SNDCTL_DSP_CHANNELS"); |
perror("SNDCTL_DSP_CHANNELS"); |
144 |
close(g_dsp_fd); |
oss_close(); |
145 |
return False; |
return False; |
146 |
} |
} |
147 |
|
|
163 |
(snd_rate, pwfx->wBitsPerSample, pwfx->nChannels) == False) |
(snd_rate, pwfx->wBitsPerSample, pwfx->nChannels) == False) |
164 |
{ |
{ |
165 |
error("rdpsnd_dsp_resample_set failed"); |
error("rdpsnd_dsp_resample_set failed"); |
166 |
close(g_dsp_fd); |
oss_close(); |
167 |
return False; |
return False; |
168 |
} |
} |
169 |
|
|
175 |
if (*prates == 0) |
if (*prates == 0) |
176 |
{ |
{ |
177 |
perror("SNDCTL_DSP_SPEED"); |
perror("SNDCTL_DSP_SPEED"); |
178 |
close(g_dsp_fd); |
oss_close(); |
179 |
return False; |
return False; |
180 |
} |
} |
181 |
} |
} |
192 |
if (ioctl(g_dsp_fd, SNDCTL_DSP_GETOSPACE, &info) == -1) |
if (ioctl(g_dsp_fd, SNDCTL_DSP_GETOSPACE, &info) == -1) |
193 |
{ |
{ |
194 |
perror("SNDCTL_DSP_GETOSPACE"); |
perror("SNDCTL_DSP_GETOSPACE"); |
195 |
close(g_dsp_fd); |
oss_close(); |
196 |
return False; |
return False; |
197 |
} |
} |
198 |
|
|