Lines Matching refs:ft

54 static int sunstartread(sox_format_t * ft)  in sunstartread()  argument
57 priv_t* pPriv = (priv_t*)ft->priv; in sunstartread()
66 lsx_set_signal_defaults(ft); in sunstartread()
68 if (ft->filename == 0 || ft->filename[0] == 0 || !strcasecmp("default", ft->filename)) { in sunstartread()
71 szDevname = ft->filename; in sunstartread()
76 lsx_fail_errno(ft, errno, "open failed for device %s", szDevname); in sunstartread()
80 if (ft->encoding.encoding == SOX_ENCODING_UNKNOWN) ft->encoding.encoding = SOX_ENCODING_ULAW; in sunstartread()
85 lsx_fail_errno(ft,errno,"Unable to get information for device %s", szDevname); in sunstartread()
98 if (ft->encoding.bits_per_sample == 8) in sunstartread()
100 if (ft->encoding.encoding != SOX_ENCODING_ULAW && in sunstartread()
101 ft->encoding.encoding != SOX_ENCODING_ALAW) in sunstartread()
104 ft->encoding.encoding = SOX_ENCODING_ULAW; in sunstartread()
107 else if (ft->encoding.bits_per_sample == 16) in sunstartread()
110 ft->encoding.bits_per_sample = 8; in sunstartread()
111 ft->encoding.encoding = SOX_ENCODING_ULAW; in sunstartread()
115 if (ft->encoding.bits_per_sample == 8) { in sunstartread()
118 if (ft->encoding.encoding != SOX_ENCODING_ULAW && in sunstartread()
119 ft->encoding.encoding != SOX_ENCODING_ALAW && in sunstartread()
120 ft->encoding.encoding != SOX_ENCODING_SIGN2) { in sunstartread()
121 …lsx_fail_errno(ft,SOX_EFMT,"Sun audio driver only supports ULAW, ALAW, and signed linear for bytes… in sunstartread()
124 if ((ft->encoding.encoding == SOX_ENCODING_ULAW || in sunstartread()
125 ft->encoding.encoding == SOX_ENCODING_ALAW) && in sunstartread()
126 ft->signal.channels == 2) in sunstartread()
129 ft->signal.channels = 1; in sunstartread()
132 else if (ft->encoding.bits_per_sample == 16) { in sunstartread()
135 if (ft->encoding.encoding != SOX_ENCODING_SIGN2) { in sunstartread()
136 lsx_fail_errno(ft,SOX_EFMT,"Sun audio driver only supports signed linear for words."); in sunstartread()
141 lsx_fail_errno(ft,SOX_EFMT,"Sun audio driver only supports bytes and words"); in sunstartread()
145 if (ft->signal.channels == 0) in sunstartread()
146 ft->signal.channels = 1; in sunstartread()
147 else if (ft->signal.channels > 1) { in sunstartread()
153 ft->signal.channels = 2; in sunstartread()
158 lsx_fail_errno(ft,errno,"Unable to initialize %s", szDevname); in sunstartread()
162 audio_if.record.channels = ft->signal.channels; in sunstartread()
163 audio_if.record.sample_rate = ft->signal.rate; in sunstartread()
164 if (ft->encoding.encoding == SOX_ENCODING_ULAW) in sunstartread()
166 else if (ft->encoding.encoding == SOX_ENCODING_ALAW) in sunstartread()
174 lsx_fail_errno(ft,errno,"Unable to initialize sample size for %s", szDevname); in sunstartread()
177 if (audio_if.record.channels != ft->signal.channels) { in sunstartread()
178 lsx_fail_errno(ft,errno,"Unable to initialize number of channels for %s", szDevname); in sunstartread()
181 if (audio_if.record.sample_rate != ft->signal.rate) { in sunstartread()
182 lsx_fail_errno(ft,errno,"Unable to initialize rate for %s", szDevname); in sunstartread()
186 lsx_fail_errno(ft,errno,"Unable to initialize encoding for %s", szDevname); in sunstartread()
204 static int sunstartwrite(sox_format_t * ft) in sunstartwrite() argument
213 priv_t* pPriv = (priv_t*)ft->priv; in sunstartwrite()
215 if (ft->filename == 0 || ft->filename[0] == 0 || !strcasecmp("default", ft->filename)) { in sunstartwrite()
218 szDevname = ft->filename; in sunstartwrite()
223 lsx_fail_errno(ft, errno, "open failed for device: %s", szDevname); in sunstartwrite()
230 lsx_fail_errno(ft,errno,"Unable to get device information."); in sunstartwrite()
242 if (ft->encoding.bits_per_sample == 8) in sunstartwrite()
244 if (ft->encoding.encoding != SOX_ENCODING_ULAW && in sunstartwrite()
245 ft->encoding.encoding != SOX_ENCODING_ALAW) in sunstartwrite()
248 ft->encoding.encoding = SOX_ENCODING_ULAW; in sunstartwrite()
251 else if (ft->encoding.bits_per_sample == 16) in sunstartwrite()
254 ft->encoding.bits_per_sample = 8; in sunstartwrite()
255 ft->encoding.encoding = SOX_ENCODING_ULAW; in sunstartwrite()
259 if (ft->encoding.bits_per_sample == 8) in sunstartwrite()
263 if (ft->encoding.encoding == SOX_ENCODING_UNKNOWN) in sunstartwrite()
264 ft->encoding.encoding = SOX_ENCODING_ULAW; in sunstartwrite()
265 else if (ft->encoding.encoding != SOX_ENCODING_ULAW && in sunstartwrite()
266 ft->encoding.encoding != SOX_ENCODING_ALAW && in sunstartwrite()
267 ft->encoding.encoding != SOX_ENCODING_SIGN2) { in sunstartwrite()
270 ft->encoding.encoding = SOX_ENCODING_ULAW; in sunstartwrite()
272 if ((ft->encoding.encoding == SOX_ENCODING_ULAW || in sunstartwrite()
273 ft->encoding.encoding == SOX_ENCODING_ALAW) && in sunstartwrite()
274 ft->signal.channels == 2) in sunstartwrite()
277 ft->signal.channels = 1; in sunstartwrite()
281 else if (ft->encoding.bits_per_sample == 16) { in sunstartwrite()
284 if (ft->encoding.encoding == SOX_ENCODING_UNKNOWN) in sunstartwrite()
285 ft->encoding.encoding = SOX_ENCODING_SIGN2; in sunstartwrite()
286 else if (ft->encoding.encoding != SOX_ENCODING_SIGN2) { in sunstartwrite()
289 ft->encoding.encoding = SOX_ENCODING_SIGN2; in sunstartwrite()
294 ft->encoding.bits_per_sample = 16; in sunstartwrite()
295 ft->encoding.encoding = SOX_ENCODING_SIGN2; in sunstartwrite()
300 if (ft->signal.channels > 1) ft->signal.channels = 2; in sunstartwrite()
304 lsx_fail_errno(ft,errno,"Unable to initialize /dev/audio"); in sunstartwrite()
308 audio_if.play.channels = ft->signal.channels; in sunstartwrite()
309 audio_if.play.sample_rate = ft->signal.rate; in sunstartwrite()
310 if (ft->encoding.encoding == SOX_ENCODING_ULAW) in sunstartwrite()
312 else if (ft->encoding.encoding == SOX_ENCODING_ALAW) in sunstartwrite()
320 lsx_fail_errno(ft,errno,"Unable to initialize sample size for /dev/audio"); in sunstartwrite()
323 if (audio_if.play.channels != ft->signal.channels) { in sunstartwrite()
324 lsx_fail_errno(ft,errno,"Unable to initialize number of channels for /dev/audio"); in sunstartwrite()
327 if (audio_if.play.sample_rate != ft->signal.rate) { in sunstartwrite()
328 lsx_fail_errno(ft,errno,"Unable to initialize rate for /dev/audio"); in sunstartwrite()
332 lsx_fail_errno(ft,errno,"Unable to initialize encoding for /dev/audio"); in sunstartwrite()
342 static int sunstop(sox_format_t* ft) in sunstop() argument
344 priv_t* pPriv = (priv_t*)ft->priv; in sunstop()
363 static size_t sunread(sox_format_t* ft, sox_sample_t* pOutput, size_t cOutput) in sunread() argument
365 priv_t* pPriv = (priv_t*)ft->priv; in sunread()
377 lsx_fail_errno(ft, errno, "Error reading from device"); in sunread()
391 switch (ft->encoding.encoding) in sunread()
431 sox_format_t* ft, in sunwrite() argument
435 priv_t* pPriv = (priv_t*)ft->priv; in sunwrite()
454 switch (ft->encoding.encoding) in sunwrite()
492 lsx_fail_errno(ft, errno, "Error writing to device"); in sunwrite()