#ifndef AVIFILE_ACM_H
#define AVIFILE_ACM_H

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#ifndef __WINE_MSACM_H
#include <wine/winerror.h>
#include <wine/msacm.h>
#endif

#include <audiodecoder.h>

class ACM_Decoder : public IAudioDecoder
{
public:
    ACM_Decoder(const CodecInfo&, WAVEFORMATEX*);
    ~ACM_Decoder();
    size_t GetMinSize();
    int GetSrcSize(int dest_size);
    int Convert(const void*, size_t, void*, size_t, size_t*, size_t*);
protected:
    WAVEFORMATEX m_wstr;
    WAVEFORMATEX wf;
    HACMSTREAM srcstream;
    char ext_info[64];
};

#endif //AVIFILE_ACM_H
