Lines Matching full:ao
24 #include <ao/ao.h>
36 priv_t * ao = (priv_t *)ft->priv; in startwrite() local
38 ao->buf_size = sox_globals.bufsiz - (sox_globals.bufsiz % (ft->encoding.bits_per_sample >> 3)); in startwrite()
39 ao->buf_size *= (ft->encoding.bits_per_sample >> 3); in startwrite()
40 ao->buf = lsx_malloc(ao->buf_size); in startwrite()
42 if (!ao->buf) in startwrite()
44 lsx_fail_errno(ft, SOX_ENOMEM, "Can not allocate memory for ao driver"); in startwrite()
52 if ((ao->driver_id = ao_default_driver_id()) < 0) { in startwrite()
53 lsx_fail("Could not find a default ao driver"); in startwrite()
59 if ((ao->driver_id = ao_driver_id(ft->filename)) < 0) { in startwrite()
60 lsx_fail("Could not find a ao driver %s", ft->filename); in startwrite()
65 ao->format.bits = ft->encoding.bits_per_sample; in startwrite()
66 ao->format.rate = ft->signal.rate; in startwrite()
67 ao->format.channels = ft->signal.channels; in startwrite()
68 ao->format.byte_format = AO_FMT_NATIVE; in startwrite()
69 if ((ao->device = ao_open_live(ao->driver_id, &ao->format, NULL)) == NULL) { in startwrite()
92 priv_t * ao = (priv_t *)ft->priv; in write_samples() local
95 if (len > ao->buf_size / (ft->encoding.bits_per_sample >> 3)) in write_samples()
96 len = ao->buf_size / (ft->encoding.bits_per_sample >> 3); in write_samples()
100 sox_sw_write_buf(ao->buf, buf, len, ft->encoding.reverse_bytes, in write_samples()
102 if (ao_play(ao->device, (void *)ao->buf, aobuf_size) == 0) in write_samples()
110 priv_t * ao = (priv_t *)ft->priv; in stopwrite() local
112 free(ao->buf); in stopwrite()
114 if (ao_close(ao->device) == 0) { in stopwrite()
123 LSX_FORMAT_HANDLER(ao) in LSX_FORMAT_HANDLER() argument
125 static char const * const names[] = {"ao", NULL}; in LSX_FORMAT_HANDLER()