IVideoMixer
From MediaLooks Knowledge Base
IVideoMixer is the primary custom configuration interface of the Video Mixer DirectShow Filter.
IVideoMixer exposes the following methods.
| Method | Description |
| SetOutputSize | Sets output frame size. |
[edit] IVideoMixer Methods
HRESULT GetOutputSize([out] DWORD* _pdwWidth, [out] DWORD* _pdwHeight); - Return current output frame size
HRESULT EnableStream([in] DWORD _dwStreamNo, [in] BOOL _bEnable ); - Enable/Disable input stream, number - is the input pin number.
HRESULT IsStreamEnabled([in] DWORD _dwStreamNo); - Return input stream state: S_OK - stream enabled (mixed and displayed) S_FALSE - stream disabled (not mixed and not displayed)
HRESULT SetVideoAlpha([in] DWORD _dwStreamNo, [in] BYTE _btAlpha); - Set alpha (transparency) value of desired stream (alpha from 0 up to 255) _btAlpha = 0 - full transparent _btAlpha = 0xff – solid
HRESULT SetVideoRects([in] DWORD _dwStreamNo, [in,out] RECT* _pRectSrc, [in,out] RECT* _pRectDst); - Set source and destination rects of specified stream _pRect = NULL - not change _pRect = {0,0,0,0} - full frame Note: Rects can have out-of screen parts
HRESULT GetVideoRects([in] DWORD _dwStreamNo, [out] RECT* _pRectSrc, [out] RECT* _pRectDst); - Return stream current rects
HRESULT GetInputSize([in] DWORD _dwStreamNo, [in] DWORD* _pdwWidth, [in] DWORD* _pdwHeight); - Return input stream frame size
HRESULT SetOutputFPS([in] REFERENCE_TIME* _prtFPS ); - Set output AverageTimePerFrame (in DerectShow 100 ns. units) If _prtFPS == NULL or *_prtFPS = 0 - Auto mode used (RECOMMENDED)
HRESULT GetOutputFPS([out] REFERENCE_TIME* _prtFPS ); - Return output AverageTimePerFrame (in DerectShow 100 ns. units) If in *_prtFPS = 0 - Auto mode used
HRESULT GetInputNumber([out] DWORD* _pdwConnected, [out] DWORD* _pdwMaxNumber); - Return number of connected input pins
HRESULT SetSyncSources([in] BOOL _bSync);
- Define that all input sources is synchronized (the mixing would be making accurate frame to frame)
HRESULT IsSyncSources (); - S_OK – synchronized, S_FALSE – not synchronized
