d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy/*
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * Copyright (C) 2002 Alexandre Julliard
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * Copyright (C) 2004 Vincent BĂ©ron
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy *
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * This library is free software; you can redistribute it and/or
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * modify it under the terms of the GNU Lesser General Public
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * License as published by the Free Software Foundation; either
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * version 2.1 of the License, or (at your option) any later version.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy *
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * This library is distributed in the hope that it will be useful,
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * but WITHOUT ANY WARRANTY; without even the implied warranty of
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * Lesser General Public License for more details.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy *
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * You should have received a copy of the GNU Lesser General Public
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * License along with this library; if not, write to the Free Software
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy */
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy/*
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * a choice of LGPL license versions is made available with the language indicating
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * that LGPLv2 or any later version may be used, or where a choice of which version
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * of the LGPL is applied is otherwise unspecified.
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy */
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyimport "unknwn.idl";
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyimport "objidl.idl";
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyinterface IDMOQualityControl;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyinterface IDMOVideoOutputOptimizations;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyinterface IMediaBuffer;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyinterface IMediaObject;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyinterface IMediaObjectInPlace;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedytypedef struct _DMOMediaType
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy{
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy GUID majortype;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy GUID subtype;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy BOOL bFixedSizeSamples;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy BOOL bTemporalCompression;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy ULONG lSampleSize;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy GUID formattype;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy IUnknown *pUnk;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy ULONG cbFormat;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy BYTE *pbFormat;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy} DMO_MEDIA_TYPE;
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy/*****************************************************************************
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy * IEnumDMO interface
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy */
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy[
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy object,
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy uuid(2C3CD98A-2BFA-4A53-9C27-5249BA64BA0F),
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy pointer_default(unique)
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy]
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedyinterface IEnumDMO : IUnknown
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy{
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy [local]
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy HRESULT Next(
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy [in] DWORD cItemsToFetch,
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy [out] CLSID *pCLSID,
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy [out] WCHAR **Names,
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy [out] DWORD *pcItemsFetched
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy );
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy HRESULT Skip(
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy [in] DWORD cItemsToSkip
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy );
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy HRESULT Reset();
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy HRESULT Clone(
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy [out] IEnumDMO **ppEnum
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy );
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy}
d583b39bfb4e2571d3e41097c5c357ffe353ad45John Wren Kennedy