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