Share via


IAMStreamConfig Interface

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This interface is implemented on the output pins of audio/video compression filters, including the ACM Wrapper and the AVI Compressor. Filter developers can implement this interface on any output pin that handles audio or video data.

This interface enables applications to query what types of formats a filter supports on its output pin and to set the format that the pin will offer to its downstream connecting pin. This in turn enables an application to simply call IGraphBuilder::Render on the pin, and the graph builder will create a graph appropriate to the desired format.

If an application attempts to use IPin::EnumMediaTypes to enumerate a pin's supported media types after calling IAMStreamConfig::SetFormat, only the one media type will be returned.

The IAMStreamConfig::GetStreamCaps method retrieves the AM_MEDIA_TYPE structure associated with the stream, as well as a VIDEO_STREAM_CONFIG_CAPS or an AUDIO_STREAM_CONFIG_CAPS structure that further describes the stream's characteristics. For video, this includes information on cropping, stretching, alignment, granularity, and data rates.

Filter developers: Implement this interface on the video output pin when you are writing a video compression filter.

Methods in Vtable Order

The following table shows the methods that appear in the Vtable beneath the standard COM methods inherited from IUnknown.

Method Description

GetFormat

Retrieves the audio or video stream's format.

GetNumberOfCapabilities

Retrieves the number of stream capabilities structures for the compressor.

GetStreamCaps

Obtains audio or video capabilities of a stream.

SetFormat

Sets the audio or video stream's format.

Requirements

Windows Embedded CE Windows CE 2.12 and later
Windows Mobile Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later
Note Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements
For more information, see Setting Up the Build Environment