Microsoft Windows CE 3.0  

IBasicVideo Interface

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The IBasicVideointerface 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 IBasicVideointerface 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 IBasicVideointerface 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 IBasicVideointerface controls. IBasicVideoallows the source rectangle to be set and retrieved. All the rectangles that IBasicVideouses employ top, left, width, and height rather than top, left, right, and bottom, which is favored in Microsoft 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 Microsoft DirectShow implements this interface. It is also implemented by the filter graph manager (via 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 CBaseBasicVideoclass, which handles the IDispatchimplementation 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

IUnknown methods Description
QueryInterface Returns pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.
IDispatch methods 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 methods 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.