Home | History | Annotate | Download | only in include
      1 /*
      2  * Copyright (C) 2002 Alexandre Julliard
      3  * Copyright (C) 2004 Vincent Bron
      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 
     20 import "unknwn.idl";
     21 import "objidl.idl";
     22 
     23 interface IDMOQualityControl;
     24 interface IDMOVideoOutputOptimizations;
     25 interface IMediaBuffer;
     26 interface IMediaObject;
     27 interface IMediaObjectInPlace;
     28 
     29 typedef 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 ]
     50 interface 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