📄 qedit.idl
字号:
uuid(0579154A-2B53-4994-B0D0-E773148EFF85),
local,
helpstring("ISampleGrabberCB Interface"),
pointer_default(unique)
]
interface ISampleGrabberCB : IUnknown
{
HRESULT SampleCB( double SampleTime, IMediaSample * pSample );
HRESULT BufferCB( double SampleTime, BYTE * pBuffer, long BufferLen );
}
[
object,
uuid(6B652FFF-11FE-4fce-92AD-0266B5D7C78F),
local,
helpstring("ISampleGrabber Interface"),
pointer_default(unique)
]
interface ISampleGrabber: IUnknown
{
// set this to have the filter immediate stop after
// garnishing a sample
//
HRESULT SetOneShot( BOOL OneShot );
// set what media type we connect to. It can be partially
// specified by setting only the major type, OR the major and
// subtype, OR major, subtype, and the formattype.
//
HRESULT SetMediaType( const AM_MEDIA_TYPE * pType );
// after something's connected to this filter, find out
// what it is
//
HRESULT GetConnectedMediaType( AM_MEDIA_TYPE * pType );
// call this to buffer incoming samples, so the next two methods will work
// If this is not called, the next two methods will return
// E_INVALIDARG
//
HRESULT SetBufferSamples( BOOL BufferThem );
// pass in NULL for pBuffer to get out the buffer size you need to
// allocate. This will NOT return a pointer to a compressed dib
// any longer! It will return the IMediaSample's GetPointer buffer.
//
HRESULT GetCurrentBuffer( [in,out] long * pBufferSize, [out] long * pBuffer );
// return the currently buffered sample
//
HRESULT GetCurrentSample( [out,retval] IMediaSample ** ppSample );
// if this callback is set, then it will be called for
// every sample passing through the filter. Do not take a long time
// in the callback for smooth playback (obviously!)
//
HRESULT SetCallback( ISampleGrabberCB * pCallback, long WhichMethodToCallback );
};
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// THE LIBRARY ITSELF
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
[
uuid(78530B68-61F9-11D2-8CAD-00A024580902),
version(1.0),
helpstring("Dexter 1.0 Type Library")
]
library DexterLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(78530B75-61F9-11D2-8CAD-00A024580902),
helpstring("AMTimeline Class")
]
coclass AMTimeline
{
[default] interface IAMTimeline;
interface IPersistStream;
interface IAMSetErrorLog;
};
[
uuid(78530B78-61F9-11D2-8CAD-00A024580902),
helpstring("IAMTimelineObj Class")
]
coclass AMTimelineObj
{
[default] interface IAMTimelineObj;
};
[
uuid(78530B7A-61F9-11D2-8CAD-00A024580902),
helpstring("IAMTimelineSrc Class")
]
coclass AMTimelineSrc
{
[default] interface IAMTimelineSrc;
interface IAMTimelineObj;
interface IAMTimelineEffectable;
interface IAMTimelineSplittable;
};
[
uuid(8F6C3C50-897B-11d2-8CFB-00A0C9441E20),
]
coclass AMTimelineTrack
{
[default] interface IAMTimelineTrack;
interface IAMTimelineObj;
interface IAMTimelineEffectable;
interface IAMTimelineTransable;
interface IAMTimelineVirtualTrack;
interface IAMTimelineSplittable;
};
[
uuid(74D2EC80-6233-11d2-8CAD-00A024580902),
]
coclass AMTimelineComp
{
[default] interface IAMTimelineComp;
interface IAMTimelineObj;
interface IAMTimelineEffectable;
interface IAMTimelineTransable;
interface IAMTimelineVirtualTrack;
};
[
uuid(F6D371E1-B8A6-11d2-8023-00C0DF10D434),
]
coclass AMTimelineGroup
{
[default] interface IAMTimelineGroup;
interface IAMTimelineComp;
interface IAMTimelineObj;
};
[
uuid(74D2EC81-6233-11d2-8CAD-00A024580902),
]
coclass AMTimelineTrans
{
[default] interface IAMTimelineTrans;
interface IAMTimelineObj;
interface IAMTimelineSplittable;
};
[
uuid(74D2EC82-6233-11d2-8CAD-00A024580902),
]
coclass AMTimelineEffect
{
[default] interface IAMTimelineEffect;
interface IAMTimelineObj;
interface IAMTimelineSplittable;
interface IPropertyBag;
};
[
uuid(64D8A8E0-80A2-11d2-8CF3-00A0C9441E20),
]
coclass RenderEngine
{
[default] interface IRenderEngine;
interface IAMSetErrorLog;
};
[
uuid(498B0949-BBE9-4072-98BE-6CCAEB79DC6F),
]
coclass SmartRenderEngine
{
[default] interface IRenderEngine;
interface ISmartRenderEngine;
interface IAMSetErrorLog;
};
[
uuid(036A9790-C153-11d2-9EF7-006008039E37),
]
coclass AudMixer
{
[default] interface IBaseFilter;
};
[
uuid(18C628EE-962A-11D2-8D08-00A0C9441E20),
helpstring("Xml2Dex Class")
]
coclass Xml2Dex
{
[default] interface IXml2Dex;
};
[
uuid(CC1101F2-79DC-11D2-8CE6-00A0C9441E20),
helpstring("MediaLocator Class")
]
coclass MediaLocator
{
[default] interface IMediaLocator;
};
[
uuid(ADF95821-DED7-11d2-ACBE-0080C75E246E),
helpstring("Varying Property Holder")
]
coclass PropertySetter
{
[default] interface IPropertySetter;
interface IAMSetErrorLog;
};
[
uuid(65BD0711-24D2-4ff7-9324-ED2E5D3ABAFA),
helpstring("MediaDet Class")
]
coclass MediaDet
{
[default] interface IMediaDet;
};
[
uuid(C1F400A0-3F08-11d3-9F0B-006008039E37),
helpstring("MsGrab Class")
]
coclass SampleGrabber
{
[default] interface ISampleGrabber;
};
// useful for movie maker and other people
[
uuid(C1F400A4-3F08-11d3-9F0B-006008039E37),
helpstring("NullRenderer Class")
]
coclass NullRenderer
{
[default] interface IBaseFilter;
};
[
uuid(BB44391D-6ABD-422f-9E2E-385C9DFF51FC),
helpstring("DxtCompositor Class")
]
coclass DxtCompositor
{
[default] interface IDxtCompositor;
};
[
uuid(506D89AE-909A-44f7-9444-ABD575896E35),
helpstring("DxtAlphaSetter Class")
]
coclass DxtAlphaSetter
{
[default] interface IDxtAlphaSetter;
};
[
uuid(DE75D012-7A65-11D2-8CEA-00A0C9441E20),
helpstring("SMPTE wipe DXT")
]
coclass DxtJpeg
{
[default] interface IDxtJpeg;
};
[
uuid(0cfdd070-581a-11d2-9ee6-006008039e37),
]
coclass ColorSource
{
[default] interface IBaseFilter;
};
[
uuid(C5B19592-145E-11d3-9F04-006008039E37),
helpstring("DxtKey Class")
]
coclass DxtKey
{
[default] interface IDxtKey;
};
};
// these are some error codes that we can/will return
enum
{
E_NOTINTREE = 0x80040400,
E_RENDER_ENGINE_IS_BROKEN = 0x80040401,
E_MUST_INIT_RENDERER = 0x80040402,
E_NOTDETERMINED = 0x80040403,
E_NO_TIMELINE = 0x80040404,
S_WARN_OUTPUTRESET = 40404
};
// These codes are given to the app in IAMErrorLog to help identify what went wrong
// Filename doesn't exist, or DShow doesn't recognize the filetype
// EXTRA - filename
cpp_quote("#define DEX_IDS_BAD_SOURCE_NAME 1400")
// Filename doesn't exist or contains unknown data
// EXTRA - filename (maybe no codec?)
cpp_quote("#define DEX_IDS_BAD_SOURCE_NAME2 1401")
// filename was required, but wasn't given
cpp_quote("#define DEX_IDS_MISSING_SOURCE_NAME 1402")
// cannot parse data provided by this source
// !!! what source?
cpp_quote("#define DEX_IDS_UNKNOWN_SOURCE 1403")
// unexpected error -
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -