123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- /***************************************************************************\
- *
- * MPEG Layer3-Audio Decoder
- * © 1997-2006 by Fraunhofer IIS
- * All Rights Reserved
- *
- * filename: mp3streaminfo.h
- * project : MPEG Layer-3 Decoder
- * author : Martin Sieler
- * date : 1998-05-27
- * contents/description: current bitstream parameters
- *
- \***************************************************************************/
- /*
- * $Date: 2010/11/17 20:46:04 $
- * $Id: mp3streaminfo.h,v 1.1 2010/11/17 20:46:04 audiodsp Exp $
- */
- #ifndef __MP3STREAMINFO_H__
- #define __MP3STREAMINFO_H__
- /* ------------------------ structure alignment ---------------------------*/
- #ifdef WIN32
- #pragma pack(push, 8)
- #endif
- /*-------------------------------------------------------------------------*/
- typedef struct
- {
- int m_Layer; /* ISO/MPEG Layer */
- int m_MpegVersion; /* ISO/MPEG Version */
- int m_Bitrate; /* Bitrate (Bit/s) */
- int m_BitrateIndex; /* ISO/MPEG Bitrate index of frame */
- int m_Channels; /* Number of Channels (as indicated) */
- int m_SFreq; /* Sampling Frequency (as indicated) */
- int m_EffectiveChannels; /* Number of effective output channels */
- int m_EffectiveSFreq; /* Effective Sampling Frequency */
- int m_BitsPerFrame; /* Number of bits in frame */
- float m_Duration; /* Duration of frame in milli seconds */
- int m_CrcError; /* Indication of CRC Errors */
- int m_NoMainData; /* Indication of missing main data */
- int m_SamplesPerFrame;
- } MP3STREAMINFO;
- /*-------------------------------------------------------------------------*/
- #ifdef __cplusplus
- //
- // Mp3 Streaminfo object.
- //
- // Object holding information on the last successfully decode frame.
- //
- class CMp3StreamInfo : protected MP3STREAMINFO
- {
- public:
- CMp3StreamInfo() { Reset(); }
- int GetLayer() const { return m_Layer; }
- int GetMpegVersion() const { return m_MpegVersion; }
- int GetBitrate() const { return m_Bitrate; }
- int GetBitrateIndex() const { return m_BitrateIndex; }
- int GetChannels() const { return m_Channels; }
- int GetSFreq() const { return m_SFreq; }
- int GetBitsPerFrame() const { return m_BitsPerFrame; }
- float GetDuration() const { return m_Duration; }
- int GetCrcError() const { return m_CrcError; }
- int GetNoMainData() const { return m_NoMainData; }
- int GetSamplesPerFrame() const { return m_SamplesPerFrame; }
- protected:
- friend class CMpgaDecoder;
- void SetLayer(int nValue) { m_Layer = nValue; }
- void SetMpegVersion(int nValue) { m_MpegVersion = nValue; }
- void SetBitrate(int nValue) { m_Bitrate = nValue; }
- void SetBitrateIndex(int nValue) { m_BitrateIndex = nValue; }
- void SetChannels(int nValue) { m_Channels = nValue; }
- void SetSFreq(int nValue) { m_SFreq = nValue; }
- void SetBitsPerFrame(int nValue) { m_BitsPerFrame = nValue; }
- void SetDuration(float fValue) { m_Duration = fValue; }
- void SetCrcError(int nValue) { m_CrcError = nValue; }
- void SetNoMainData(int nValue) { m_NoMainData = nValue; }
- void SetSamplesPerFrame(int nValue) { m_SamplesPerFrame = nValue; }
- void Reset()
- {
- m_Layer = 0;
- m_MpegVersion = 0;
- m_Bitrate = 0;
- m_BitrateIndex = 0;
- m_Channels = 0;
- m_SFreq = 0;
- m_BitsPerFrame = 0;
- m_Duration = 0.0f;
- m_CrcError = 0;
- m_NoMainData = 0;
- m_SamplesPerFrame=0;
- }
- };
- #endif /* __cplusplus */
- /*-------------------------------------------------------------------------*/
- #ifdef WIN32
- #pragma pack(pop)
- #endif
- /*-------------------------------------------------------------------------*/
- #endif
|