www.pudn.com > MyPlayerbylqh.rar > AudioDecoderACM.h
/************************************************************************************** * * * * **************************************************************************************/ #ifndef AUDIO_DECODER_ACM_H #define AUDIO_DECODER_ACM_H #include "MediaClasses.h" #include "RingBuffer.h" /* * ACM封装器类 * */ #include#include #include #include #include #include class MediaAudioDecoderACM : public MediaItemAudioDecoder { private: MediaItemDecaps *decaps; HACMSTREAM hacm; ACMSTREAMHEADER acmHeader; DWORD acm; DWORD acmLeft; DWORD acmInLeft; DWORD outputSize; DWORD inputSize; WAVEFORMATEX *oFormat; char *in_buffer; char *out_buffer; MediaRingBuffer *ring; public: MediaAudioDecoderACM(); ~MediaAudioDecoderACM(); /* * 媒体项函数(MediaItem Funcs) */ media_type_t GetType(); char *GetName(); MP_RESULT Connect(MediaItem *item); MP_RESULT ReleaseConnections(); DWORD GetCaps(); MP_RESULT Configure(HINSTANCE hInstance, HWND hwnd); /* * 声音解码器 */ WAVEFORMATEX *GetAudioFormat(); MP_RESULT EmptyAudioBuffer(); unsigned int Decompress(void *buffer, unsigned int size); }; #endif