~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/include/amstream.idl

Version: ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Copyright 2004 Christian Costa
  3  *
  4  * This library is free software; you can redistribute it and/or
  5  * modify it under the terms of the GNU Lesser General Public
  6  * License as published by the Free Software Foundation; either
  7  * version 2.1 of the License, or (at your option) any later version.
  8  *
  9  * This library is distributed in the hope that it will be useful,
 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12  * Lesser General Public License for more details.
 13  *
 14  * You should have received a copy of the GNU Lesser General Public
 15  * License along with this library; if not, write to the Free Software
 16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 17  */
 18 
 19 import "unknwn.idl";
 20 import "mmstream.idl";
 21 import "strmif.idl";
 22 
 23 cpp_quote("#include <ddraw.h>")
 24 cpp_quote("#include <mmsystem.h>")
 25 cpp_quote("#include <mmstream.h>")
 26 cpp_quote("#include <ddstream.h>")
 27 cpp_quote("#include <austream.h>")
 28 
 29 cpp_quote("#if 0")
 30 interface IDirectDraw;
 31 interface IDirectDrawSurface;
 32 cpp_quote("#endif")
 33 
 34 interface IAMMultiMediaStream;
 35 interface IAMMediaStream;
 36 interface IMediaStreamFilter;
 37 interface IAMMediaTypeStream;
 38 interface IAMMediaTypeSample;
 39 
 40 enum {
 41         AMMSF_NOGRAPHTHREAD      = 0x00000001
 42 };
 43 
 44 enum {
 45         AMMSF_ADDDEFAULTRENDERER = 0x00000001,
 46         AMMSF_CREATEPEER         = 0x00000002,
 47         AMMSF_STOPIFNOSAMPLES    = 0x00000004,
 48         AMMSF_NOSTALL            = 0x00000008
 49 };
 50 
 51 enum {
 52         AMMSF_RENDERTYPEMASK     = 0x00000003,
 53         AMMSF_RENDERTOEXISTING   = 0x00000000,
 54         AMMSF_RENDERALLSTREAMS   = 0x00000001,
 55         AMMSF_NORENDER           = 0x00000002,
 56         AMMSF_NOCLOCK            = 0x00000004,
 57         AMMSF_RUN                = 0x00000008
 58 };
 59 
 60 
 61 typedef [v1_enum] enum {
 62         Disabled = 0,
 63         ReadData = 1,
 64         RenderData = 2
 65 } OUTPUT_STATE;
 66 
 67 [
 68 object,
 69 uuid(7DB01C96-C0C3-11d0-8FF1-00C04FD9189D),
 70 dual,
 71 helpstring("IDirectShowStream Interface"),
 72 pointer_default(unique)
 73 ]
 74 interface IDirectShowStream : IDispatch
 75 {
 76         [propget, id(1), helpstring("property FileName")] HRESULT FileName([out, retval] BSTR *pVal);
 77         [propput, id(1), helpstring("property FileName")] HRESULT FileName([in] BSTR newVal);
 78         [propget, id(2), helpstring("property Video")] HRESULT Video([out, retval] OUTPUT_STATE *pVal);
 79         [propput, id(2), helpstring("propetry Video")] HRESULT Video([in] OUTPUT_STATE newVal);
 80         [propget, id(3), helpstring("property Audio")] HRESULT Audio([out, retval] OUTPUT_STATE *pVal);
 81         [propput, id(3), helpstring("propetry Audio")] HRESULT Audio([in] OUTPUT_STATE newVal);
 82 };
 83 
 84 [
 85 object,
 86 uuid(BEBE595C-9A6F-11d0-8FDE-00C04FD9189D),
 87 pointer_default(unique)
 88 ]
 89 interface IAMMultiMediaStream : IMultiMediaStream
 90 {
 91         HRESULT Initialize(
 92                 [in] STREAM_TYPE StreamType,
 93                 [in] DWORD dwFlags,
 94                 [in] IGraphBuilder *pFilterGraph);
 95 
 96         HRESULT GetFilterGraph(
 97                 [out] IGraphBuilder **ppGraphBuilder);
 98 
 99         HRESULT GetFilter(
100                 [out] IMediaStreamFilter **ppFilter);
101 
102         HRESULT AddMediaStream(
103                 [in] IUnknown *pStreamObject,
104                 [in] const MSPID *PurposeId,
105                 [in] DWORD dwFlags,
106                 [out] IMediaStream **ppNewStream);
107 
108         HRESULT OpenFile(
109                 [in] LPCWSTR pszFileName,
110                 [in] DWORD dwFlags);
111 
112         HRESULT OpenMoniker(
113                 [in] IBindCtx *pCtx,
114                 [in] IMoniker *pMoniker,
115                 [in] DWORD dwFlags);
116 
117         HRESULT Render(
118                 [in] DWORD dwFlags);
119 }
120 
121 
122 [
123 object,
124 uuid(BEBE595D-9A6F-11d0-8FDE-00C04FD9189D),
125 pointer_default(unique)
126 ]
127 interface IAMMediaStream : IMediaStream
128 {
129         HRESULT Initialize(
130                 [in] IUnknown *pSourceObject,
131                 [in] DWORD dwFlags,
132                 [in] REFMSPID PurposeId,
133                 [in] const STREAM_TYPE StreamType);
134 
135         HRESULT SetState(
136                 [in] FILTER_STATE State);
137 
138         HRESULT JoinAMMultiMediaStream(
139                 [in] IAMMultiMediaStream *pAMMultiMediaStream);
140 
141         HRESULT JoinFilter(
142                 [in] IMediaStreamFilter *pMediaStreamFilter);
143 
144         HRESULT JoinFilterGraph(
145                 [in] IFilterGraph *pFilterGraph);
146 }
147 
148 
149 [
150 object,
151 local,
152 uuid(BEBE595E-9A6F-11d0-8FDE-00C04FD9189D),
153 pointer_default(unique)
154 ]
155 interface IMediaStreamFilter : IBaseFilter
156 {
157         HRESULT AddMediaStream(
158                 [in] IAMMediaStream *pAMMediaStream);
159 
160         HRESULT GetMediaStream(
161                 [in] REFMSPID idPurpose,
162                 [out] IMediaStream **ppMediaStream);
163 
164         HRESULT EnumMediaStreams(
165                 [in] long Index,
166                 [out] IMediaStream **ppMediaStream);
167 
168         HRESULT SupportSeeking(
169                 [in] BOOL bRenderer);
170 
171         HRESULT ReferenceTimeToStreamTime(
172                 [in] [out] REFERENCE_TIME *pTime);
173 
174         HRESULT GetCurrentStreamTime(
175                 [out] REFERENCE_TIME *pCurrentStreamTime);
176 
177         HRESULT WaitUntil(
178                 [in]  REFERENCE_TIME WaitStreamTime);
179 
180         HRESULT Flush(
181                 [in] BOOL bCancelEOS);
182 
183         HRESULT EndOfStream();
184 }
185 
186 
187 [
188 object,
189 local,
190 uuid(AB6B4AFC-F6E4-11d0-900D-00C04FD9189D),
191 pointer_default(unique)
192 ]
193 interface IDirectDrawMediaSampleAllocator : IUnknown
194 {
195         HRESULT GetDirectDraw(IDirectDraw **ppDirectDraw);
196 }
197 
198 
199 [
200 object,
201 local,
202 uuid(AB6B4AFE-F6E4-11d0-900D-00C04FD9189D),
203 pointer_default(unique)
204 ]
205 interface IDirectDrawMediaSample : IUnknown
206 {
207         HRESULT GetSurfaceAndReleaseLock(
208                 [out] IDirectDrawSurface **ppDirectDrawSurface,
209                 [out] RECT * pRect);
210 
211         HRESULT LockMediaSamplePointer(void);
212 }
213 
214 
215 [
216 object,
217 local,
218 uuid(AB6B4AFA-F6E4-11d0-900D-00C04FD9189D),
219 pointer_default(unique)
220 ]
221 
222 interface IAMMediaTypeStream : IMediaStream
223 {
224         HRESULT GetFormat(
225                 [out] AM_MEDIA_TYPE * pMediaType,
226                 [in] DWORD dwFlags);
227 
228         HRESULT SetFormat(
229                 [in] AM_MEDIA_TYPE * pMediaType,
230                 [in] DWORD dwFlags);
231 
232         HRESULT CreateSample(
233                 [in] long lSampleSize,
234                 [in] BYTE * pbBuffer,
235                 [in] DWORD dwFlags,
236                 [in] IUnknown *pUnkOuter,
237                 [out] IAMMediaTypeSample ** ppAMMediaTypeSample);
238 
239         HRESULT GetStreamAllocatorRequirements(
240                 [out] ALLOCATOR_PROPERTIES *pProps);
241 
242         HRESULT SetStreamAllocatorRequirements(
243                 [in] ALLOCATOR_PROPERTIES *pProps);
244 }
245 
246 
247 [
248 object,
249 local,
250 uuid(AB6B4AFB-F6E4-11d0-900D-00C04FD9189D),
251 pointer_default(unique)
252 ]
253 interface IAMMediaTypeSample : IStreamSample
254 {
255         HRESULT SetPointer(
256                 [in] BYTE *pBuffer,
257                 [in] long lSize);
258 
259         HRESULT GetPointer(
260                 [out] BYTE ** ppBuffer);
261 
262         long GetSize(void);
263 
264         HRESULT GetTime(
265                 [out] REFERENCE_TIME * pTimeStart,
266                 [out] REFERENCE_TIME * pTimeEnd);
267 
268         HRESULT SetTime(
269                 [in] REFERENCE_TIME * pTimeStart,
270                 [in] REFERENCE_TIME * pTimeEnd);
271 
272         HRESULT IsSyncPoint(void);
273 
274         HRESULT SetSyncPoint(
275                 BOOL bIsSyncPoint);
276 
277         HRESULT IsPreroll(void);
278 
279         HRESULT SetPreroll(
280                 BOOL bIsPreroll);
281 
282         long GetActualDataLength(void);
283 
284         HRESULT SetActualDataLength(long Len);
285 
286         HRESULT GetMediaType(
287                 AM_MEDIA_TYPE **ppMediaType);
288 
289         HRESULT SetMediaType(
290                 AM_MEDIA_TYPE *pMediaType);
291 
292         HRESULT IsDiscontinuity(void);
293 
294         HRESULT SetDiscontinuity(
295                 BOOL bDiscontinuity);
296 
297         HRESULT GetMediaTime(
298                 [out] LONGLONG * pTimeStart,
299                 [out] LONGLONG * pTimeEnd);
300 
301         HRESULT SetMediaTime(
302                 [in] LONGLONG * pTimeStart,
303                 [in] LONGLONG * pTimeEnd);
304 }
305 
306 [
307     uuid(49C47CE5-9BA4-11d0-8212-00C04FC32C45)
308 ]
309 coclass AMMultiMediaStream
310 {
311     [default] dispinterface IDirectShowStream;
312 }
313 
314 cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream,  0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
315 cpp_quote("DEFINE_GUID(CLSID_AMAudioStream,       0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
316 cpp_quote("DEFINE_GUID(CLSID_AMAudioData,         0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
317 cpp_quote("DEFINE_GUID(CLSID_AMMediaTypeStream,   0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);")
318 cpp_quote("DEFINE_GUID(CLSID_MediaStreamFilter,   0x49c47ce0, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.