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 20import "unknwn.idl"; 21import "objidl.idl"; 22 23interface IDMOQualityControl; 24interface IDMOVideoOutputOptimizations; 25interface IMediaBuffer; 26interface IMediaObject; 27interface IMediaObjectInPlace; 28 29typedef struct _DMOMediaType 30{ 31 GUID majortype; 32 GUID subtype; 33 BOOL bFixedSizeSamples; 34 BOOL bTemporalCompression; 35 ULONG lSampleSize; 36 GUID formattype; 37 IUnknown *pUnk; 38 ULONG cbFormat; 39 BYTE *pbFormat; 40} DMO_MEDIA_TYPE; 41 42/***************************************************************************** 43 * IEnumDMO interface 44 */ 45[ 46 object, 47 uuid(2C3CD98A-2BFA-4A53-9C27-5249BA64BA0F), 48 pointer_default(unique) 49] 50interface IEnumDMO : IUnknown 51{ 52 [local] 53 HRESULT Next( 54 [in] DWORD cItemsToFetch, 55 [out] CLSID *pCLSID, 56 [out] WCHAR **Names, 57 [out] DWORD *pcItemsFetched 58 ); 59 60 HRESULT Skip( 61 [in] DWORD cItemsToSkip 62 ); 63 64 HRESULT Reset(); 65 66 HRESULT Clone( 67 [out] IEnumDMO **ppEnum 68 ); 69} 70