Commit e7566b96 authored by J. Alexander Treuman's avatar J. Alexander Treuman

Reindenting parse_xing, since I need to work on it and it's a mess

git-svn-id: https://svn.musicpd.org/mpd/trunk@4397 09075e82-0dd4-0310-85a5-a0d7c8717e4f
parent e6b0d82c
...@@ -423,53 +423,52 @@ enum { ...@@ -423,53 +423,52 @@ enum {
static int parse_xing(struct xing *xing, struct mad_bitptr ptr, unsigned int bitlen) static int parse_xing(struct xing *xing, struct mad_bitptr ptr, unsigned int bitlen)
{ {
unsigned long bits; unsigned long bits;
if (bitlen < 16) goto fail; if (bitlen < 16) goto fail;
bits = mad_bit_read(&ptr, 16); bits = mad_bit_read(&ptr, 16);
bitlen -= 16; bitlen -= 16;
if (bits == XI_MAGIC) { if (bits == XI_MAGIC) {
if (bitlen < 16) goto fail; if (bitlen < 16) goto fail;
if (mad_bit_read(&ptr, 16) != NG_MAGIC) goto fail; if (mad_bit_read(&ptr, 16) != NG_MAGIC) goto fail;
bitlen -= 16; bitlen -= 16;
} }
else if (bits != NG_MAGIC) goto fail; else if (bits != NG_MAGIC) goto fail;
if (bitlen < 32) goto fail; if (bitlen < 32) goto fail;
xing->flags = mad_bit_read(&ptr, 32); xing->flags = mad_bit_read(&ptr, 32);
bitlen -= 32; bitlen -= 32;
if (xing->flags & XING_FRAMES) { if (xing->flags & XING_FRAMES) {
if (bitlen < 32) goto fail; if (bitlen < 32) goto fail;
xing->frames = mad_bit_read(&ptr, 32); xing->frames = mad_bit_read(&ptr, 32);
bitlen -= 32; bitlen -= 32;
} }
if (xing->flags & XING_BYTES) { if (xing->flags & XING_BYTES) {
if (bitlen < 32) goto fail; if (bitlen < 32) goto fail;
xing->bytes = mad_bit_read(&ptr, 32); xing->bytes = mad_bit_read(&ptr, 32);
bitlen -= 32; bitlen -= 32;
} }
if (xing->flags & XING_TOC) {
int i;
if (bitlen < 800) goto fail;
for (i = 0; i < 100; ++i) xing->toc[i] = mad_bit_read(&ptr, 8);
bitlen -= 800;
}
if (xing->flags & XING_SCALE) {
if (bitlen < 32) goto fail;
xing->scale = mad_bit_read(&ptr, 32);
bitlen -= 32;
}
return 1;
if (xing->flags & XING_TOC) {
int i;
if (bitlen < 800) goto fail;
for (i = 0; i < 100; ++i) xing->toc[i] = mad_bit_read(&ptr, 8);
bitlen -= 800;
}
if (xing->flags & XING_SCALE) {
if (bitlen < 32) goto fail;
xing->scale = mad_bit_read(&ptr, 32);
bitlen -= 32;
}
return 1;
fail: fail:
xing->flags = 0; xing->flags = 0;
return 0; return 0;
} }
static int decodeFirstFrame(mp3DecodeData * data, DecoderControl * dc, static int decodeFirstFrame(mp3DecodeData * data, DecoderControl * dc,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment