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.