1/* 2 * Copyright (C) 2002 Alexandre Julliard 3 * Copyright (C) 2004 Vincent B�ron 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 18 */ 19 20cpp_quote("#if !defined(COM_NO_WINDOWS_H) && !defined(__WINESRC__)") 21cpp_quote("#include <windows.h>") 22cpp_quote("#include <ole2.h>") 23cpp_quote("#endif") 24 25import "unknwn.idl"; 26import "objidl.idl"; 27 28interface IDMOQualityControl; 29interface IDMOVideoOutputOptimizations; 30interface IMediaBuffer; 31interface IMediaObject; 32interface IMediaObjectInPlace; 33 34typedef struct _DMOMediaType 35{ 36 GUID majortype; 37 GUID subtype; 38 BOOL bFixedSizeSamples; 39 BOOL bTemporalCompression; 40 ULONG lSampleSize; 41 GUID formattype; 42 IUnknown *pUnk; 43 ULONG cbFormat; 44 BYTE *pbFormat; 45} DMO_MEDIA_TYPE; 46 47/***************************************************************************** 48 * IEnumDMO interface 49 */ 50[ 51 object, 52 uuid(2C3CD98A-2BFA-4A53-9C27-5249BA64BA0F), 53 pointer_default(unique) 54] 55interface IEnumDMO : IUnknown 56{ 57 [local] 58 HRESULT Next( 59 [in] DWORD cItemsToFetch, 60 [out] CLSID *pCLSID, 61 [out] WCHAR **Names, 62 [out] DWORD *pcItemsFetched 63 ); 64 65 HRESULT Skip( 66 [in] DWORD cItemsToSkip 67 ); 68 69 HRESULT Reset(); 70 71 HRESULT Clone( 72 [out] IEnumDMO **ppEnum 73 ); 74} 75