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.
A version of this page is also available for
4/8/2010

If a full-screen rendering filter cannot be found, the PID tries to find a filter supporting the IVideoWindowinterface that can have its window stretched full-screen without penalty. The PID does this by scanning the list of filters in the filter graph that support IVideoWindow.

For each filter found, the PID calls IVideoWindow::GetMaxIdealImageSize.

If a filter indicates that its window can be stretched full-screen at no cost, then that becomes the nominated filter.

If that nominated filter is then requested to render full-screen, the PID resets a number of the filter's IVideoWindowproperties and stretches the window to full-screen.

This typically means setting a null owner, changing the window styles to not show the border or the caption, and updating the window position to match the current display size. When full-screen mode is switched off, the properties on the filter are reset to the state prior to the full-screen mode.

Most video renderers supporting IVideoWindowcannot return the maximum ideal image size until they have been activated (either paused or running), because that is when they allocate their resources.

For this reason, when scanning the list of filters while the filter graph is in a stopped state, the PID pauses each filter before calling IVideoWindow::GetMaxIdealImageSize.

After calling this method, the filter is stopped again.