How to handle multiple video windows
Some applications need more than one video
output. For this scenario, the MontiVision Smart Control
provides a slave video window function, making it possible to
display the video of a video renderer filter from an
external filter graph. This external filter graph comes from
another MontiVision Smart
Control. The "slave" MV Smart Control contains no filter
graph - it is only used to display a video stream. The picture
below demonstrates this concept. The "Master MontiVision Smart
Control" loads the filter graph and then displays the video stream
from video renderer named "Video Renderer", while the "Slave
MontiVision Smart Control" only displays the video stream from the
video renderer named "Video Renderer 0003".
The IMVSCVideoWindow interface
contains the IMVSCVideoWindow::SetVideoRenderer method for
purposes of connecting the MV Smart Control with an external
video renderer. It requires two parameters, specifying the filter
graph manager interface and the name of the video renderer.
The IMVSCFilterGraph::FilterGraphManager property
from the "Master MontiVision Smart Control" contains the filter
graph manager interface.
To connect the "Video Renderer"
filter to the "Master MontiVision Smart Control"
the IMVSCVideoWindow interface
contains the IMVSCVideoWindow::RendererFilter property
with the name of the video renderer filter.
For implementation details in the
programming language of your choice look at the FindObject Sample.
|