1 #ifndef MPLAYER_GRAPH_H
2 #define MPLAYER_GRAPH_H
5 * Copyright 2010 Steinar H. Gunderson
7 * This file is part of MPlayer.
9 * MPlayer is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * MPlayer is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License along
20 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 #include "interfaces.h"
25 #include "cmediasample.h"
27 typedef struct FilterGraph FilterGraph
;
34 HRESULT
STDCALL (*AddFilter
)(FilterGraph
* This
,
35 /* [in] */ IBaseFilter
* pFilter
,
36 /* [string][in] */ unsigned short* pName
);
37 HRESULT
STDCALL (*RemoveFilter
)(FilterGraph
* This
,
38 /* [in] */ IBaseFilter
* pFilter
);
39 HRESULT
STDCALL (*EnumFilters
)(FilterGraph
* This
,
40 /* [out] */ IEnumFilters
** ppEnum
);
41 HRESULT
STDCALL (*FindFilterByName
)(FilterGraph
* This
,
42 /* [string][in] */ unsigned short* pName
,
43 /* [out] */ IBaseFilter
** ppFilter
);
44 HRESULT
STDCALL (*ConnectDirect
)(FilterGraph
* This
,
45 /* [in] */ IPin
* ppinOut
,
46 /* [in] */ IPin
* ppinIn
,
47 /* [in] */ const AM_MEDIA_TYPE
* pmt
);
48 HRESULT
STDCALL (*Reconnect
)(FilterGraph
* This
,
49 /* [in] */ IPin
* ppin
);
50 HRESULT
STDCALL (*Disconnect
)(FilterGraph
* This
,
51 /* [in] */ IPin
* ppin
);
52 HRESULT
STDCALL (*SetDefaultSyncSource
)(FilterGraph
* This
);
56 HRESULT STDCALL
FilterGraph_AddFilter(FilterGraph
* This
,
58 unsigned short* pName
);
59 HRESULT STDCALL
FilterGraph_RemoveFilter(FilterGraph
* This
,
60 IBaseFilter
* pFilter
);
61 HRESULT STDCALL
FilterGraph_EnumFilters(FilterGraph
* This
,
62 IEnumFilters
** ppEnum
);
63 HRESULT STDCALL
FilterGraph_FindFilterByName(FilterGraph
* This
,
64 unsigned short* pName
,
65 IBaseFilter
** ppFilter
);
66 HRESULT STDCALL
FilterGraph_ConnectDirect(FilterGraph
* This
,
69 const AM_MEDIA_TYPE
* pmt
);
70 HRESULT STDCALL
FilterGraph_Reconnect(FilterGraph
* This
, IPin
* ppin
);
71 HRESULT STDCALL
FilterGraph_Disconnect(FilterGraph
* This
, IPin
* ppin
);
72 HRESULT STDCALL
FilterGraph_SetDefaultSyncSource(FilterGraph
* This
);
74 FilterGraph
* FilterGraphCreate(void);
76 #endif /* MPLAYER_GRAPH_H */