diff options
Diffstat (limited to 'loader/dshow/DS_AudioDecoder.h')
-rw-r--r-- | loader/dshow/DS_AudioDecoder.h | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/loader/dshow/DS_AudioDecoder.h b/loader/dshow/DS_AudioDecoder.h index e527156e4e..b0d01c4c83 100644 --- a/loader/dshow/DS_AudioDecoder.h +++ b/loader/dshow/DS_AudioDecoder.h @@ -1,21 +1,36 @@ -#ifndef AVIFILE_DSHOW_H -#define AVIFILE_DSHOW_H +#ifndef AVIFILE_DS_AUDIODECODER_H +#define AVIFILE_DS_AUDIODECODER_H -#include "libwin32.h" +#ifndef NOAVIFILE_HEADERS +#include "audiodecoder.h" +#include "except.h" +#else +#include "../libwin32.h" +#endif #include "DS_Filter.h" -class DS_AudioDecoder : public IAudioDecoder -{ -public: - DS_AudioDecoder(const CodecInfo& info, const WAVEFORMATEX*); - virtual ~DS_AudioDecoder(); - virtual int Convert(const void*, size_t, void*, size_t, size_t*, size_t*); - virtual int GetSrcSize(int); -protected: +typedef struct _DS_AudioDecoder +{ + WAVEFORMATEX in_fmt; AM_MEDIA_TYPE m_sOurType, m_sDestType; DS_Filter* m_pDS_Filter; char* m_sVhdr; char* m_sVhdr2; -}; +}DS_AudioDecoder; +#ifndef uint_t +#define uint_t int #endif + +DS_AudioDecoder * DS_AudioDecoder_Create(const CodecInfo * info, const WAVEFORMATEX* wf); + +void DS_AudioDecoder_Destroy(DS_AudioDecoder *this); + +int DS_AudioDecoder_Convert(DS_AudioDecoder *this, const void* in_data, uint_t in_size, + void* out_data, uint_t out_size, + uint_t* size_read, uint_t* size_written); + +int DS_AudioDecoder_GetSrcSize(DS_AudioDecoder *this, int dest_size); + + +#endif // AVIFILE_DS_AUDIODECODER_H |