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

Wine Cross Reference
wine/include/amstream.idl

Version: ~ [ wine-1.0-rc1 ] ~ [ wine-0.9.61 ] ~ [ wine-0.9.60 ] ~ [ wine-0.9.59 ] ~ [ wine-0.9.58 ] ~ [ wine-0.9.57 ] ~ [ wine-0.9.56 ] ~ [ wine-0.9.55 ] ~ [ wine-0.9.54 ] ~ [ wine-0.9.53 ] ~ [ wine-0.9.52 ] ~ [ wine-0.9.51 ] ~ [ wine-0.9.50 ] ~ [ wine-0.9.49 ] ~ [ wine-0.9.48 ] ~ [ wine-0.9.47 ] ~ [ wine-0.9.46 ] ~ [ wine-0.9.45 ] ~ [ wine-0.9.44 ] ~ [ wine-0.9.43 ] ~ [ wine-0.9.42 ] ~ [ wine-0.9.41 ] ~ [ wine-0.9.40 ] ~ [ wine-0.9.39 ] ~ [ wine-0.9.38 ] ~ [ wine-0.9.37 ] ~ [ wine-0.9.36 ] ~ [ wine-0.9.35 ] ~ [ wine-0.9.34 ] ~ [ wine-0.9.33 ] ~ [ wine-0.9.32 ] ~ [ wine-0.9.31 ] ~ [ wine-0.9.30 ] ~ [ wine-0.9.29 ] ~ [ wine-0.9.28 ] ~ [ wine-0.9.27 ] ~ [ wine-0.9.26 ] ~ [ wine-0.9.25 ] ~ [ wine-0.9.24 ] ~ [ wine-0.9.23 ] ~ [ wine-0.9.22 ] ~ [ wine-0.9.21 ] ~ [ wine-0.9.20 ] ~ [ wine-0.9.19 ] ~ [ wine-0.9.18 ] ~ [ wine-0.9.17 ] ~ [ wine-0.9.16 ] ~ [ wine-0.9.15 ] ~ [ wine-0.9.14 ] ~ [ wine-0.9.13 ] ~ [ wine-0.9.12 ] ~ [ wine-0.9.11 ] ~ [ wine-0.9.10 ] ~ [ wine-0.9.9 ] ~ [ wine-0.9.8 ] ~ [ wine-0.9.7 ] ~ [ wine-0.9.6 ] ~ [ wine-0.9.5 ] ~ [ wine-0.9.4 ] ~ [ wine-0.9.3 ] ~ [ wine-0.9.2 ] ~ [ wine-0.9.1 ] ~ [ wine-0.9 ] ~ [ wine20050930 ] ~ [ wine20050830 ] ~ [ wine20050725 ] ~ [ wine20050628 ] ~ [ wine20050524 ] ~ [ wine20050419 ] ~ [ wine20050310 ] ~ [ wine20050211 ] ~ [ wine20050111 ] ~ [ wine20041201 ] ~ [ wine20041019 ] ~ [ wine20040914 ] ~ [ wine20040813 ] ~ [ wine20040716 ] ~ [ wine20040615 ] ~ [ wine20040505 ] ~ [ wine20040408 ] ~ [ wine20040309 ] ~ [ wine20040213 ] ~ [ wine20040121 ] ~ [ wine20031212 ] ~ [ wine20031118 ] ~ [ wine20031016 ] ~ [ wine20030911 ] ~ [ wine20030813 ] ~ [ wine20030709 ] ~ [ wine20030618 ] ~ [ wine20030508 ] ~ [ wine20030408 ] ~ [ wine20030318 ] ~ [ wine20030219 ] ~ [ wine20030115 ] ~ [ wine20021219 ] ~ [ wine20021125 ] ~ [ wine20021031 ] ~ [ wine20021007 ] ~ [ wine20020904 ] ~ [ wine20020804 ] ~ [ wine20020710 ] ~ [ wine20020605 ] ~ [ wine20020509 ] ~ [ wine20020411 ] ~ [ wine20020310 ] ~ [ wine20020228 ] ~ [ wine20011226 ] ~ [ wine20011108 ] ~ [ wine20011004 ] ~ [ wine20010824 ] ~ [ wine20010731 ] ~ [ wine20010629 ] ~ [ wine20010510 ] ~ [ wine20010418 ] ~ [ wine20010326 ] ~ [ wine20010305 ] ~ [ wine20010216 ] ~ [ wine20010112 ] ~ [ wine20001222 ] ~ [ wine20001202 ] ~ [ wine20001026 ] ~ [ wine20001002 ] ~ [ wine20000909 ] ~ [ wine20000821 ] ~ [ wine20000801 ] ~ [ wine20000716 ] ~ [ wine20000326 ] ~ [ wine20000227 ] ~ [ wine20000130 ] ~ [ wine20000109 ] ~

  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 [
 69 object,
 70 uuid(7DB01C96-C0C3-11d0-8FF1-00C04FD9189D),
 71 dual,
 72 helpstring("IDirectShowStream Interface"),
 73 pointer_default(unique)
 74 ]
 75 interface IDirectShowStream : IDispatch
 76 {
 77         [propget, id(1), helpstring("property FileName")] HRESULT FileName([out, retval] BSTR *pVal);
 78         [propput, id(1), helpstring("property FileName")] HRESULT FileName([in] BSTR newVal);
 79         [propget, id(2), helpstring("property Video")] HRESULT Video([out, retval] OUTPUT_STATE *pVal);
 80         [propput, id(2), helpstring("propetry Video")] HRESULT Video([in] OUTPUT_STATE newVal);
 81         [propget, id(3), helpstring("property Audio")] HRESULT Audio([out, retval] OUTPUT_STATE *pVal);
 82         [propput, id(3), helpstring("propetry Audio")] HRESULT Audio([in] OUTPUT_STATE newVal);
 83 };
 84 */
 85 
 86 [
 87 object,
 88 uuid(BEBE595C-9A6F-11d0-8FDE-00C04FD9189D),
 89 pointer_default(unique)
 90 ]
 91 interface IAMMultiMediaStream : IMultiMediaStream
 92 {
 93         HRESULT Initialize(
 94                 [in] STREAM_TYPE StreamType,
 95                 [in] DWORD dwFlags,
 96                 [in, optional] IGraphBuilder *pFilterGraph);
 97 
 98         HRESULT GetFilterGraph(
 99                 [out] IGraphBuilder **ppGraphBuilder);
100 
101         HRESULT GetFilter(
102                 [out] IMediaStreamFilter **ppFilter);
103 
104         HRESULT AddMediaStream(
105                 [in, optional] IUnknown *pStreamObject,
106                 [in, optional] const MSPID *PurposeId,
107                 [in] DWORD dwFlags,
108                 [out, optional] IMediaStream **ppNewStream);
109 
110         HRESULT OpenFile(
111                 [in] LPCWSTR pszFileName,
112                 [in] DWORD dwFlags);
113 
114         HRESULT OpenMoniker(
115                 [in] IBindCtx *pCtx,
116                 [in] IMoniker *pMoniker,
117                 [in] DWORD dwFlags);
118 
119         HRESULT Render(
120                 [in] DWORD dwFlags);
121 }
122 
123 
124 [
125 object,
126 uuid(BEBE595D-9A6F-11d0-8FDE-00C04FD9189D),
127 pointer_default(unique)
128 ]
129 interface IAMMediaStream : IMediaStream
130 {
131         HRESULT Initialize(
132                 [in, optional] IUnknown *pSourceObject,
133                 [in] DWORD dwFlags,
134                 [in] REFMSPID PurposeId,
135                 [in] const STREAM_TYPE StreamType);
136 
137         HRESULT SetState(
138                 [in] FILTER_STATE State);
139 
140         HRESULT JoinAMMultiMediaStream(
141                 [in] IAMMultiMediaStream *pAMMultiMediaStream);
142 
143         HRESULT JoinFilter(
144                 [in] IMediaStreamFilter *pMediaStreamFilter);
145 
146         HRESULT JoinFilterGraph(
147                 [in] IFilterGraph *pFilterGraph);
148 }
149 
150 
151 [
152 object,
153 local,
154 uuid(BEBE595E-9A6F-11d0-8FDE-00C04FD9189D),
155 pointer_default(unique)
156 ]
157 interface IMediaStreamFilter : IBaseFilter
158 {
159         HRESULT AddMediaStream(
160                 [in] IAMMediaStream *pAMMediaStream);
161 
162         HRESULT GetMediaStream(
163                 [in] REFMSPID idPurpose,
164                 [out] IMediaStream **ppMediaStream);
165 
166         HRESULT EnumMediaStreams(
167                 [in] long Index,
168                 [out] IMediaStream **ppMediaStream);
169 
170         HRESULT SupportSeeking(
171                 [in] BOOL bRenderer);
172 
173         HRESULT ReferenceTimeToStreamTime(
174                 [in] [out] REFERENCE_TIME *pTime);
175 
176         HRESULT GetCurrentStreamTime(
177                 [out] REFERENCE_TIME *pCurrentStreamTime);
178 
179         HRESULT WaitUntil(
180                 [in]  REFERENCE_TIME WaitStreamTime);
181 
182         HRESULT Flush(
183                 [in] BOOL bCancelEOS);
184 
185         HRESULT EndOfStream();
186 }
187 
188 
189 [
190 object,
191 local,
192 uuid(AB6B4AFC-F6E4-11d0-900D-00C04FD9189D),
193 pointer_default(unique)
194 ]
195 interface IDirectDrawMediaSampleAllocator : IUnknown
196 {
197         HRESULT GetDirectDraw(IDirectDraw **ppDirectDraw);
198 }
199 
200 
201 [
202 object,
203 local,
204 uuid(AB6B4AFE-F6E4-11d0-900D-00C04FD9189D),
205 pointer_default(unique)
206 ]
207 interface IDirectDrawMediaSample : IUnknown
208 {
209         HRESULT GetSurfaceAndReleaseLock(
210                 [out] IDirectDrawSurface **ppDirectDrawSurface,
211                 [out] RECT * pRect);
212 
213         HRESULT LockMediaSamplePointer(void);
214 }
215 
216 
217 [
218 object,
219 local,
220 uuid(AB6B4AFA-F6E4-11d0-900D-00C04FD9189D),
221 pointer_default(unique)
222 ]
223 
224 interface IAMMediaTypeStream : IMediaStream
225 {
226         HRESULT GetFormat(
227                 [out] AM_MEDIA_TYPE * pMediaType,
228                 [in] DWORD dwFlags);
229 
230         HRESULT SetFormat(
231                 [in] AM_MEDIA_TYPE * pMediaType,
232                 [in] DWORD dwFlags);
233 
234         HRESULT CreateSample(
235                 [in] long lSampleSize,
236                 [in, optional] BYTE * pbBuffer,
237                 [in] DWORD dwFlags,
238                 [in, optional] IUnknown *pUnkOuter,
239                 [out] IAMMediaTypeSample ** ppAMMediaTypeSample);
240 
241         HRESULT GetStreamAllocatorRequirements(
242                 [out] ALLOCATOR_PROPERTIES *pProps);
243 
244         HRESULT SetStreamAllocatorRequirements(
245                 [in] ALLOCATOR_PROPERTIES *pProps);
246 }
247 
248 
249 [
250 object,
251 local,
252 uuid(AB6B4AFB-F6E4-11d0-900D-00C04FD9189D),
253 pointer_default(unique)
254 ]
255 interface IAMMediaTypeSample : IStreamSample
256 {
257         HRESULT SetPointer(
258                 [in] BYTE *pBuffer,
259                 [in] long lSize);
260 
261         HRESULT GetPointer(
262                 [out] BYTE ** ppBuffer);
263 
264         long GetSize(void);
265 
266         HRESULT GetTime(
267                 [out] REFERENCE_TIME * pTimeStart,
268                 [out] REFERENCE_TIME * pTimeEnd);
269 
270         HRESULT SetTime(
271                 [in] REFERENCE_TIME * pTimeStart,
272                 [in] REFERENCE_TIME * pTimeEnd);
273 
274         HRESULT IsSyncPoint(void);
275 
276         HRESULT SetSyncPoint(
277                 BOOL bIsSyncPoint);
278 
279         HRESULT IsPreroll(void);
280 
281         HRESULT SetPreroll(
282                 BOOL bIsPreroll);
283 
284         long GetActualDataLength(void);
285 
286         HRESULT SetActualDataLength(long Len);
287 
288         HRESULT GetMediaType(
289                 AM_MEDIA_TYPE **ppMediaType);
290 
291         HRESULT SetMediaType(
292                 AM_MEDIA_TYPE *pMediaType);
293 
294         HRESULT IsDiscontinuity(void);
295 
296         HRESULT SetDiscontinuity(
297                 BOOL bDiscontinuity);
298 
299         HRESULT GetMediaTime(
300                 [out] LONGLONG * pTimeStart,
301                 [out] LONGLONG * pTimeEnd);
302 
303         HRESULT SetMediaTime(
304                 [in] LONGLONG * pTimeStart,
305                 [in] LONGLONG * pTimeEnd);
306 }
307 
308 [
309     uuid(49C47CE5-9BA4-11d0-8212-00C04FC32C45)
310 ]
311 coclass AMMultiMediaStream
312 {
313     [default] dispinterface IDirectShowStream;
314 }
315 
316 cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream,  0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
317 cpp_quote("DEFINE_GUID(CLSID_AMAudioStream,       0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
318 cpp_quote("DEFINE_GUID(CLSID_AMAudioData,         0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
319 cpp_quote("DEFINE_GUID(CLSID_AMMediaTypeStream,   0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);")

~ [ 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.