Share via

DirectShow Interfaces

A version of this page is also available for

Windows Embedded CE 6.0 R3


The following table shows the reference entries for all supported Microsoft DirectShow COM interfaces.

Programming element Description

IAMAudioRendererStats Interface

Retrieves statistical performance information from an audio renderer filter.

IAMBufferNegotiation Interface

Enables an application to request how many buffers a filter creates and the buffer size.

IAMCameraControl Interface

Provides local or remote control over a camera.

IAMDroppedFrames Interface

Retrieves performance information from a video capture filter, such as how many frames were dropped and how many frames were delivered.

IAMExtendedSeeking Interface

Provides methods for seeking to markers in a Windows Media stream and for modifying the playback speed.

IAMFilterMiscFlags Interface

Indicates whether a filter is a source filter or a renderer.

IAMMediaContent Interface

Retrieves metadata from a stream.

IAMovieSetup Interface

Allow objects in a dynamic-link library (DLL) to be self-registering.

IAMStreamConfig Interface

Enables applications to query for the 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.

IAMStreamControl Interface

Allows applications to control individual stream components in a filter graph.

IAMStreamSelect Interface

Controls which logical streams are played and retrieves information about them.

IAMVideoCompression Interface

Sets and retrieves video compression properties.

IAMVideoControl Interface

Enables you to flip a picture horizontally or vertically, set up a stream so it can capture from an external trigger (such as a camera button that the user pushes), simulate an external trigger in software, and list the available frame rates.

IAMVideoProcAmp Interface

Enables an application to adjust the qualities of an incoming video signal, such as brightness, contrast, hue, saturation, gamma, and sharpness.

IAMVideoRendererMode Interface

Manages the rendering mode used by the DirectShow Video Renderer Filter.

IAMVideoTransformComponent Interface

Implemented by video transform filters that can efficiently perform rotation and scaling so that downstream filters, such as the video renderer, can use its capabilities if they are needed.

IAMVideoTransform Interface

Implemented by applications to control video rotation and scaling parameters.

IAsyncReader Interface

Allows multiple overlapped reads from different positions in the media stream.

IAudioRenderer Interface

Allows adjustments to the audio renderer.

IAudioRendererWaveOut Interface

Controls the Audio Renderer (WaveOut) Filter, which uses the Waveform Audio API to render sound.

IBaseFilter Interface

Abstracts an object that has typed input and output connections and can be dynamically aggregated.

IBasicAudio Interface

Supports the filter graph's audio component.

IBasicVideo Interface

Supports the video properties of a generic video window.

IBuffering Interface

Allows you to control the size of the buffer filter in a capture graph.

ICaptureGraphBuilder2 Interface

Provides methods for building capture graphs, and other custom filter graphs. The Capture Graph Builder object implements this interface.

IDirectDrawVideo Interface

Allows an application to get details of the surface and any available hardware capabilities.

IDistributorNotify Interface

Notifies plug-in distributors of changes in the filter graph state.

IDMOWrapperFilter Interface

Enables applications to use DirectX Media Objects in a filter graph.

IEnumFilters Interface

Enumerates all filters in the graph.

IEnumMediaTypes Interface

Enumerates the preferred formats for a pin.

IEnumPins Interface

Returns the enumerator interface for pins.

IFileSinkFilter Interface

The IFileSinkFilter2 Interface replaces this interface and inherits from it.

IFileSinkFilter2 Interface

Writes media streams to a file.

IFileSourceFilter Interface

Sets the file name and media type of the media file that a source filter is to render.

IFilterGraph Interface

Represents a graph of filters.

IFilterGraph2 Interface

Adds new functionality to the IGraphBuilder and IFilterGraph interfaces. IFilterGraph2 is preferred over the two preceding interfaces.

IFilterMapper Interface

Allows properties of filters to be looked up during loading.

IGraphBuilder Interface

Allows applications to call on the Filter Graph Manager to attempt to build a complete filter graph or parts of a filter graph with only partial information.

IGraphVersion Interface

Notifies other objects, especially plug-in distributors, when the graph has changed. Provided by the Filter Graph Manager.

IImageSinkFilter Interface

Sets the properties of the image sink filter.

IKsPropertySet Interface

Sets and retrieves device properties on drivers, and between software components.

IMediaControl Interface

Allows applications to control media streaming through the filters in the graph.

IMediaEvent Interface

Supports event notification from the filter graph and filters within it to the application.

IMediaEventEx Interface

Derives from IMediaEvent and adds a method that allows registration of a window to receive messages when events occur.

IMediaEventSink Interface

Notifies events from filters.

IMediaFilter Interface

Abstracts an object that processes time-based data streams and represents a multimedia device, possibly implemented in software.

IMediaPosition Interface

It is recommended that you use the IMediaSeeking interface instead of IMediaPosition. This depreciated interface is no longer fully supported.

IMediaSample Interface

Provides shared memory buffer functionality; holds some properties about the data; and holds a pointer to the data itself.

IMediaSample2 Interface

Enables you to set and retrieve sample properties, such as start and stop time, that are defined in an AM_SAMPLE2_PROPERTIES structure and sample flags defined in the AM_SAMPLE_PROPERTY_FLAGS enumeration.

IMediaSeeking Interface

Improves the IMediaPosition interface by allowing arbitrary formats for seekable units, such as frames, bytes, and 100-second units of time.

IMemAllocator Interface

Allocates IMediaSample blocks to be used for data transfer between pins.

IMemInputPin Interface

Provides methods on an input pin to facilitate passing data and flush notifications from a connected output pin of an upstream filter.

INonDelegatingUnknown Interface

Enables a class to support both nondelegating and delegating IUnknown interfaces in the same COM object.

IOverlay Interface

Provides information so that a filter can write directly to video memory while placing the video in the correct window position.

IOverlayNotify Interface

Provides an upstream filter, such as a decoder, with notifications of changes to the rendering window.

IPin Interface

Represents a single, unidirectional connection point on a filter.

IQualityControl Interface

Defines quality messages and allows a quality manager to install itself as the sink for these messages.

IQualProp Interface

Returns information about the performance achieved; for example, the number of frames per second.

IReferenceClock Interface

Represents a system reference clock to be implemented by a filter in the filter graph and used by other filters.

ISeekingPassThru Interface

Instantiates and initializes a CRendererPosPassThru::CRendererPosPassThru object to keep track of reference times and stream times.

ISmartTee Interface

Supports querying for the presence of the Smart Tee Filter in the filter graph.

IVideoWindow Interface

Supports the video window properties of a video renderer.

See Also


DirectShow Reference