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)
     {