int i, metadata_last, metadata_type, metadata_size;
int initial_pos= get_bits_count(&s->gb);
- skip_bits_long(&s->gb, 32);
+ skip_bits_long(&s->gb, 32);
- do {
- metadata_last = get_bits1(&s->gb);
- metadata_type = get_bits(&s->gb, 7);
- metadata_size = get_bits_long(&s->gb, 24);
+ do {
+ metadata_last = get_bits1(&s->gb);
+ metadata_type = get_bits(&s->gb, 7);
+ metadata_size = get_bits_long(&s->gb, 24);
- if (get_bits_count(&s->gb) + 8*metadata_size > s->gb.size_in_bits) {
- skip_bits_long(&s->gb, initial_pos - get_bits_count(&s->gb));
- break;
- }
+ if (get_bits_count(&s->gb) + 8*metadata_size > s->gb.size_in_bits) {
+ skip_bits_long(&s->gb, initial_pos - get_bits_count(&s->gb));
+ break;
+ }
- if (metadata_size) {
- switch (metadata_type) {
- case FLAC_METADATA_TYPE_STREAMINFO:
- if (!s->got_streaminfo) {
- ff_flac_parse_streaminfo(s->avctx, (FLACStreaminfo *)s,
- s->gb.buffer+get_bits_count(&s->gb)/8);
- allocate_buffers(s);
- s->got_streaminfo = 1;
- }
- default:
- for (i = 0; i < metadata_size; i++)
- skip_bits(&s->gb, 8);
+ if (metadata_size) {
+ switch (metadata_type) {
+ case FLAC_METADATA_TYPE_STREAMINFO:
+ if (!s->got_streaminfo) {
+ ff_flac_parse_streaminfo(s->avctx, (FLACStreaminfo *)s,
+ s->gb.buffer+get_bits_count(&s->gb)/8);
+ allocate_buffers(s);
+ s->got_streaminfo = 1;
}
+ default:
+ for (i = 0; i < metadata_size; i++)
+ skip_bits(&s->gb, 8);
}
- } while (!metadata_last);
+ }
+ } while (!metadata_last);
return 0;
}