AudioDecoderMP3.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:1k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /**************************************************************************************
  2.  *                                                                                    *
  3.  *                                                                                    *
  4.  **************************************************************************************/
  5. #ifndef AUDIO_DECODER_MP3_H
  6. #define AUDIO_DECODER_MP3_H
  7. #include "MediaClasses.h"
  8. #include "mp3/mpglib.h"
  9. #include "mp3/ring.h"
  10. #define MP3_INPUT_BUFFER_SIZE 2048
  11. class MediaAudioDecoderMP3 : public MediaItemAudioDecoder {
  12. private:
  13. MediaItemDecaps *decaps;
  14. WAVEFORMATEX    *oFormat;
  15. char            *in_buffer;
  16. char            *out_buffer;
  17. struct mpstr    mp;
  18. int             last_result;
  19. int             real_size;
  20. int DecompressMp3(char *outmemory, int outmemsize, int *done);
  21. public:
  22. MediaAudioDecoderMP3();
  23. ~MediaAudioDecoderMP3();
  24. media_type_t  GetType();
  25. char         *GetName();
  26. MP_RESULT     Connect(MediaItem *item);
  27. MP_RESULT     ReleaseConnections();
  28. DWORD         GetCaps();
  29. MP_RESULT     Configure(HINSTANCE hInstance, HWND hwnd);
  30. WAVEFORMATEX *GetAudioFormat();
  31. MP_RESULT     EmptyAudioBuffer();
  32. unsigned int  Decompress(void *buffer, unsigned int size);
  33. };
  34. #endif