[SDK] One step further towards ReactOS source code tree restructure: the sdk folder...
[reactos.git] / reactos / include / dxsdk / axextend.idl
diff --git a/reactos/include/dxsdk/axextend.idl b/reactos/include/dxsdk/axextend.idl
deleted file mode 100644 (file)
index cd4955d..0000000
+++ /dev/null
@@ -1,1250 +0,0 @@
-/*
- * Copyright (C) 2002 Robert Shearman
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-interface IAMAnalogVideoDecoder;
-interface IAMAnalogVideoEncoder;
-interface IAMAudioInputMixer;
-interface IAMAudioRendererStats;
-interface IAMBufferNegotiation;
-interface IAMCameraControl;
-interface IAMCertifiedOutputProtection;
-interface IAMCopyCaptureFileProgress;
-interface IAMCrossbar;
-interface IAMDevMemoryAllocator;
-interface IAMDevMemoryControl;
-interface IAMDroppedFrames;
-interface IAMExtDevice;
-interface IAMExtTransport;
-interface IAMGraphStreams;
-interface IAMLatency;
-interface IAMOpenProgress;
-interface IAMOverlayFX;
-interface IAMPhysicalPinInfo;
-interface IAMPushSource;
-interface IAMStreamConfig;
-interface IAMTimecodeDisplay;
-interface IAMTimecodeGenerator;
-interface IAMTimecodeReader;
-interface IAMTVTuner;
-interface IAMVfwCaptureDialogs;
-interface IAMVfwCompressDialogs;
-interface IAMVideoCompression;
-interface IAMVideoDecimationProperties;
-interface IAMVideoProcAmp;
-interface IAMGraphBuilderCallback;
-interface ICaptureGraphBuilder;
-interface ICaptureGraphBuilder2;
-interface IConfigAviMux;
-interface IConfigInterleaving;
-interface IDecimateVideoImage;
-interface IDrawVideoImage;
-interface IEnumRegFilters;
-interface IEnumStreamIdMap;
-interface IFileSourceFilter;
-interface IFileSinkFilter;
-interface IFileSinkFilter2;
-interface IFilterMapper;
-interface IFilterMapper2;
-interface IGraphBuilder;
-interface IKsPropertySet;
-interface IMediaEventSink;
-interface IMpeg2Demultiplexer;
-interface IMPEG2StreamIdMap;
-interface IOverlay;
-interface IOverlayNotify;
-interface IOverlayNotify2;
-interface IQualityControl;
-interface ISeekingPassThru;
-
-typedef struct
-{
-    CLSID Clsid;
-    LPWSTR Name;
-} REGFILTER;
-
-[
-object,
-uuid(56a868a4-0ad4-11ce-b03a-0020af0ba770),
-pointer_default(unique)
-]
-interface IEnumRegFilters : IUnknown
-{
-    HRESULT Next
-        ( [in]  ULONG cFilters,
-          [out] REGFILTER ** apRegFilter,
-          [out] ULONG * pcFetched
-        );
-
-    HRESULT Skip(
-        [in] ULONG cFilters
-    );
-
-    HRESULT Reset(void);
-
-    HRESULT Clone(
-        [out] IEnumRegFilters **ppEnum
-    );
-}
-
-
-typedef IEnumRegFilters *PENUMREGFILTERS;
-
-[
-object,
-uuid(56a868a3-0ad4-11ce-b03a-0020af0ba770),
-pointer_default(unique)
-]
-interface IFilterMapper : IUnknown
-{
-    enum { MERIT_PREFERRED     = 0x800000,
-           MERIT_NORMAL        = 0x600000,
-           MERIT_UNLIKELY      = 0x400000,
-           MERIT_DO_NOT_USE    = 0x200000,
-           MERIT_SW_COMPRESSOR = 0x100000,
-           MERIT_HW_COMPRESSOR = 0x100050
-         };
-
-    HRESULT RegisterFilter
-        ( [in] CLSID   clsid,
-          [in] LPCWSTR Name,
-          [in] DWORD   dwMerit
-        );
-
-    HRESULT RegisterFilterInstance
-        ( [in]  CLSID  clsid,
-          [in]  LPCWSTR Name,
-          [out] CLSID *MRId
-        );
-
-
-    HRESULT RegisterPin
-        ( [in] CLSID   Filter,
-          [in] LPCWSTR Name,
-          [in] BOOL    bRendered,
-          [in] BOOL    bOutput,
-          [in] BOOL    bZero,
-          [in] BOOL    bMany,
-          [in] CLSID   ConnectsToFilter,
-          [in] LPCWSTR ConnectsToPin
-        );
-
-    HRESULT RegisterPinType
-        ( [in] CLSID   clsFilter,
-          [in] LPCWSTR strName,
-          [in] CLSID   clsMajorType,
-          [in] CLSID   clsSubType
-        );
-
-
-    HRESULT UnregisterFilter
-        ( [in] CLSID  Filter
-        );
-
-
-    HRESULT UnregisterFilterInstance
-        ( [in] CLSID  MRId
-        );
-
-
-    HRESULT UnregisterPin
-        ( [in] CLSID   Filter,
-          [in] LPCWSTR Name
-        );
-
-    HRESULT EnumMatchingFilters
-       ( [out] IEnumRegFilters **ppEnum,
-         [in]  DWORD dwMerit,
-         [in]  BOOL  bInputNeeded,
-         [in]  CLSID clsInMaj,
-         [in]  CLSID clsInSub,
-         [in]  BOOL  bRender,
-         [in]  BOOL  bOututNeeded,
-         [in]  CLSID clsOutMaj,
-         [in]  CLSID clsOutSub
-       );
-
-}
-
-typedef struct
-{
-    const CLSID * clsMajorType;
-    const CLSID * clsMinorType;
-} REGPINTYPES;
-
-typedef struct
-{
-    LPWSTR           strName;
-    BOOL             bRendered;
-    BOOL             bOutput;
-    BOOL             bZero;
-    BOOL             bMany;
-    const CLSID *    clsConnectsToFilter;
-    const WCHAR *    strConnectsToPin;
-    UINT             nMediaTypes;
-    const REGPINTYPES * lpMediaType;
-} REGFILTERPINS;
-
-typedef struct
-{
-    CLSID clsMedium;
-    DWORD dw1;
-    DWORD dw2;
-} REGPINMEDIUM;
-
-enum
-{
-    REG_PINFLAG_B_ZERO = 0x1,
-    REG_PINFLAG_B_RENDERER = 0x2,
-    REG_PINFLAG_B_MANY = 0x4,
-    REG_PINFLAG_B_OUTPUT = 0x8
-};
-
-
-typedef struct
-{
-    DWORD dwFlags;
-    UINT             cInstances;
-    UINT             nMediaTypes;
-    [size_is(nMediaTypes)] const REGPINTYPES * lpMediaType;
-    UINT             nMediums;
-    [size_is(nMediums)] const REGPINMEDIUM *lpMedium;
-    const CLSID      *clsPinCategory;
-} REGFILTERPINS2;
-
-typedef struct
-{
-    DWORD dwVersion;
-    DWORD dwMerit;
-    [switch_is(dwVersion)] [switch_type(DWORD)] union
-    {
-        [case(1)]
-            struct
-            {
-                ULONG cPins;
-                [size_is(cPins)] const REGFILTERPINS *rgPins;
-            } DUMMYSTRUCTNAME1;
-
-        [case(2)]
-            struct
-            {
-                ULONG cPins2;
-                [size_is(cPins2)] const REGFILTERPINS2 *rgPins2;
-            } DUMMYSTRUCTNAME2;
-
-        [default]
-            ;
-    } DUMMYUNIONNAME;
-
-} REGFILTER2;
-
-
-[
-object,
-uuid(b79bb0b0-33c1-11d1-abe1-00a0c905f375),
-pointer_default(unique)
-]
-interface IFilterMapper2 : IUnknown
-{
-    HRESULT CreateCategory
-        ( [in] REFCLSID clsidCategory,
-          [in] DWORD dwCategoryMerit,
-          [in] LPCWSTR Description
-          );
-
-    HRESULT UnregisterFilter
-        ( [in] const CLSID *pclsidCategory,
-          [in] LPCOLESTR szInstance,
-          [in] REFCLSID Filter
-        );
-
-    HRESULT RegisterFilter
-        ( [in] REFCLSID clsidFilter,
-          [in] LPCWSTR Name,
-          [in, out] IMoniker **ppMoniker,
-          [in] const CLSID *pclsidCategory,
-          [in] LPCOLESTR szInstance,
-          [in] const REGFILTER2 *prf2
-        );
-
-    HRESULT EnumMatchingFilters
-       ( [out] IEnumMoniker **ppEnum,
-         [in]  DWORD dwFlags,
-         [in]  BOOL bExactMatch,
-         [in]  DWORD dwMerit,
-         [in]  BOOL  bInputNeeded,
-         [in]  DWORD cInputTypes,
-         [size_is(cInputTypes*2)]  const GUID *pInputTypes,
-         [in]  const REGPINMEDIUM *pMedIn,
-         [in]  const CLSID *pPinCategoryIn,
-         [in]  BOOL  bRender,
-         [in]  BOOL  bOutputNeeded,
-         [in]  DWORD cOutputTypes,
-         [size_is(cOutputTypes*2)]  const GUID *pOutputTypes,
-         [in]  const REGPINMEDIUM *pMedOut,
-         [in]  const CLSID *pPinCategoryOut
-       );
-}
-
-[
-object,
-uuid(b79bb0b1-33c1-11d1-abe1-00a0c905f375),
-pointer_default(unique)
-]
-interface IFilterMapper3 : IFilterMapper2
-{
-    HRESULT GetICreateDevEnum( [out] ICreateDevEnum **ppEnum );
-}
-
-typedef enum tagQualityMessageType
-{
-    Famine,
-    Flood
-} QualityMessageType;
-
-typedef struct tagQuality
-{
-    QualityMessageType Type;
-    LONG               Proportion;
-    REFERENCE_TIME       Late;
-    REFERENCE_TIME       TimeStamp;
-} Quality;
-
-typedef IQualityControl *PQUALITYCONTROL;
-
-[
-object,
-uuid(56a868a5-0ad4-11ce-b03a-0020af0ba770),
-pointer_default(unique)
-]
-interface IQualityControl : IUnknown
-{
-    HRESULT Notify
-        ( [in] IBaseFilter * pSelf,
-          [in] Quality q
-        );
-
-    HRESULT SetSink
-        ( [in] IQualityControl * piqc
-        );
-}
-
-enum
-{
-    CK_NOCOLORKEY  = 0x0,
-    CK_INDEX       = 0x1,
-    CK_RGB         = 0x2
-};
-
-typedef struct tagCOLORKEY
-{
-    DWORD    KeyType;
-    DWORD    PaletteIndex;
-    COLORREF LowColorValue;
-    COLORREF HighColorValue;
-} COLORKEY;
-
-enum
-{
-    ADVISE_NONE = 0x0,
-    ADVISE_CLIPPING = 0x1,
-    ADVISE_PALETTE = 0x2,
-    ADVISE_COLORKEY = 0x4,
-    ADVISE_POSITION = 0x8,
-    ADVISE_DISPLAY_CHANGE = 0x10
-};
-
-const DWORD ADVISE_ALL = ADVISE_CLIPPING |
-                         ADVISE_PALETTE  |
-                         ADVISE_COLORKEY |
-                         ADVISE_POSITION;
-
-const DWORD ADVISE_ALL2 = ADVISE_ALL |
-                          ADVISE_DISPLAY_CHANGE;
-
-cpp_quote("#ifndef _WINGDI_")
-
-/* already defined in wingdi.h, but needed for WIDL */
-
-typedef struct _RGNDATAHEADER
-{
-    DWORD dwSize;
-    DWORD iType;
-    DWORD nCount;
-    DWORD nRgnSize;
-    RECT  rcBound;
-} RGNDATAHEADER;
-
-typedef struct _RGNDATA
-{
-    RGNDATAHEADER rdh;
-    char Buffer[1];
-} RGNDATA;
-
-cpp_quote("#endif /* _WINGDI_ */")
-
-[
-object,
-local,
-uuid(56a868a0-0ad4-11ce-b03a-0020af0ba770),
-pointer_default(unique)
-]
-interface IOverlayNotify : IUnknown
-{
-    HRESULT OnPaletteChange(
-        [in] DWORD dwColors,
-        [in] const PALETTEENTRY *pPalette);
-
-    HRESULT OnClipChange(
-        [in] const RECT *pSourceRect,
-        [in] const RECT *pDestinationRect,
-        [in] const RGNDATA *pRgnData);
-
-    HRESULT OnColorKeyChange([in] const COLORKEY *pColorKey);
-
-    HRESULT OnPositionChange([in] const RECT *pSourceRect,
-                             [in] const RECT *pDestinationRect);
-}
-
-typedef IOverlayNotify *POVERLAYNOTIFY;
-
-cpp_quote("#if 0")
-typedef HANDLE HMONITOR;
-cpp_quote("#endif /* 0 */")
-
-[
-object,
-local,
-uuid(680EFA10-D535-11D1-87C8-00A0C9223196),
-pointer_default(unique)
-]
-interface IOverlayNotify2 : IOverlayNotify
-{
-    HRESULT OnDisplayChange(
-        HMONITOR hMonitor);
-}
-
-typedef IOverlayNotify2 *POVERLAYNOTIFY2;
-
-[
-object,
-local,
-uuid(56a868a1-0ad4-11ce-b03a-0020af0ba770),
-pointer_default(unique)
-]
-interface IOverlay : IUnknown
-{
-    HRESULT GetPalette(
-        [out] DWORD *pdwColors,
-        [out] PALETTEENTRY **ppPalette);
-
-    HRESULT SetPalette(
-        [in] DWORD dwColors,
-        [in] PALETTEENTRY *pPalette);
-
-    HRESULT GetDefaultColorKey([out] COLORKEY *pColorKey);
-
-    HRESULT GetColorKey([out] COLORKEY *pColorKey);
-
-    HRESULT SetColorKey([in,out] COLORKEY *pColorKey);
-
-    HRESULT GetWindowHandle([out] HWND *pHwnd);
-
-    HRESULT GetClipList([out] RECT *pSourceRect,
-                        [out] RECT *pDestinationRect,
-                        [out] RGNDATA **ppRgnData);
-
-    HRESULT GetVideoPosition([out] RECT *pSourceRect,
-                             [out] RECT *pDestinationRect);
-
-    HRESULT Advise(
-        [in] IOverlayNotify *pOverlayNotify,
-        [in] DWORD dwInterests);
-
-    HRESULT Unadvise();
-}
-
-typedef IOverlay *POVERLAY;
-
-[
-object,
-uuid(56a868a2-0ad4-11ce-b03a-0020af0ba770),
-pointer_default(unique)
-]
-interface IMediaEventSink : IUnknown
-{
-    HRESULT Notify(
-        [in] LONG EventCode,
-        [in] LONG_PTR EventParam1,
-        [in] LONG_PTR EventParam2
-    );
-}
-
-typedef IMediaEventSink *PMEDIAEVENTSINK;
-
-[
-object,
-uuid(56a868a6-0ad4-11ce-b03a-0020af0ba770),
-pointer_default(unique)
-]
-interface IFileSourceFilter : IUnknown
-{
-    HRESULT Load(
-        [in] LPCOLESTR pszFileName,
-        [in, unique] const AM_MEDIA_TYPE *pmt
-    );
-
-    HRESULT GetCurFile(
-        [out] LPOLESTR *ppszFileName,
-        [out] AM_MEDIA_TYPE *pmt
-    );
-}
-
-typedef IFileSourceFilter *PFILTERFILESOURCE;
-
-[
-object,
-uuid(a2104830-7c70-11cf-8bce-00aa00a3f1a6),
-pointer_default(unique)
-]
-interface IFileSinkFilter : IUnknown
-{
-    HRESULT SetFileName(
-        [in] LPCOLESTR pszFileName,
-        [in, unique] const AM_MEDIA_TYPE *pmt
-    );
-
-    HRESULT GetCurFile(
-        [out] LPOLESTR *ppszFileName,
-        [out] AM_MEDIA_TYPE *pmt
-    );
-}
-
-typedef IFileSinkFilter *PFILTERFILESINK;
-
-[
-        object,
-        uuid(00855B90-CE1B-11d0-BD4F-00A0C911CE86),
-        pointer_default(unique)
-]
-interface IFileSinkFilter2 : IFileSinkFilter
-{
-    HRESULT SetMode(
-        [in] DWORD dwFlags
-    );
-
-    HRESULT GetMode(
-        [out] DWORD *pdwFlags
-    );
-}
-
-typedef IFileSinkFilter2 *PFILESINKFILTER2;
-
-[
-        object,
-        uuid(f90a6130-b658-11d2-ae49-0000f8754b99),
-        pointer_default(unique)
-]
-interface IAMDeviceRemoval : IUnknown
-{
-    HRESULT DeviceInfo(
-        [out] CLSID *pclsidInterfaceClass,
-        [out] LPWSTR *pwszSymbolicLink);
-    HRESULT Reassociate();
-    HRESULT Disassociate();
-}
-
-
-typedef enum
-{
-    AM_FILE_OVERWRITE = 0x00000001,
-} AM_FILESINK_FLAGS;
-
-[
-object,
-uuid(56a868a9-0ad4-11ce-b03a-0020af0ba770),
-pointer_default(unique)
-]
-interface IGraphBuilder : IFilterGraph
-{
-    HRESULT Connect
-        ( [in] IPin * ppinOut,
-          [in] IPin * ppinIn
-        );
-
-    HRESULT Render
-        ( [in] IPin * ppinOut
-        );
-
-    HRESULT RenderFile
-        ( [in] LPCWSTR lpcwstrFile,
-          [in, unique] LPCWSTR lpcwstrPlayList
-        );
-
-    HRESULT AddSourceFilter
-        ( [in]      LPCWSTR lpcwstrFileName,
-          [in, unique]      LPCWSTR lpcwstrFilterName,
-          [out]     IBaseFilter* *ppFilter
-        );
-
-    HRESULT SetLogFile
-        ( [in]      DWORD_PTR hFile
-        );
-
-    HRESULT Abort();
-
-    HRESULT ShouldOperationContinue();
-}
-
-
-[
-    object,
-    uuid(bf87b6e0-8c27-11d0-b3f0-00aa003761c5),
-    pointer_default(unique)
-]
-interface ICaptureGraphBuilder : IUnknown {
-
-    HRESULT SetFiltergraph(
-        [in] IGraphBuilder *pfg);
-
-    HRESULT GetFiltergraph(
-        [out] IGraphBuilder **ppfg);
-
-    HRESULT SetOutputFileName(
-        [in] const GUID *pType,
-        [in] LPCOLESTR lpstrFile,
-        [out] IBaseFilter **ppf,
-        [out] IFileSinkFilter **ppSink);
-
-    [local] HRESULT FindInterface(
-        [in, unique] const GUID *pCategory,
-        [in] IBaseFilter *pf,
-        [in] REFIID riid,
-        [out] void **ppint);
-
-    [call_as(FindInterface)] HRESULT RemoteFindInterface(
-        [in, unique] const GUID *pCategory,
-        [in] IBaseFilter *pf,
-        [in] REFIID riid,
-        [out] IUnknown **ppint);
-
-    HRESULT RenderStream(
-        [in] const GUID *pCategory,
-        [in] IUnknown *pSource,
-        [in] IBaseFilter *pfCompressor,
-        [in] IBaseFilter *pfRenderer);
-
-    HRESULT ControlStream(
-        [in] const GUID *pCategory,
-        [in] IBaseFilter *pFilter,
-        [in] REFERENCE_TIME *pstart,
-        [in] REFERENCE_TIME *pstop,
-        [in] WORD wStartCookie,
-        [in] WORD wStopCookie);
-
-    HRESULT AllocCapFile(
-        [in] LPCOLESTR lpstr,
-        [in] DWORDLONG dwlSize);
-
-    HRESULT CopyCaptureFile(
-        [in] LPOLESTR lpwstrOld,
-        [in] LPOLESTR lpwstrNew,
-        [in] int fAllowEscAbort,
-        [in] IAMCopyCaptureFileProgress *pCallback);
-}
-
-[
-object,
-uuid(670d1d20-a068-11d0-b3f0-00aa003761c5),
-pointer_default(unique)
-]
-interface IAMCopyCaptureFileProgress : IUnknown
-{
-    HRESULT Progress(
-        [in] int iProgress);
-}
-
-[
-    object,
-    uuid(93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D),
-    pointer_default(unique)
-]
-interface ICaptureGraphBuilder2 : IUnknown
-{
-    HRESULT SetFiltergraph(
-        [in] IGraphBuilder *pfg);
-
-    HRESULT GetFiltergraph(
-        [out] IGraphBuilder **ppfg);
-
-    HRESULT SetOutputFileName(
-        [in] const GUID *pType,
-        [in] LPCOLESTR lpstrFile,
-        [out] IBaseFilter **ppf,
-        [out] IFileSinkFilter **ppSink);
-
-    [local] HRESULT FindInterface(
-        [in] const GUID *pCategory,
-        [in] const GUID *pType,
-        [in] IBaseFilter *pf,
-        [in] REFIID riid,
-        [out] void **ppint);
-
-    [call_as(FindInterface)] HRESULT RemoteFindInterface(
-        [in] const GUID *pCategory,
-        [in] const GUID *pType,
-        [in] IBaseFilter *pf,
-        [in] REFIID riid,
-        [out] IUnknown **ppint);
-
-    HRESULT RenderStream(
-        [in] const GUID *pCategory,
-        [in] const GUID *pType,
-        [in] IUnknown *pSource,
-        [in] IBaseFilter *pfCompressor,
-        [in] IBaseFilter *pfRenderer);
-
-    HRESULT ControlStream(
-        [in] const GUID *pCategory,
-        [in] const GUID *pType,
-        [in] IBaseFilter *pFilter,
-        [in] REFERENCE_TIME *pstart,
-        [in] REFERENCE_TIME *pstop,
-        [in] WORD wStartCookie,
-        [in] WORD wStopCookie);
-
-    HRESULT AllocCapFile(
-        [in] LPCOLESTR lpstr,
-        [in] DWORDLONG dwlSize);
-
-    HRESULT CopyCaptureFile(
-        [in] LPOLESTR lpwstrOld,
-        [in] LPOLESTR lpwstrNew,
-        [in] int fAllowEscAbort,
-        [in] IAMCopyCaptureFileProgress *pCallback);
-
-    HRESULT FindPin(
-        [in] IUnknown *pSource,
-        [in] PIN_DIRECTION pindir,
-        [in] const GUID *pCategory,
-        [in] const GUID *pType,
-        [in] BOOL fUnconnected,
-        [in] int num,
-        [out] IPin **ppPin);
-}
-
-[
-    local,
-    object,
-    uuid(5acd6aa0-f482-11ce-8b67-00aa00a3f1a6),
-    pointer_default(unique)
-]
-interface IConfigAviMux : IUnknown
-{
-    HRESULT SetMasterStream(
-        [in] LONG iStream);
-
-    HRESULT GetMasterStream(
-        [out] LONG *pStream);
-
-    HRESULT SetOutputCompatibilityIndex(
-        [in] BOOL fOldIndex);
-
-    HRESULT GetOutputCompatibilityIndex(
-        [out] BOOL *pfOldIndex);
-}
-
-[
-    local,
-    object,
-    uuid(bee3d220-157b-11d0-bd23-00a0c911ce86),
-    pointer_default(unique)
-]
-interface IConfigInterleaving : IUnknown
-{
-    typedef enum InterleavingMode {
-        INTERLEAVE_NONE,
-        INTERLEAVE_CAPTURE,
-        INTERLEAVE_FULL,
-        INTERLEAVE_NONE_BUFFERED
-    } InterleavingMode;
-
-    HRESULT put_Mode(
-        [in] InterleavingMode mode);
-
-    HRESULT get_Mode(
-        [out] InterleavingMode *pMode);
-
-    HRESULT put_Interleaving(
-        [in] const REFERENCE_TIME *prtInterleave,
-        [in] const REFERENCE_TIME *prtPreroll);
-
-    HRESULT get_Interleaving(
-        [out] REFERENCE_TIME *prtInterleave,
-        [out] REFERENCE_TIME *prtPreroll);
-}
-
-[
-    local,
-    object,
-    uuid(9fd52741-176d-4b36-8f51-ca8f933223be),
-    pointer_default(unique)
-]
-interface IAMClockSlave : IUnknown
-{
-    HRESULT SetErrorTolerance(
-        [in] DWORD dwTolerance);
-
-    HRESULT GetErrorTolerance(
-        [out] DWORD *pdwTolerance);
-}
-
-typedef struct _AMCOPPSignature {
-    BYTE Signature[256];
-} AMCOPPSignature;
-
-typedef struct _AMCOPPCommand {
-    GUID macKDI;
-    GUID guidCommandID;
-    DWORD dwSequence;
-    DWORD bSizeData;
-    BYTE CommandData[4056];
-} AMCOPPCommand, *LPAMCOPPCommand;
-
-typedef struct _AMCOPPStatusInput {
-    GUID rApp;
-    GUID guidStatusRequestID;
-    DWORD dwSequence;
-    DWORD cbSizeData;
-    BYTE StatusData[4056];
-} AMCOPPStatusInput, *LPAMCOPPStatusInput;
-
-typedef struct _AMCOPPStatusOutput {
-    GUID macKDI;
-    DWORD cbSizeData;
-    BYTE COPPStatus[4076];
-} AMCOPPStatusOutput, *LPAMCOPPStatusOutput;
-
-[
-    local,
-    object,
-    uuid(6feded3e-0ff1-4901-a2f1-43f7012c8515),
-    pointer_default(unique)
-]
-interface IAMCertifiedOutputProtection : IUnknown
-{
-    HRESULT KeyExchange (
-        [out] GUID* pRandom,
-        [out] BYTE** VarLenCertGH,
-        [out] DWORD* pdwLengthCertGH);
-
-    HRESULT SessionSequenceStart(
-        [in] AMCOPPSignature* pSig);
-
-    HRESULT ProtectionCommand(
-        [in] const AMCOPPCommand* cmd);
-
-    HRESULT ProtectionStatus(
-        [in] const AMCOPPStatusInput* pStatusInput,
-        [out] AMCOPPStatusOutput* pStatusOutput);
-};
-
-enum _AM_RENSDEREXFLAGS
-{
-    AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x01
-};
-
-[
-    object,
-    uuid(36b73882-c2c8-11cf-8b46-00805f6cef60),
-    pointer_default(unique)
-]
-interface IFilterGraph2: IGraphBuilder
-{
-    HRESULT AddSourceFilterForMoniker(
-          [in] IMoniker *pMoniker,
-          [in] IBindCtx *pCtx,
-          [in, unique] LPCWSTR lpcwstrFilterName,
-          [out] IBaseFilter **ppFilter
-    );
-
-    HRESULT ReconnectEx
-        ( [in] IPin * ppin,
-          [in, unique] const AM_MEDIA_TYPE *pmt
-        );
-
-    HRESULT RenderEx( [in] IPin *pPinOut,
-                      [in] DWORD dwFlags,
-                      [in, out] DWORD *pvContext
-                    );
-}
-
-[
-    object,
-    local,
-    uuid(56a868bf-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IStreamBuilder : IUnknown
-{
-    HRESULT Render
-        ( [in] IPin * ppinOut,
-          [in] IGraphBuilder * pGraph
-        );
-
-    HRESULT Backout
-        ( [in] IPin * ppinOut,
-          [in] IGraphBuilder * pGraph
-        );
-}
-
-[
-    object,
-    uuid(56a868af-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IDistributorNotify : IUnknown
-{
-    HRESULT Stop(void);
-    HRESULT Pause(void);
-    HRESULT Run(REFERENCE_TIME tStart);
-    HRESULT SetSyncSource([in] IReferenceClock * pClock);
-    HRESULT NotifyGraphChange(void);
-}
-
-typedef enum
-{
-    AM_STREAM_INFO_START_DEFINED   = 0x01,
-    AM_STREAM_INFO_STOP_DEFINED    = 0x02,
-    AM_STREAM_INFO_DISCARDING      = 0x04,
-    AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
-} AM_STREAM_INFO_FLAGS;
-
-typedef struct
-{
-    REFERENCE_TIME tStart;
-    REFERENCE_TIME tStop;
-    DWORD dwStartCookie;
-    DWORD dwStopCookie;
-    DWORD dwFlags;
-}AM_STREAM_INFO;
-
-
-/*****************************************************************************
- * IAMStreamConfig interface
- */
-[
-    object,
-    uuid(c6e13340-30ac-11d0-a18c-00a0c9118956),
-    pointer_default(unique)
-]
-interface IAMStreamConfig : IUnknown
-{
-    HRESULT SetFormat( [in] AM_MEDIA_TYPE *pmt);
-    HRESULT GetFormat( [in] AM_MEDIA_TYPE **pmt);
-    HRESULT GetNumberOfCapabilities( [out] int *piCount, [out] int *piSize);
-    HRESULT GetStreamCaps( [in] int iIndex, [out] AM_MEDIA_TYPE **pmt,
-                          [out] BYTE *pSCC);
-}
-
-
-typedef enum tagVideoProcAmpProperty
-{
-    VideoProcAmp_Brightness,
-    VideoProcAmp_Contrast,
-    VideoProcAmp_Hue,
-    VideoProcAmp_Saturation,
-    VideoProcAmp_Sharpness,
-    VideoProcAmp_Gamma,
-    VideoProcAmp_ColorEnable,
-    VideoProcAmp_WhiteBalance,
-    VideoProcAmp_BacklightCompensation,
-    VideoProcAmp_Gain
-} VideoProcAmpProperty;
-
-typedef enum tagVideoProcAmpFlags
-{
-    VideoProcAmp_Flags_Auto   = 0x0001,
-    VideoProcAmp_Flags_Manual = 0x0002,
-} VideoProcAmpFlags;
-
-/*****************************************************************************
- * IAMVideoProcAmp interface
- */
-[
-    object,
-    uuid(c6e13360-30ac-11d0-a18c-00a0c9118956),
-    pointer_default(unique)
-]
-interface IAMVideoProcAmp : IUnknown
-{
-    HRESULT GetRange( [in] LONG Property, [out] LONG *pMin, [out] LONG *pMax,
-                     [out] LONG *pSteppingDelta, [out] LONG *pDefault,
-                     [out] LONG *pCapsFlags);
-    HRESULT Set( [in] LONG Property, [in] LONG lValue, [in] LONG Flags);
-    HRESULT Get( [in] LONG Property, [out] LONG *lValue, [out] LONG *Flags);
-}
-
-
-[
-        object,
-        uuid(56a868aa-0ad4-11ce-b03a-0020af0ba770),
-        pointer_default(unique)
-]
-interface IAsyncReader : IUnknown
-{
-    HRESULT RequestAllocator(
-                [in]  IMemAllocator* pPreferred,
-                [in]  ALLOCATOR_PROPERTIES* pProps,
-                [out] IMemAllocator ** ppActual);
-
-    HRESULT Request(
-                [in] IMediaSample* pSample,
-                [in] DWORD_PTR dwUser);
-
-    HRESULT WaitForNext(
-                [in]  DWORD dwTimeout,
-                [out] IMediaSample** ppSample,
-                [out] DWORD_PTR * pdwUser);
-
-    HRESULT SyncReadAligned(
-                [in] IMediaSample* pSample);
-
-    HRESULT SyncRead(
-                [in]  LONGLONG llPosition,
-                [in]  LONG lLength,
-                [out, size_is(lLength)]
-                      BYTE* pBuffer);
-
-    HRESULT Length(
-                [out] LONGLONG* pTotal,
-                [out] LONGLONG* pAvailable);
-
-    HRESULT BeginFlush(void);
-
-    HRESULT EndFlush(void);
-}
-
-
-[
-    object,
-    uuid(56a868ab-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IGraphVersion : IUnknown
-{
-    HRESULT QueryVersion(LONG* pVersion);
-}
-
-[
-    object,
-    uuid(56a868ad-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IResourceConsumer : IUnknown
-{
-    HRESULT AcquireResource(
-        [in] LONG idResource);
-
-    HRESULT ReleaseResource(
-        [in] LONG idResource);
-}
-
-
-[
-    object,
-    uuid(56a868ac-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IResourceManager : IUnknown
-{
-    HRESULT Register(
-        [in] LPCWSTR pName,
-        [in] LONG   cResource,
-        [out] LONG* plToken
-        );
-
-    HRESULT RegisterGroup(
-        [in] LPCWSTR pName,
-        [in] LONG cResource,
-        [in, size_is(cResource)]
-             LONG* palTokens,
-        [out] LONG* plToken
-        );
-
-    HRESULT RequestResource(
-        [in] LONG idResource,
-        [in] IUnknown* pFocusObject,
-        [in] IResourceConsumer* pConsumer
-        );
-
-    HRESULT NotifyAcquire(
-        [in] LONG idResource,
-        [in] IResourceConsumer* pConsumer,
-        [in] HRESULT hr);
-
-    HRESULT NotifyRelease(
-        [in] LONG idResource,
-        [in] IResourceConsumer* pConsumer,
-        [in] BOOL bStillWant);
-
-    HRESULT CancelRequest(
-        [in] LONG idResource,
-        [in] IResourceConsumer* pConsumer);
-
-    HRESULT SetFocus(
-        [in] IUnknown* pFocusObject);
-
-    HRESULT ReleaseFocus(
-        [in] IUnknown* pFocusObject);
-
-}
-
-cpp_quote("#ifndef _IKsPropertySet_")
-cpp_quote("#define _IKsPropertySet_")
-cpp_quote("#define KSPROPERTY_SUPPORT_GET  1")
-cpp_quote("#define KSPROPERTY_SUPPORT_SET  2")
-
-[
-    object,
-    uuid(31efac30-515c-11d0-a9aa-00aa0061be93),
-    pointer_default(unique),
-    local
-]
-interface IKsPropertySet : IUnknown
-{
-    HRESULT Set( [in] REFGUID guidPropSet,
-                 [in] DWORD dwPropID,
-                 [in, size_is(cbInstanceData)] LPVOID pInstanceData,
-                 [in] DWORD cbInstanceData,
-                 [in, size_is(cbPropData)] LPVOID pPropData,
-                 [in] DWORD cbPropData );
-
-    HRESULT Get( [in] REFGUID guidPropSet,
-                 [in] DWORD dwPropID,
-                 [in, size_is(cbInstanceData)] LPVOID pInstanceData,
-                 [in] DWORD cbInstanceData,
-                 [out, size_is(cbPropData)] LPVOID pPropData,
-                 [in] DWORD cbPropData,
-                 [out] DWORD *pcbReturned );
-
-    HRESULT QuerySupported( [in] REFGUID guidPropSet,
-                            [in] DWORD dwPropID,
-                            [out] DWORD *pTypeSupport);
-}
-cpp_quote("#endif /* _IKsPropertySet_ */")
-
-[
-    object,
-    uuid(36b73883-c2c8-11cf-8b46-00805f6cef60),
-    pointer_default(unique)
-]
-interface ISeekingPassThru : IUnknown
-{
-    HRESULT Init( [in] BOOL bSupportRendering, [in] IPin *pPin);
-}
-
-[
-    local,
-    object,
-    uuid(4d5466b0-a49c-11d1-abe8-00a0c905f375),
-    pointer_default(unique)
-
-]
-interface IAMClockAdjust : IUnknown
-{
-    HRESULT SetClockDelta([in] REFERENCE_TIME rtDelta);
-};
-
-
-enum _AM_FILTER_MISC_FLAGS
-{
-    AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
-    AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
-};
-
-[
-    local,
-    object,
-    uuid(2dd74950-a890-11d1-abe8-00a0c905f375),
-    pointer_default(unique)
-]
-interface IAMFilterMiscFlags : IUnknown
-{
-    ULONG GetMiscFlags();
-};
-
-[
-    local,
-    object,
-    uuid(4995f511-9ddb-4f12-bd3b-f04611807b79),
-    pointer_default(unique)
-]
-interface IAMGraphBuilderCallback : IUnknown
-{
-    HRESULT SelectedFilter(
-        [in] IMoniker *pMon);
-
-    HRESULT CreatedFilter(
-        [in] IBaseFilter *pFil);
-};
-
-[
-    local,
-    object,
-    uuid(56ED71A0-AF5F-11D0-B3F0-00AA003761C5),
-    pointer_default(unique)
-]
-interface IAMBufferNegotiation : IUnknown
-{
-     HRESULT SuggestAllocatorProperties (
-        [in] const ALLOCATOR_PROPERTIES *pprop);
-
-     HRESULT GetAllocatorProperties (
-        [out] ALLOCATOR_PROPERTIES *pprop);
-
-}
-
-#include <axextendenums.h>
-
-[
-    object,
-    uuid(36b73881-c2c8-11cf-8b46-00805f6cef60),
-    pointer_default(unique)
-]
-interface IAMStreamControl : IUnknown
-{
-    HRESULT StartAt( [in] REFERENCE_TIME * ptStart,
-                     [in] DWORD dwCookie );
-    HRESULT StopAt(  [in] REFERENCE_TIME * ptStop,
-                     [in] BOOL bSendExtra,
-                     [in] DWORD dwCookie );
-    HRESULT GetInfo( [out] AM_STREAM_INFO *pInfo);
-}
-
-typedef enum tagTVAudioMode
-{
-    AMTVAUDIO_MODE_MONO     = 0x0001,
-    AMTVAUDIO_MODE_STEREO   = 0x0002,
-    AMTVAUDIO_MODE_LANG_A   = 0x0010,
-    AMTVAUDIO_MODE_LANG_B   = 0x0020,
-    AMTVAUDIO_MODE_LANG_C   = 0x0040,
-    AMTVAUDIO_PRESET_STEREO = 0x0200,
-    AMTVAUDIO_PRESET_LANG_A = 0x1000,
-    AMTVAUDIO_PRESET_LANG_B = 0x2000,
-    AMTVAUDIO_PRESET_LANG_C = 0x4000,
-}TVAudioMode;