Release 20040914.
[wine/multimedia.git] / include / mediaobj.h
blobcc191bc9b80412ba2fcdf9047ce9aec8f1e4de89
1 /*
2 * Copyright (C) 2002 Alexandre Julliard
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.
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.
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #include <rpc.h>
20 #include <rpcndr.h>
21 #ifndef COM_NO_WINDOWS_H
22 #include <windows.h>
23 #include <ole2.h>
24 #endif
26 #ifndef __mediaobj_h__
27 #define __mediaobj_h__
29 typedef struct IDMOQualityControl IDMOQualityControl;
30 typedef struct IDMOVideoOutputOptimizations IDMOVideoOutputOptimizations;
31 typedef struct IEnumDMO IEnumDMO;
32 typedef struct IMediaBuffer IMediaBuffer;
33 typedef struct IMediaObject IMediaObject;
34 typedef struct IMediaObjectInPlace IMediaObjectInPlace;
36 #include <unknwn.h>
37 #include <objidl.h>
39 typedef struct _DMOMediaType
41 GUID majortype;
42 GUID subtype;
43 BOOL bFixedSizeSamples;
44 BOOL bTemporalCompression;
45 ULONG lSampleSize;
46 GUID formattype;
47 IUnknown *pUnk;
48 ULONG cbFormat;
49 BYTE *pbFormat;
50 } DMO_MEDIA_TYPE;
52 #define INTERFACE IEnumDMO
53 #define IEnumDMO_METHODS \
54 IUnknown_METHODS \
55 STDMETHOD(Next)(THIS_ DWORD cItemsToFetch, CLSID * pCLSID, \
56 WCHAR ** Names, DWORD * pcItemsFectched) PURE; \
57 STDMETHOD(Skip)(THIS_ DWORD cItemsToSkip) PURE; \
58 STDMETHOD(Reset)(THIS) PURE; \
59 STDMETHOD(Clone)(THIS_ IEnumDMO ** ppEnum) PURE;
60 DECLARE_INTERFACE_(IEnumDMO,IUnknown) { IEnumDMO_METHODS };
61 #undef INTERFACE
63 #endif /* __mediaobj_h__ */