- if(buffer[j]!=bigassbuffer[j+pos*2]){
- fprintf(stderr,"data position after seek doesn't match pcm position\n");
-
+ if(buffer[j]!=bigassbuffer[j+((pos>>hs)*2)]){
+ fprintf(stderr,"data after seek doesn't match declared pcm position %ld\n",(long)pos);
+
+ for(i=0;i<(pcmlength>>hs)*2-bread;i++){
+ for(j=0;j<bread;j++)
+ if(buffer[j] != bigassbuffer[i+j])break;
+ if(j==bread){
+ fprintf(stderr,"data after seek appears to match position %ld\n",(long)((i/2)<<hs));
+ }
+ }