# HG changeset patch # User arpi # Date 1043713538 0 # Node ID 8a0a93d6b4c3b9c0d4507763f39c77eff9d84736 # Parent 6ecc0b5c08cb4a9840bf63ae04b646ccab1cc7a9 In mp3lib/sr1.c, look at the line 226: if(fr->sampling_frequency>8) return FALSE; // valid: 0..8 which allows fr->sampling_frequency to go up to 8. Obviously, the code does not bother about what would happen if fr->sampling_frequency lies in the range [3,8]. patch from Nilmoni Deb, Nick?, Rich diff -r 6ecc0b5c08cb -r 8a0a93d6b4c3 mp3lib/layer2.c --- a/mp3lib/layer2.c Tue Jan 28 00:12:23 2003 +0000 +++ b/mp3lib/layer2.c Tue Jan 28 00:25:38 2003 +0000 @@ -235,13 +235,28 @@ static void II_select_table(struct frame *fr) { - static int translate[3][2][16] = - { { { 0,2,2,2,2,2,2,0,0,0,1,1,1,1,1,0 } , - { 0,2,2,0,0,0,1,1,1,1,1,1,1,1,1,0 } } , - { { 0,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0 } , - { 0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0 } } , - { { 0,3,3,3,3,3,3,0,0,0,1,1,1,1,1,0 } , - { 0,3,3,0,0,0,1,1,1,1,1,1,1,1,1,0 } } }; + static int translate[8][2][16] = + { { { 0,2,2,2,2,2,2,0,0,0,1,1,1,1,1,0 } , /*44.1 stereo*/ + { 0,2,2,0,0,0,1,1,1,1,1,1,1,1,1,0 } } , /*44.1 mono*/ + { { 0,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0 } , /*48 stereo*/ + { 0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0 } } , /*48 mono*/ + { { 0,3,3,3,3,3,3,0,0,0,1,1,1,1,1,0 } , /*32 stereo*/ + { 0,3,3,0,0,0,1,1,1,1,1,1,1,1,1,0 } } , /*32 mono*/ + { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*22.05 stereo*/ + { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } , /*22.05 mono*/ + { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*24 stereo*/ + { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } , /*24 mono*/ + { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*16 stereo*/ + { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } , /*16 mono*/ + { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*11.025 stereo*/ + { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } , /*11.025 mono*/ + { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*12 stereo*/ + { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } , /*12 mono*/ + { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*8 stereo*/ + { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } /*8 mono*/ +/* 0 48 64 96 128 192 256 384 */ +/* 32 56 80 112 160 224 320 XX*/ + }; int table,sblim; static struct al_table *tables[5] =