# HG changeset patch # User banan # Date 1278294227 0 # Node ID c2a1bb63bd30ee109831be8886c4f79627e9b89f # Parent 82d32c82289d5d5732a80d9c20bca22f6444655c DCA: *_bits() -> *_bits_long() where needed, half fix for broken bitstream parsing diff -r 82d32c82289d -r c2a1bb63bd30 dca.c --- a/dca.c Sun Jul 04 19:03:04 2010 +0000 +++ b/dca.c Mon Jul 05 01:43:47 2010 +0000 @@ -1290,10 +1290,10 @@ num_core_channels = s->prim_channels; /* extensions start at 32-bit boundaries into bitstream */ - skip_bits(&s->gb, (-get_bits_count(&s->gb)) & 31); + skip_bits_long(&s->gb, (-get_bits_count(&s->gb)) & 31); while(get_bits_left(&s->gb) >= 32) { - uint32_t bits = get_bits(&s->gb, 32); + uint32_t bits = get_bits_long(&s->gb, 32); switch(bits) { case 0x5a5a5a5a: { @@ -1328,7 +1328,7 @@ break; } - skip_bits(&s->gb, (-get_bits_count(&s->gb)) & 31); + skip_bits_long(&s->gb, (-get_bits_count(&s->gb)) & 31); } channels = s->prim_channels + !!s->lfe;