int lsf=0;
int mpeg2=0;
int layer=4-((data[test+1]&0x06)>>1);
+ if (layer==0) {test++;continue;} //sanity check
+
int bitrate_index=(data[test+2]&0xf0)>>4;
+ if (bitrate_index==0x0f || bitrate_index==0x0) {test++;continue;} //sanity check
+
+ int samplerate_index=(data[test+2]&0x0C)>>2;
+ if (samplerate_index==0x03) {test++;continue;} //sanity check
+
int padding=(data[test+2]&2)>>1;
if (0x10 & data[test+1]) {
lsf=((data[test+1]) &0x8)?0:1;
lsf=1;
mpeg2=1;
}
- int sample_rate=sample_rates[ (data[test+2]&0x0C)>>2]>>(lsf+mpeg2);
+ int sample_rate=sample_rates[ samplerate_index]>>(lsf+mpeg2);
int frame_size=0;
int temp_frame_size=bitrate_tab[lsf][layer - 1][bitrate_index];
if (layer==1) {