/* bitwindow class Copyright (C) 2000 Martin Vogt This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation. For more information look at the file COPYRIGHT in this package */ #include "mpegAudioBitWindow.h" #include <iostream> using namespace std; int MpegAudioBitWindow::getCanReadBits() { int p=bitindex>>3; int bytes=point - p; int bits=bytes*8+(bitindex&7); cout << "point:"<<point << " p:"<<p << " bytes:"<<bytes <<" bitindex:"<<bitindex<<" can read:"<<bits<<endl; return bits; } void MpegAudioBitWindow::wrap(void) { int p=bitindex>>3; point&=(WINDOWSIZE-1); if(p>=point) { for(int i=4;i<point;i++) buffer[WINDOWSIZE+i]=buffer[i]; } *((int *)(buffer+WINDOWSIZE))=*((int *)buffer); }