Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// ap.idl : IDL source for VMRAllocPresenter.dll //
// This file will be processed by the MIDL tool to // produce the type library (ap.tlb) and marshalling code.
//=====================================================================
import "unknwn.idl";
cpp_quote("#ifdef DSHOW_INDEPENDENT") typedef struct _AMMediaType { GUID majortype; GUID subtype; BOOL bFixedSizeSamples; BOOL bTemporalCompression; ULONG lSampleSize; GUID formattype; IUnknown *pUnk; ULONG cbFormat; [size_is(cbFormat)] BYTE * pbFormat; } AM_MEDIA_TYPE; cpp_quote ("#endif")
cpp_quote("#if 0") // This is temporary hack to get around the fact thatI don't know how to persuade // MIDL to allow forward declarations. typedef DOWRD* LPDIRECTDRAW7; typedef DOWRD* LPDIRECTDRAWSURFACE7; typedef DWORD* IVMRSurfaceAllocator; typedef DWORD* IImageSync; typedef DWORD* IMediaSample; cpp_quote ("#endif") cpp_quote("#include <ddraw.h>")
interface IVMRMixerControl; interface IVMRMixerStream;
import "oaidl.idl"; import "ocidl.idl";
[ object, uuid(56949f22-aa07-4061-bb8c-10159d8f92e5),
helpstring("IVMRMixerControl Interface"), pointer_default(unique) ] interface IVMRMixerControl : IUnknown { HRESULT SetBackEndAllocator( [in] IVMRSurfaceAllocator* lpAllocator );
HRESULT SetBackEndImageSync( [in] IImageSync* lpImageSync );
HRESULT SetMixerConfiguration( [in] DWORD dwMaxStreams );
HRESULT GetMixerConfiguration( [out] DWORD* lpdwMaxStreams ); };
[ object, uuid(43062408-3d55-43cc-9415-0daf218db422),
helpstring("IVMRMixerStream Interface"), pointer_default(unique) ] interface IVMRMixerStream : IUnknown { HRESULT QueueStreamMediaSample( [in] DWORD dwStreamID, [in] IMediaSample* lpSample );
HRESULT SetStreamMediaType( [in] DWORD dwStreamID, [in] AM_MEDIA_TYPE* pmt );
HRESULT SetStreamActiveState( [in] DWORD dwStreamID, [in] BOOL fActive );
HRESULT GetStreamActiveState( [in] DWORD dwStreamID, [out] BOOL* lpfActive );
HRESULT SetStreamMode( [in] DWORD dwStreamID, [in] DWORD dwMixerMode );
HRESULT GetStreamMode( [in] DWORD dwStreamID, [out] DWORD* lpdwMixerMode );
HRESULT SetStreamColorKey( [in] DWORD dwStreamID, [in] COLORREF Clr );
HRESULT GetStreamColorKey( [in] DWORD dwStreamID, [out] COLORREF* lpClr );
HRESULT SetStreamAlpha( [in] DWORD dwStreamID, [in] DWORD Alpha );
HRESULT GetStreamAlpha( [in] DWORD dwStreamID, [out] DWORD* lpAlpha ); };
[ uuid(529b581a-2f2c-4a77-be9b-d8866d48dd4c), version(1.0), helpstring("Video Mixer 1.0 Type Library") ] library VMRMIXERLib { importlib("stdole2.tlb");
[ uuid(06b32aee-77da-484b-973b-5d64f47201b0), helpstring("AllocatorPresenter Class") ] coclass VideoMixer { [default] interface IVMRMixerControl; };
[ uuid(B87BEB7B-8D29-423f-AE4D-6582C10175AC), helpstring("Mixer Filter") ] coclass VideoMixingRenderer { interface IUnknown; };
};
|