Mercurial > mplayer.hg
diff loader/dshow/DS_AudioDecoder.c @ 3444:0c0042de1f95
API changes - now fully compatible with C++ version
author | arpi |
---|---|
date | Mon, 10 Dec 2001 21:53:13 +0000 |
parents | 004e3199fee0 |
children | b6caac381405 |
line wrap: on
line diff
--- a/loader/dshow/DS_AudioDecoder.c Mon Dec 10 21:51:21 2001 +0000 +++ b/loader/dshow/DS_AudioDecoder.c Mon Dec 10 21:53:13 2001 +0000 @@ -26,11 +26,15 @@ typedef long STDCALL (*GETCLASS) (GUID*, GUID*, void**); -DS_AudioDecoder * DS_AudioDecoder_Create(const CodecInfo * info, const WAVEFORMATEX* wf) +DS_AudioDecoder * DS_AudioDecoder_Open(char* dllname, GUID* guid, WAVEFORMATEX* wf) +//DS_AudioDecoder * DS_AudioDecoder_Create(const CodecInfo * info, const WAVEFORMATEX* wf) { DS_AudioDecoder *this; int sz; WAVEFORMATEX* pWF; + + Setup_LDT_Keeper(); + Setup_FS_Segment(); this = malloc(sizeof(DS_AudioDecoder)); @@ -75,7 +79,7 @@ /*try*/ { ALLOCATOR_PROPERTIES props, props1; - this->m_pDS_Filter = DS_FilterCreate((const char*)info->dll, info->guid, &this->m_sOurType, &this->m_sDestType); + this->m_pDS_Filter = DS_FilterCreate(dllname, guid, &this->m_sOurType, &this->m_sDestType); if( !this->m_pDS_Filter ) { free(this); return NULL; @@ -120,6 +124,8 @@ if (!in_data || !out_data) return -1; + Setup_FS_Segment(); + in_size -= in_size%this->in_fmt.nBlockAlign; while (in_size>0) {