|Type||Topic||Plugin||Version||macOS||Windows||Linux||Console & Web||iOS|
|class||DirectShow||MBS Win Plugin||12.1||No||Yes||No||Yes, Windows only||No|
The DirectShowVideoWindowMBS interface sets properties on the video window. Applications can use it to set the window owner, the position and dimensions of the window, and other properties.
The Video Renderer filter and the Filter Graph Manager both expose this interface. The Filter Graph Manager forwards all method calls to the Video Renderer. It also forwards certain window messages that the Video Renderer needs to receive, such as WM_DISPLAYCHANGE. Because the video window is usually a child of an application window, the filter would not otherwise receive these messages. Therefore it relies on the Filter Graph Manager to forward them.
In most cases, an application should query the Filter Graph Manager for this interface, and not call the filter directly, because of the messaging issue just described. However, if the filter graph has more than one Video Renderer, the Filter Graph Manager only communicates with one of them, selected arbitrarily. Therefore, if your application uses multiple video windows, use the DirectShowVideoWindowMBS interface directly on the filters. In that case, you must forward window messages to each Video Renderer instance, using the NotifyOwnerMessage method.
Properties set on a video renderer persist between successive connections and disconnections.
Error codes: If the video renderer filter is not connected to another filter, all methods return the error code VFW_E_NOT_CONNECTED. For the Filter Graph Manager's implementation, if the graph does not contain a video renderer filter, all methods return E_NOINTERFACE. Note that the Filter Graph Manager exposes the interface even when the graph does not contain a video renderer, so an application can query for the interface before it builds the graph.
This is an abstract class. You can't create an instance, but you can get one from various plugin functions.
- 18 properties
- property Handle as Integer
- property Lasterror as Integer
- property LasterrorMessage as String
- property AutoShow as Boolean
- property BackgroundPalette as Boolean
- property BorderColor as color
- property Caption as string
- property FullScreenMode as Boolean
- property Height as Integer
- property Left as Integer
- property MessageDrain as Window
- property Owner as Window
- property Top as Integer
- property Visible as Boolean
- property Width as Integer
- property WindowState as Integer
- property WindowStyle as Integer
- property WindowStyleEx as Integer
- 9 methods
- method Constructor
- method GetMaxIdealImageSize(byref width as Integer, byref height as Integer)
- method GetMinIdealImageSize(byref width as Integer, byref height as Integer)
- method GetRestorePosition(byref left as Integer, byref top as Integer, byref width as Integer, byref height as Integer)
- method GetWindowPosition(byref left as Integer, byref top as Integer, byref width as Integer, byref height as Integer)
- method HideCursor(hide as boolean)
- method IsCursorHidden as Boolean
- method SetWindowForeground(Focus as Boolean)
- method SetWindowPosition(left as Integer, top as Integer, width as Integer, height as Integer)
- 66 constants
This class has no sub classes.
Some methods using this class:
- DirectShowGraphBuilderMBS.VideoWindow as DirectShowVideoWindowMBS
Some examples which use this class:
- /Win/DirectShow/PlayCap with format settings
- /Win/DirectShow/PlayCap with frame grabber
- /Win/DirectShow/PlayCap with frame grabber event
- /Win/DirectShow/Select and Capture
- /Win/DirectShow/Select and Capture with Audio
The items on this page are in the following plugins: MBS Win Plugin.
MBS Xojo blog