filtervideokeyer.h
来自「最近在学习directshow, Directshow实务精选的源代码」· C头文件 代码 · 共 56 行
H
56 行
//
// CFilterVideoKeyer.h
//
#ifndef __H_CFilterVideoKeyer__
#define __H_CFilterVideoKeyer__
#include "IVideoKeyer.h"
#include "CVideoMixController.h"
class CBranchInputPin;
class CFilterVideoKeyer : public CTransInPlaceFilter
, public IVideoKeyer
{
friend class CBranchInputPin;
private:
CBranchInputPin * mMixingInput;
CVideoMixController mController;
private:
CFilterVideoKeyer(TCHAR *tszName, LPUNKNOWN punk, HRESULT *phr);
~CFilterVideoKeyer();
public:
static CUnknown * WINAPI CreateInstance(LPUNKNOWN punk, HRESULT *phr);
DECLARE_IUNKNOWN;
// Basic COM - used here to reveal our own interfaces
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv);
virtual int GetPinCount();
virtual CBasePin *GetPin(int n);
// default behaviour of FindPin assumes pin ids are their names
STDMETHODIMP FindPin(LPCWSTR Id, IPin ** ppPin);
HRESULT CompleteConnect(PIN_DIRECTION direction,IPin *pReceivePin);
// check if you can support mtIn
virtual HRESULT CheckInputType(const CMediaType* mtIn); // PURE
virtual HRESULT Transform(IMediaSample *pSample); // PURE
STDMETHODIMP Stop();
virtual HRESULT StartStreaming();
virtual HRESULT EndOfStream(void);
BOOL IsSupportedRGB(const CMediaType* mtIn);
// --- IVideoKeyer methods ---
STDMETHODIMP get_ConnectedMediaType(CMediaType * outMainType,
CMediaType * outMixingType);
STDMETHODIMP put_DetectType(DETECT_TYPE inType);
STDMETHODIMP get_DetectType(DETECT_TYPE * outType);
STDMETHODIMP put_BackgroundColor(BYTE inRed, BYTE inGreen, BYTE inBlue);
STDMETHODIMP get_BackgroundColor(BYTE * outRed, BYTE * outGreen, BYTE * outBlue);
};
#endif // __H_CFilterVideoKeyer__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?