00001 00006 #ifndef _FRAMEHEADER_H_ 00007 #define _FRAMEHEADER_H_ 00008 00009 #include "mp3_format.h" 00010 #include "bitarray.h" 00011 00015 class FrameHeader : private mp3_frame_header 00016 { 00017 public: 00018 00026 FrameHeader(Bitstream &bs); 00027 00033 int Size() const; 00034 00040 void Write(Bitstream &bs); 00041 00045 int Bitrate() const; 00046 00052 int Version() const; 00053 00059 int Layer() const; 00060 00064 bool isCopyrighted() const; 00065 00069 bool isOriginal() const; 00070 00074 bool isCRC() const; 00075 00079 int Frequency() const; 00080 00084 int Mode() const; 00085 00089 bool isIntensStereo() const; 00090 00094 bool isMSstereo() const; 00095 00099 int NumChannels() const; 00100 00104 int NumGranules() const; 00105 00109 int FrameSize() const; 00110 00115 bool isValid() const; 00116 00120 void Enlarge(); 00121 00122 private: 00123 Bitarray<mp3_frame_header> m_fh; //Data (bit struct) 00124 }; 00125 00126 #endif //_FRAMEHEADER_H_