36 #define AU_UNKNOWN_SIZE ((uint32_t)(~0))
38 #define AU_HEADER_SIZE (24+8)
57 if (p->
buf[0] ==
'.' && p->
buf[1] ==
's' &&
58 p->
buf[2] ==
'n' && p->
buf[3] ==
'd')
64 #define BLOCK_SIZE 1024
68 int size, data_size = 0;
71 unsigned int id, channels, rate;
77 if (tag !=
MKTAG(
'.',
's',
'n',
'd'))
109 if (channels == 0 || channels >= INT_MAX / (
BLOCK_SIZE * bps >> 3)) {
114 if (rate == 0 || rate > INT_MAX) {
141 .read_probe = au_probe,
142 .read_header = au_read_header,
187 if (s->
pb->
seekable && file_size < INT32_MAX) {
201 .mime_type =
"audio/basic",
205 .write_header = au_write_header,
207 .write_trailer = au_write_trailer,