summaryrefslogtreecommitdiffstats
path: root/loader/dshow/interfaces.h
diff options
context:
space:
mode:
authorsesse <sesse@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-03-08 19:57:37 +0000
committersesse <sesse@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-03-08 19:57:37 +0000
commit18deeb4aff87e89f3e5bd9247d8f96449316bb25 (patch)
tree4054f6886a084f473e35b6cbc19656fedaae6d94 /loader/dshow/interfaces.h
parent9b67104eb7bb5832a4b9d5fef92dd23b4befeb14 (diff)
downloadmpv-18deeb4aff87e89f3e5bd9247d8f96449316bb25.tar.bz2
mpv-18deeb4aff87e89f3e5bd9247d8f96449316bb25.tar.xz
Implement DirectShow filter graph.
DirectShow specifies that a filter (codec) can expect JoinFilterGraph to be called, and store a reference to the graph manager. Implement a very bare-bones graph manager (all functions are stubs, and no extra interfaces are implemented) and give it to the codec on init. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30866 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'loader/dshow/interfaces.h')
-rw-r--r--loader/dshow/interfaces.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/loader/dshow/interfaces.h b/loader/dshow/interfaces.h
index 5c927a55be..af9544ada5 100644
--- a/loader/dshow/interfaces.h
+++ b/loader/dshow/interfaces.h
@@ -329,4 +329,32 @@ struct IDivxFilterInterface_vt
HRESULT STDCALL ( *get_AspectRatio )(IDivxFilterInterface* This, int* x, IDivxFilterInterface* Thisit, int* y);
};
+typedef struct IEnumFilters IEnumFilters;
+
+typedef struct IFilterGraph_vt
+{
+ INHERIT_IUNKNOWN();
+
+ HRESULT STDCALL ( *AddFilter )(IFilterGraph* This,
+ /* [in] */ IBaseFilter* pFilter,
+ /* [string][in] */ unsigned short* pName);
+ HRESULT STDCALL ( *RemoveFilter )(IFilterGraph* This,
+ /* [in] */ IBaseFilter* pFilter);
+ HRESULT STDCALL ( *EnumFilters )(IFilterGraph* This,
+ /* [out] */ IEnumFilters** ppEnum);
+ HRESULT STDCALL ( *FindFilterByName )(IFilterGraph* This,
+ /* [string][in] */ unsigned short* pName,
+ /* [out] */ IBaseFilter** ppFilter);
+ HRESULT STDCALL ( *ConnectDirect )(IFilterGraph* This,
+ /* [in] */ IPin* ppinOut,
+ /* [in] */ IPin* ppinIn,
+ /* [in] */ const AM_MEDIA_TYPE* pmt);
+ HRESULT STDCALL ( *Reconnect )(IFilterGraph* This,
+ /* [in] */ IPin* ppin);
+ HRESULT STDCALL ( *Disconnect )(IFilterGraph* This,
+ /* [in] */ IPin* ppin);
+ HRESULT STDCALL ( *SetDefaultSyncSource )(IFilterGraph* This);
+} IFilterGraph_vt;
+struct IFilterGraph { IFilterGraph_vt *vt; };
+
#endif /*MPLAYER_INTERFACES_H */