mirror of https://github.com/tongzx/nt5src
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.
159 lines
3.8 KiB
159 lines
3.8 KiB
// 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;
};
};
|