IBasicVideo Interface

This interface supports the video properties of a generic video window. Generally, this is a video renderer that draws video into a window on the display.

The IBasicVideo interface supports both properties and methods. Properties are more easily accessible from many Automation controllers (such as the Microsoft® Visual Basic® programming system). However, some operations require several properties to be changed simultaneously; for this reason, methods are provided that allow a number of related properties to be changed.

The IBasicVideo interface methods require only that the video renderer be connected. If it is not connected, all the interface methods return VFW_E_NOT_CONNECTED. Properties set on a video renderer persist between successive connections and disconnections. All applications should ensure that they reset the renderer properties before starting a presentation.

When working with video, the application can select a portion of the video to use. This portion is the source rectangle that the IBasicVideo interface controls. IBasicVideo allows the source rectangle to be set and retrieved. All the rectangles that IBasicVideo uses employ top, left, width, and height rather than top, left, right, and bottom, which is favored in Win32 programming. When no source rectangle has been set, the properties of the source rectangle return the full, native video size.

When to Implement

The video renderer filter supplied with DirectShow implements this interface. It is also implemented by the filter graph manager, through a plug-in distributor, to pass method calls from the application to the video renderer filter's implementation of the interface. Implement this interface if you are writing a replacement video renderer filter or a replacement DirectShow plug-in distributor. You can use the CBaseBasicVideo class, which handles the IDispatch implementation for Automation, to help implement this interface.

When to Use

When the filter graph manager exposes this interface, it is used by applications that must control the properties of the video renderer filter.

Methods in Vtable Order

The following tables show the methods that appear in the Vtable beneath the standard COM methods inherited from IUnknown.

IDispatch method Description
GetTypeInfoCount Determines whether there is type information available for this dispinterface.
GetTypeInfo Retrieves the type information for this dispinterface if GetTypeInfoCount returned successfully.
GetIDsOfNames Converts text names of properties and methods (including arguments) to their corresponding DISPIDs.
Invoke Calls a method or accesses a property in this dispinterface if given a DISPID and any other necessary parameters.
IBasicVideo method Description
get_AvgTimePerFrame Retrieves the average time between successive frames in 100-nanosecond units.
get_BitRate Retrieves an approximate bit rate for the video stream.
get_BitErrorRate Retrieves an approximate bit error rate for the video stream.
get_VideoWidth Retrieves the current video width.
get_VideoHeight Retrieves the current video height.
put_SourceLeft Sets the x-axis coordinate for the source video rectangle.
get_SourceLeft Retrieves the x-axis coordinate for the source video rectangle.
put_SourceWidth Sets the width of the source video rectangle.
get_SourceWidth Retrieves the width of the source video rectangle.
put_SourceTop Sets the y-axis coordinate for the source video rectangle.
get_SourceTop Retrieves the y-axis coordinate for the source video rectangle.
put_SourceHeight Sets the height of the source video rectangle.
get_SourceHeight Retrieves the height of the source video rectangle.
put_DestinationLeft Sets the x-axis coordinate for the destination video rectangle.
get_DestinationLeft Retrieves the x-axis coordinate for the destination video rectangle.
put_DestinationWidth Sets the width of the destination video rectangle.
get_DestinationWidth Retrieves the width of the destination video rectangle.
put_DestinationTop Sets the y-axis coordinate for the destination video rectangle.
get_DestinationTop Retrieves the y-axis coordinate for the destination video rectangle.
put_DestinationHeight Sets the height of the destination video rectangle.
get_DestinationHeight Retrieves the height of the destination video rectangle.
SetSourcePosition Sets the source video rectangle.
GetSourcePosition Retrieves the source video rectangle.
SetDefaultSourcePosition Informs the renderer to use the default source rectangle.
SetDestinationPosition Sets the destination rectangle for the window.
GetDestinationPosition Retrieves the destination video rectangle for the window.
SetDefaultDestinationPosition Sets the default destination position for the window.
GetVideoSize Retrieves the native video dimensions.
GetVideoPaletteEntries Retrieves the color palette entries required by the video.
GetCurrentImage Returns a copy of the current image that is waiting at the renderer.
IsUsingDefaultSource Determines if the renderer is using the default source rectangle.
IsUsingDefaultDestination Determines if the renderer is using the default destination rectangle.

Requirements

DirectShow applications and DirectShow filters have different include file and link library requirements. See Setting Up the Build Environment for more information.

OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
Header:

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.