diff loader/dshow/DS_Filter.h @ 3056:213b35f84cf3

C++ -> C (import from avifile cvs)
author arpi
date Wed, 21 Nov 2001 19:12:39 +0000
parents da26060c81ef
children e3bbf44dbab2
line wrap: on
line diff
--- a/loader/dshow/DS_Filter.h	Wed Nov 21 18:40:59 2001 +0000
+++ b/loader/dshow/DS_Filter.h	Wed Nov 21 19:12:39 2001 +0000
@@ -1,41 +1,46 @@
 #ifndef DS_FILTER_H
 #define DS_FILTER_H
 
-#include "interfaces.h"
 #include "inputpin.h"
 #include "outputpin.h"
 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
 /**
    User will allocate and fill format structures, call Create(),
    and then set up m_pAll.
  **/
 
-struct DS_Filter
+typedef struct _DS_Filter DS_Filter;
+struct _DS_Filter
 {
-    DS_Filter();
-    virtual ~DS_Filter();
-    void Start();
-    void Stop();
-
     int m_iHandle;
     IBaseFilter* m_pFilter;
     IPin* m_pInputPin;
     IPin* m_pOutputPin;
-    
+
     CBaseFilter* m_pSrcFilter;
     CBaseFilter2* m_pParentFilter;
     IPin* m_pOurInput;
     COutputPin* m_pOurOutput;
-    
+
     AM_MEDIA_TYPE *m_pOurType, *m_pDestType;
     IMemAllocator* m_pAll;
     IMemInputPin* m_pImp;
     int m_iState;
 
-    void Create(const char* dllname, const GUID* id, AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt);
-    void SetPointer(char* pointer);
-
-    void destroy();
+    void ( *Start )(DS_Filter*);
+    void ( *Stop )(DS_Filter*);
 };
 
+DS_Filter* DS_FilterCreate(const char* dllname, const GUID* id,
+			   AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt);
+void DS_Filter_Destroy(DS_Filter* This);
+
+#if defined(__cplusplus)
+}
+#endif
+
 #endif /* DS_FILTER_H */