annotate loader/dshow/interfaces.h @ 30824:c121d03db8b9

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.
author sesse
date Mon, 08 Mar 2010 19:57:37 +0000
parents 008338d7679f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25794
diff changeset
1 #ifndef MPLAYER_INTERFACES_H
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25794
diff changeset
2 #define MPLAYER_INTERFACES_H
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
3
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
4 /*
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
5 * Definition of important DirectShow interfaces.
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
6 * Created using freely-available DirectX 8.0 SDK
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
7 * ( http://msdn.microsoft.com )
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
8 */
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
9
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
10 #include "iunk.h"
30170
008338d7679f Drop -Iloader from CPPFLAGS for the loader subdirectory.
diego
parents: 26045
diff changeset
11 #include "loader/com.h"
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
12
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
13 /* Sh*t. MSVC++ and g++ use different methods of storing vtables. */
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
14
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
15 typedef struct IReferenceClock IReferenceClock;
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
16 typedef struct IFilterGraph IFilterGraph;
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
17
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
18 typedef struct IBaseFilter IBaseFilter;
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
19
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
20 typedef enum
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
21 {
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
22 PINDIR_INPUT = 0,
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
23 PINDIR_OUTPUT
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
24 } PIN_DIRECTION;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
25
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
26 typedef struct PinInfo
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
27 {
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
28 IBaseFilter* pFilter;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
29 PIN_DIRECTION dir;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
30 unsigned short achName[128];
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
31 } PIN_INFO;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
32
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
33 typedef struct AllocatorProperties
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
34 {
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
35 long cBuffers;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
36 long cbBuffer;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
37 long cbAlign;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
38 long cbPrefix;
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
39 } ALLOCATOR_PROPERTIES;
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
40
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
41 typedef struct IEnumMediaTypes IEnumMediaTypes;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
42 typedef struct IEnumMediaTypes_vt
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
43 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
44 INHERIT_IUNKNOWN();
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
45
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
46 HRESULT STDCALL ( *Next )(IEnumMediaTypes* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
47 /* [in] */ unsigned long cMediaTypes,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
48 /* [size_is][out] */ AM_MEDIA_TYPE** ppMediaTypes,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
49 /* [out] */ unsigned long* pcFetched);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
50 HRESULT STDCALL ( *Skip )(IEnumMediaTypes* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
51 /* [in] */ unsigned long cMediaTypes);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
52 HRESULT STDCALL ( *Reset )(IEnumMediaTypes* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
53 HRESULT STDCALL ( *Clone )(IEnumMediaTypes* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
54 /* [out] */ IEnumMediaTypes** ppEnum);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
55 } IEnumMediaTypes_vt;
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
56 struct IEnumMediaTypes { IEnumMediaTypes_vt* vt; };
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
57
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
58
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
59
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
60 typedef struct IPin IPin;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
61 typedef struct IPin_vt
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
62 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
63 INHERIT_IUNKNOWN();
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
64
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
65 HRESULT STDCALL ( *Connect )(IPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
66 /* [in] */ IPin *pReceivePin,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
67 /* [in] */ /*const*/ AM_MEDIA_TYPE *pmt);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
68 HRESULT STDCALL ( *ReceiveConnection )(IPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
69 /* [in] */ IPin *pConnector,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
70 /* [in] */ const AM_MEDIA_TYPE *pmt);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
71 HRESULT STDCALL ( *Disconnect )(IPin * This);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
72 HRESULT STDCALL ( *ConnectedTo )(IPin * This, /* [out] */ IPin **pPin);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
73 HRESULT STDCALL ( *ConnectionMediaType )(IPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
74 /* [out] */ AM_MEDIA_TYPE *pmt);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
75 HRESULT STDCALL ( *QueryPinInfo )(IPin * This, /* [out] */ PIN_INFO *pInfo);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
76 HRESULT STDCALL ( *QueryDirection )(IPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
77 /* [out] */ PIN_DIRECTION *pPinDir);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
78 HRESULT STDCALL ( *QueryId )(IPin * This, /* [out] */ unsigned short* *Id);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
79 HRESULT STDCALL ( *QueryAccept )(IPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
80 /* [in] */ const AM_MEDIA_TYPE *pmt);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
81 HRESULT STDCALL ( *EnumMediaTypes )(IPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
82 /* [out] */ IEnumMediaTypes **ppEnum);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
83 HRESULT STDCALL ( *QueryInternalConnections )(IPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
84 /* [out] */ IPin **apPin,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
85 /* [out][in] */ unsigned long *nPin);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
86 HRESULT STDCALL ( *EndOfStream )(IPin * This);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
87 HRESULT STDCALL ( *BeginFlush )(IPin * This);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
88 HRESULT STDCALL ( *EndFlush )(IPin * This);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
89 HRESULT STDCALL ( *NewSegment )(IPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
90 /* [in] */ REFERENCE_TIME tStart,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
91 /* [in] */ REFERENCE_TIME tStop,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
92 /* [in] */ double dRate);
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
93 } IPin_vt;
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
94 struct IPin { IPin_vt *vt; };
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
95
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
96
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
97 typedef struct IEnumPins IEnumPins;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
98 typedef struct IEnumPins_vt
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
99 {
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
100 INHERIT_IUNKNOWN();
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
101
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
102 // retrieves a specified number of pins in the enumeration sequence..
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
103 HRESULT STDCALL ( *Next )(IEnumPins* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
104 /* [in] */ unsigned long cPins,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
105 /* [size_is][out] */ IPin** ppPins,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
106 /* [out] */ unsigned long* pcFetched);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
107 // skips over a specified number of pins.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
108 HRESULT STDCALL ( *Skip )(IEnumPins* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
109 /* [in] */ unsigned long cPins);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
110 // resets the enumeration sequence to the beginning.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
111 HRESULT STDCALL ( *Reset )(IEnumPins* This);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
112 // makes a copy of the enumerator with the same enumeration state.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
113 HRESULT STDCALL ( *Clone )(IEnumPins* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
114 /* [out] */ IEnumPins** ppEnum);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
115 } IEnumPins_vt;
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
116 struct IEnumPins { struct IEnumPins_vt* vt; };
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
117
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
118
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
119 typedef struct IMediaSample IMediaSample;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
120 typedef struct IMediaSample_vt
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
121 {
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
122 INHERIT_IUNKNOWN();
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
123
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
124 HRESULT STDCALL ( *GetPointer )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
125 /* [out] */ unsigned char** ppBuffer);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
126 LONG STDCALL ( *GetSize )(IMediaSample* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
127 HRESULT STDCALL ( *GetTime )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
128 /* [out] */ REFERENCE_TIME* pTimeStart,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
129 /* [out] */ REFERENCE_TIME* pTimeEnd);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
130 HRESULT STDCALL ( *SetTime )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
131 /* [in] */ REFERENCE_TIME* pTimeStart,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
132 /* [in] */ REFERENCE_TIME* pTimeEnd);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
133
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
134 // sync-point property. If true, then the beginning of this
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
135 // sample is a sync-point. (note that if AM_MEDIA_TYPE.bTemporalCompression
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
136 // is false then all samples are sync points). A filter can start
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
137 // a stream at any sync point. S_FALSE if not sync-point, S_OK if true.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
138 HRESULT STDCALL ( *IsSyncPoint )(IMediaSample* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
139 HRESULT STDCALL ( *SetSyncPoint )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
140 long bIsSyncPoint);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
141
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
142 // preroll property. If true, this sample is for preroll only and
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
143 // shouldn't be displayed.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
144 HRESULT STDCALL ( *IsPreroll )(IMediaSample* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
145 HRESULT STDCALL ( *SetPreroll )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
146 long bIsPreroll);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
147
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
148 LONG STDCALL ( *GetActualDataLength )(IMediaSample* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
149 HRESULT STDCALL ( *SetActualDataLength )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
150 long __MIDL_0010);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
151
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
152 // these allow for limited format changes in band - if no format change
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
153 // has been made when you receive a sample GetMediaType will return S_FALSE
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
154 HRESULT STDCALL ( *GetMediaType )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
155 AM_MEDIA_TYPE** ppMediaType);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
156 HRESULT STDCALL ( *SetMediaType )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
157 AM_MEDIA_TYPE* pMediaType);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
158
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
159 // returns S_OK if there is a discontinuity in the data (this frame is
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
160 // not a continuation of the previous stream of data
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
161 // - there has been a seek or some dropped samples).
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
162 HRESULT STDCALL ( *IsDiscontinuity )(IMediaSample* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
163 HRESULT STDCALL ( *SetDiscontinuity )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
164 long bDiscontinuity);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
165
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
166 // get the media times for this sample
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
167 HRESULT STDCALL ( *GetMediaTime )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
168 /* [out] */ long long* pTimeStart,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
169 /* [out] */ long long* pTimeEnd);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
170 // Set the media times for this sample
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
171 // pTimeStart==pTimeEnd==NULL will invalidate the media time stamps in
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
172 // this sample
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
173 HRESULT STDCALL ( *SetMediaTime )(IMediaSample* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
174 /* [in] */ long long* pTimeStart,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
175 /* [in] */ long long* pTimeEnd);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
176 } IMediaSample_vt;
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
177 struct IMediaSample { struct IMediaSample_vt* vt; };
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
178
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
179
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
180
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
181 //typedef struct IBaseFilter IBaseFilter;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
182 typedef struct IBaseFilter_vt
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
183 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
184 INHERIT_IUNKNOWN();
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
185
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
186 HRESULT STDCALL ( *GetClassID )(IBaseFilter * This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
187 /* [out] */ CLSID *pClassID);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
188 HRESULT STDCALL ( *Stop )(IBaseFilter * This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
189 HRESULT STDCALL ( *Pause )(IBaseFilter * This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
190 HRESULT STDCALL ( *Run )(IBaseFilter * This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
191 REFERENCE_TIME tStart);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
192 HRESULT STDCALL ( *GetState )(IBaseFilter * This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
193 /* [in] */ unsigned long dwMilliSecsTimeout,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
194 ///* [out] */ FILTER_STATE *State);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
195 void* State);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
196 HRESULT STDCALL ( *SetSyncSource )(IBaseFilter* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
197 /* [in] */ IReferenceClock *pClock);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
198 HRESULT STDCALL ( *GetSyncSource )(IBaseFilter* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
199 /* [out] */ IReferenceClock **pClock);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
200 HRESULT STDCALL ( *EnumPins )(IBaseFilter* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
201 /* [out] */ IEnumPins **ppEnum);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
202 HRESULT STDCALL ( *FindPin )(IBaseFilter* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
203 /* [string][in] */ const unsigned short* Id,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
204 /* [out] */ IPin** ppPin);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
205 HRESULT STDCALL ( *QueryFilterInfo )(IBaseFilter* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
206 // /* [out] */ FILTER_INFO *pInfo);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
207 void* pInfo);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
208 HRESULT STDCALL ( *JoinFilterGraph )(IBaseFilter* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
209 /* [in] */ IFilterGraph* pGraph,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
210 /* [string][in] */ const unsigned short* pName);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
211 HRESULT STDCALL ( *QueryVendorInfo )(IBaseFilter* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
212 /* [string][out] */ unsigned short** pVendorInfo);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
213 } IBaseFilter_vt;
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
214 struct IBaseFilter { struct IBaseFilter_vt* vt; };
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
215
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
216
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
217
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
218 typedef struct IMemAllocator IMemAllocator;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
219 typedef struct IMemAllocator_vt
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
220 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
221 INHERIT_IUNKNOWN();
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
222
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
223 // specifies the number of buffers to allocate and the size of each buffer.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
224 HRESULT STDCALL ( *SetProperties )(IMemAllocator* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
225 /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
226 /* [out] */ ALLOCATOR_PROPERTIES *pActual);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
227 // retrieves the number of buffers that the allocator will create, and the buffer properties.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
228 HRESULT STDCALL ( *GetProperties )(IMemAllocator* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
229 /* [out] */ ALLOCATOR_PROPERTIES *pProps);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
230 // allocates the buffer memory.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
231 HRESULT STDCALL ( *Commit )(IMemAllocator* This);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
232 // releases the memory for the buffers.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
233 HRESULT STDCALL ( *Decommit )(IMemAllocator* This);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
234 // retrieves a media sample that contains an empty buffer.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
235 HRESULT STDCALL ( *GetBuffer )(IMemAllocator* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
236 /* [out] */ IMediaSample** ppBuffer,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
237 /* [in] */ REFERENCE_TIME* pStartTime,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
238 /* [in] */ REFERENCE_TIME* pEndTime,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
239 /* [in] */ unsigned long dwFlags);
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3056
diff changeset
240 // releases a media sample.
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
241 HRESULT STDCALL ( *ReleaseBuffer )(IMemAllocator* This,
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
242 /* [in] */ IMediaSample* pBuffer);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
243 } IMemAllocator_vt;
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
244 struct IMemAllocator { IMemAllocator_vt* vt; };
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
245
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
246
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
247
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
248 typedef struct IMemInputPin IMemInputPin;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
249 typedef struct IMemInputPin_vt
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
250 {
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
251 INHERIT_IUNKNOWN();
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
252
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
253 HRESULT STDCALL ( *GetAllocator )(IMemInputPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
254 /* [out] */ IMemAllocator **ppAllocator);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
255 HRESULT STDCALL ( *NotifyAllocator )(IMemInputPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
256 /* [in] */ IMemAllocator *pAllocator,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
257 /* [in] */ int bReadOnly);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
258 HRESULT STDCALL ( *GetAllocatorRequirements )(IMemInputPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
259 /* [out] */ ALLOCATOR_PROPERTIES *pProps);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
260 HRESULT STDCALL ( *Receive )(IMemInputPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
261 /* [in] */ IMediaSample *pSample);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
262 HRESULT STDCALL ( *ReceiveMultiple )(IMemInputPin * This,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
263 /* [size_is][in] */ IMediaSample **pSamples,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
264 /* [in] */ long nSamples,
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
265 /* [out] */ long *nSamplesProcessed);
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
266 HRESULT STDCALL ( *ReceiveCanBlock )(IMemInputPin * This);
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
267 } IMemInputPin_vt;
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
268 struct IMemInputPin { IMemInputPin_vt* vt; };
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
269
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
270
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
271 typedef struct IHidden IHidden;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
272 typedef struct IHidden_vt
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
273 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
274 INHERIT_IUNKNOWN();
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
275
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
276 HRESULT STDCALL ( *GetSmth )(IHidden* This, int* pv);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
277 HRESULT STDCALL ( *SetSmth )(IHidden* This, int v1, int v2);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
278 HRESULT STDCALL ( *GetSmth2 )(IHidden* This, int* pv);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
279 HRESULT STDCALL ( *SetSmth2 )(IHidden* This, int v1, int v2);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
280 HRESULT STDCALL ( *GetSmth3 )(IHidden* This, int* pv);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
281 HRESULT STDCALL ( *SetSmth3 )(IHidden* This, int v1, int v2);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
282 HRESULT STDCALL ( *GetSmth4 )(IHidden* This, int* pv);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
283 HRESULT STDCALL ( *SetSmth4 )(IHidden* This, int v1, int v2);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
284 HRESULT STDCALL ( *GetSmth5 )(IHidden* This, int* pv);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
285 HRESULT STDCALL ( *SetSmth5 )(IHidden* This, int v1, int v2);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
286 HRESULT STDCALL ( *GetSmth6 )(IHidden* This, int* pv);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
287 } IHidden_vt;
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
288 struct IHidden { struct IHidden_vt* vt; };
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
289
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
290
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
291 typedef struct IHidden2 IHidden2;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
292 typedef struct IHidden2_vt
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
293 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
294 INHERIT_IUNKNOWN();
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
295
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
296 HRESULT STDCALL ( *unk1 )(void);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
297 HRESULT STDCALL ( *unk2 )(void);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
298 HRESULT STDCALL ( *unk3 )(void);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
299 HRESULT STDCALL ( *DecodeGet )(IHidden2* This, int* region);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
300 HRESULT STDCALL ( *unk5 )(void);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
301 HRESULT STDCALL ( *DecodeSet )(IHidden2* This, int* region);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
302 HRESULT STDCALL ( *unk7 )(void);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
303 HRESULT STDCALL ( *unk8 )(void);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
304 } IHidden2_vt;
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 7386
diff changeset
305 struct IHidden2 { struct IHidden2_vt* vt; };
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
306
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
307
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
308 // fixme
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
309 typedef struct IDivxFilterInterface {
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
310 struct IDivxFilterInterface_vt* vt;
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
311 } IDivxFilterInterface;
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
312
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
313 struct IDivxFilterInterface_vt
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
314 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
315 INHERIT_IUNKNOWN();
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
316
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
317 HRESULT STDCALL ( *get_PPLevel )(IDivxFilterInterface* This, int* PPLevel); // current postprocessing level
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
318 HRESULT STDCALL ( *put_PPLevel )(IDivxFilterInterface* This, int PPLevel); // new postprocessing level
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
319 HRESULT STDCALL ( *put_DefaultPPLevel )(IDivxFilterInterface* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
320 HRESULT STDCALL ( *put_MaxDelayAllowed )(IDivxFilterInterface* This, int maxdelayallowed);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
321 HRESULT STDCALL ( *put_Brightness )(IDivxFilterInterface* This, int brightness);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
322 HRESULT STDCALL ( *put_Contrast )(IDivxFilterInterface* This, int contrast);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
323 HRESULT STDCALL ( *put_Saturation )(IDivxFilterInterface* This, int saturation);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
324 HRESULT STDCALL ( *get_MaxDelayAllowed )(IDivxFilterInterface* This, int* maxdelayallowed);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
325 HRESULT STDCALL ( *get_Brightness)(IDivxFilterInterface* This, int* brightness);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
326 HRESULT STDCALL ( *get_Contrast)(IDivxFilterInterface* This, int* contrast);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
327 HRESULT STDCALL ( *get_Saturation )(IDivxFilterInterface* This, int* saturation);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
328 HRESULT STDCALL ( *put_AspectRatio )(IDivxFilterInterface* This, int x, IDivxFilterInterface* Thisit, int y);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 2069
diff changeset
329 HRESULT STDCALL ( *get_AspectRatio )(IDivxFilterInterface* This, int* x, IDivxFilterInterface* Thisit, int* y);
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
330 };
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
331
30824
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
332 typedef struct IEnumFilters IEnumFilters;
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
333
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
334 typedef struct IFilterGraph_vt
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
335 {
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
336 INHERIT_IUNKNOWN();
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
337
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
338 HRESULT STDCALL ( *AddFilter )(IFilterGraph* This,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
339 /* [in] */ IBaseFilter* pFilter,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
340 /* [string][in] */ unsigned short* pName);
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
341 HRESULT STDCALL ( *RemoveFilter )(IFilterGraph* This,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
342 /* [in] */ IBaseFilter* pFilter);
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
343 HRESULT STDCALL ( *EnumFilters )(IFilterGraph* This,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
344 /* [out] */ IEnumFilters** ppEnum);
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
345 HRESULT STDCALL ( *FindFilterByName )(IFilterGraph* This,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
346 /* [string][in] */ unsigned short* pName,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
347 /* [out] */ IBaseFilter** ppFilter);
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
348 HRESULT STDCALL ( *ConnectDirect )(IFilterGraph* This,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
349 /* [in] */ IPin* ppinOut,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
350 /* [in] */ IPin* ppinIn,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
351 /* [in] */ const AM_MEDIA_TYPE* pmt);
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
352 HRESULT STDCALL ( *Reconnect )(IFilterGraph* This,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
353 /* [in] */ IPin* ppin);
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
354 HRESULT STDCALL ( *Disconnect )(IFilterGraph* This,
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
355 /* [in] */ IPin* ppin);
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
356 HRESULT STDCALL ( *SetDefaultSyncSource )(IFilterGraph* This);
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
357 } IFilterGraph_vt;
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
358 struct IFilterGraph { IFilterGraph_vt *vt; };
c121d03db8b9 Implement DirectShow filter graph.
sesse
parents: 30170
diff changeset
359
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25794
diff changeset
360 #endif /*MPLAYER_INTERFACES_H */