IMVSCVideoWindow

The IMVSCVideoWindow Interface from the MontiVision Smart Control  provides methods to display a video stream in the MV Smart Control window. The default behaviour of the MV Smart Control is to display the video stream that the DirectShow Filter Graph Manager provides, if such a video stream is available.  

Methods:

ControlToVideo Converts coordinates from the control window to the video coordinates.
EnableVideoWindowEvents Enable input events from the video window.
MessageDrain A window handle that receives input messages from the video window.
RendererFilter Name from the video renderer filter within the current filter graph. The control attaches it's window to the video window from this renderer.
SetVideoRenderer Sets a video renderer from an external filter graph to the control window.
UseAspectRatio Enable using the aspect ratio from the video stream for the video window
UseOriginalSize The control shows the video stream with his original size.
VideoXResolution X-Resolution from the original video stream.
VideoYResolution Y-Resolution from the original video stream.
Visible Hides/Shows the video window.

Typelib: MV SmartControl


Method IMVSCVideoWindow::ControlToVideo

Declaration: Sub ControlToVideo(x As Long, y As Long)

Converts coordinates from the control window to the video coordinates.

Parameter:

x X-Coordinate
y Y-Coordinate
Prototype:

HRESULT ControlToVideo(LONG* x, LONG* y);


Property IMVSCVideoWindow::EnableVideoWindowEvents

Declaration: Property Get/Put EnableVideoWindowEvents As Boolean

Enable input events from the video window.

Prototype:

HRESULT put_EnableVideoWindowEvents(BOOL);
HRESULT get_EnableVideoWindowEvents(BOOL*);


Property IMVSCVideoWindow::MessageDrain

Declaration: Property Get/Put MessageDrain As Long

A window handle that receives input messages from the video window.

A better way to get input events is to handle the corresponding events from the  _IMVSmartControlEvents interface.

Prototype:

HRESULT put_MessageDrain(LONG);
HRESULT get_MessageDrain(LONG*);


Property IMVSCVideoWindow::RendererFilter

Declaration: Property Get/Put RendererFilter As String

Name from the video renderer filter within the current filter graph. The control attachs his window to the video window from this renderer.

Prototype:

HRESULT put_RendererFilter(BSTR);
HRESULT get_RendererFilter(BSTR*);


Method IMVSCVideoWindow::SetVideoRenderer

Declaration: Sub SetVideoRenderer(FilterGraph As Unknown, RendererFilter As String)

Sets a video renderer from an external filter graph to the control window.

Parameter:

FilterGraph IUnknown interface from the external filter graph.
RendererFilter Label from the video renderer filter within the external filter graph.
Prototype:

HRESULT SetVideoRenderer(IUnknown* FilterGraph, BSTR RendererFilter);


Property IMVSCVideoWindow::UseAspectRatio

Declaration: Property Get/Put UseAspectRatio As Boolean

Enables using the aspect ratio from the videostream for the video window.

Prototype:

HRESULT put_UseAspectRatio(BOOL);
HRESULT get_UseAspectRatio(BOOL*);


Property IMVSCVideoWindow::UseOriginalSize

Declaration: Property Get/Put UseOriginalSize As Boolean

The control shows the video stream with his original size.

Prototype:

HRESULT put_UseOriginalSize(BOOL);
HRESULT get_UseOriginalSize(BOOL*);


Property IMVSCVideoWindow::VideoXResolution

Declaration: Property Get VideoXResolution As Long

X-Resolution from the original video stream.

Prototype:

HRESULT get_VideoXResolution(LONG*);


Property IMVSCVideoWindow::VideoYResolution

Declaration: Property Get VideoYResolution As Long

Y-Resolution from the original video stream.

Prototype:

HRESULT get_VideoYResolution(LONG*);


Property IMVSCVideoWindow::Visible

Declaration: Property Get/Put Visible As Boolean

Enables the video window.

Prototype:

HRESULT put_Visible(BOOL);
HRESULT get_Visible(BOOL*);