33 int ret, metadata_last=0, metadata_type, metadata_size, found_streaminfo=0;
55 switch (metadata_type) {
64 if (
avio_read(s->
pb, buffer, metadata_size) != metadata_size) {
79 if (found_streaminfo) {
96 if (si.samplerate > 0) {
104 const uint8_t *offset;
105 int i, chapters, track, ti;
106 if (metadata_size < 431)
108 offset = buffer + 395;
109 chapters = bytestream_get_byte(&offset) - 1;
112 for (i = 0; i < chapters; i++) {
113 if (offset + 36 - buffer > metadata_size)
115 start = bytestream_get_be64(&offset);
116 track = bytestream_get_byte(&offset);
120 ti = bytestream_get_byte(&offset);
127 if (!found_streaminfo) {
158 .extensions =
"flac",