summaryrefslogtreecommitdiffstats
path: root/loader/dshow/DS_Filter.h
diff options
context:
space:
mode:
Diffstat (limited to 'loader/dshow/DS_Filter.h')
-rw-r--r--loader/dshow/DS_Filter.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/loader/dshow/DS_Filter.h b/loader/dshow/DS_Filter.h
new file mode 100644
index 0000000000..1cb5a4d211
--- /dev/null
+++ b/loader/dshow/DS_Filter.h
@@ -0,0 +1,39 @@
+#ifndef DS_Filter_H
+#define DS_Filter_H
+
+#include "interfaces.h"
+#include "inputpin.h"
+#include "outputpin.h"
+#include <string>
+using namespace std;
+/**
+ User will allocate and fill format structures, call Create(),
+ and then set up m_pAll.
+**/
+class DS_Filter
+{
+protected:
+public:
+ DS_Filter();
+ virtual ~DS_Filter();
+ void Create(string dllname, const GUID* id, AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt);
+ 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;
+protected:
+};
+
+#endif \ No newline at end of file