diff -up mp3info-0.8.4.org/mp3tech.c mp3info-0.8.4/mp3tech.c --- mp3info-0.8.4.org/mp3tech.c 2007-07-08 20:07:06 +0400 +++ mp3info-0.8.4/mp3tech.c 2007-07-16 15:31:12 +0400 @@ -225,6 +225,19 @@ int get_header(FILE *file,mp3header *hea header->sync=0; return 0; } + + /* + printf("Audio Frame Header buffer={%02X %02X %02X %02X} Seek=%10ld\n", + (int)buffer[0],(int)buffer[1],(int)buffer[2],(int)buffer[3],ftell(file)); +// */ + + /* Ignore for free format frame */ + header->bitrate=(buffer[2] >> 4) & 0x0F; + if(!header->bitrate) { + header->sync=0; + return 0; + } + header->sync=(((int)buffer[0]<<4) | ((int)(buffer[1]&0xE0)>>4)); if(buffer[1] & 0x10) header->version=(buffer[1] >> 3) & 1; else header->version=2; @@ -234,7 +247,6 @@ int get_header(FILE *file,mp3header *hea return 0; } header->crc=buffer[1] & 1; - header->bitrate=(buffer[2] >> 4) & 0x0F; header->freq=(buffer[2] >> 2) & 0x3; header->padding=(buffer[2] >>1) & 0x1; header->extension=(buffer[2]) & 0x1;