annotate loader/dshow/interfaces.h @ 4399:a4098aec828a

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