33 int ret, metadata_last=0, metadata_type, metadata_size, found_streaminfo=0;
55 switch (metadata_type) {
65 if (
avio_read(s->
pb, buffer, metadata_size) != metadata_size) {
81 if (found_streaminfo) {
107 int i, chapters, track, ti;
108 if (metadata_size < 431)
110 offset = buffer + 395;
111 chapters = bytestream_get_byte(&offset) - 1;
114 for (i = 0; i < chapters; i++) {
115 if (offset + 36 - buffer > metadata_size)
117 start = bytestream_get_be64(&offset);
118 track = bytestream_get_byte(&offset);
122 ti = bytestream_get_byte(&offset);
137 if (!found_streaminfo) {
147 }
else if (ret > 0) {
155 if (!mask || mask & ~0x3ffffULL) {
157 "Invalid value of WAVEFORMATEXTENSIBLE_CHANNEL_MASK\n");
187 int64_t *ppos, int64_t pos_limit)
242 .extensions =
"flac",