00001 00006 #ifndef _MP3STREAM_H_ 00007 #define _MP3STREAM_H_ 00008 00009 #include "mp3frame.h" 00010 #include "bitstream.h" 00011 00020 class MP3Stream 00021 { 00022 public: 00023 00033 MP3Stream(Bitstream &bs, int type); 00034 00040 ~MP3Stream(); 00041 00047 MP3Frame *First() const; 00048 00057 void SetFirst(MP3Frame *frame); 00058 00064 Bitstream &GetBitstream() const; 00065 00078 void WriteData(Bitstream &bs, int numbytes, int startpos); 00079 00088 void SeekTo(MP3Frame *frame); 00089 00098 int WriteMode() const; 00099 00100 private: 00101 Bitstream &m_stream; //Input bitsteam 00102 int m_cutbytes; //How many bytes were written from frame 00103 int m_type; //Write mode 00104 MP3Frame *m_f, *m_ff; //Firstframe, Dataframe 00105 }; 00106 00107 #endif //_MP3STREAM_H_