DirectShow Classes (Compact 2013)

3/26/2014

This section contains reference entries for all the Microsoft® DirectShow® C++ classes, their data members, and their methods.

Programming element

Description

CAggDirectDraw Class

Aggregates an IDirectDraw interface.

CAggDrawSurface Class

Aggregates an IDirectDrawSurface interface.

CAMEvent Class

An event object that can be set and waited on to provide inter-thread synchronization.

CAMMsgEvent Class

A wrapper for event objects that do message processing.

CAMSchedule Class

Relieves clocks from the burden of managing the advise requests.

CAMThread Class

An abstract class, which is a worker thread class that provides creation, synchronization, and communication with a worker thread.

CAutoLock Class

Holds a critical section for the scope of a block or function.

CBaseAllocator Class

An abstract base class that implements the basic mechanisms for an allocator with a fixed number of fixed-size buffers.

CBaseBasicVideo Class

Handles the IDispatch component of the IBasicVideo Interface interface and leaves the properties and methods as a pure virtual function.

CBaseControlVideo Class

Implements the IBasicVideo Interface dual interface and controls the video properties of a generic video window.

CBaseControlWindow Class

Implements the IVideoWindow interface and controls external access to its associated filter.

CBaseDispatch Class

A base class that implements the IDispatch interface for use in a dual interface.

CBaseFilter Class

An abstract base class from which all filters are derived.

CBaseInputPin Class

An abstract base class derived from CBasePin Class that adds support for IMemInputPin Interface in addition to the IPin Interface interface support provided by CBasePin.

CBaseList Class

Represents a list of pointers to objects. No storage management or copying is done on the objects that are pointed to.

CBaseMediaFilter Class

An abstract base class that provides support for the IMediaFilter Interface interface.

The CBaseMediaFilter class handles State_Stopped, State_Paused, and State_Running state transitions.

CBaseObject Class

An abstract base class that is the basis for all component objects.

CBaseOutputPin Class

An abstract base class derived from the CBasePin Class class that provides support for the common memory transport.

CBasePin Class

An abstract base class from which all pins are derived.

CBasePropertyPage Class

An abstract class for implementing a property page.

CBaseReferenceClock Class

Implements the IReferenceClock Interface interface.

CBaseRenderer Class

The base renderer class for writing renderers. This class handles a single input pin, all state changes, and synchronization.

CBaseStreamControl Class

Implements the IAMStreamControl interface on input and output pins in a filter graph.

This class provides control of the starting and stopping of various components of the stream.

CBaseVideoRenderer Class

Used for building video renderer filters.

CBaseVideoWindow Class

Handles the IDispatch component of the IVideoWindow interface and leaves the IVideoWindow properties and methods as a pure virtual function.

CBasicAudio Class

Handles the IDispatch interface component of the IBasicAudio Interface interface and leaves the properties and methods of IBasicAudio as a pure virtual function to be implemented by a derived filter class.

CCritSec Class

Provides intra-process synchronization.

CDisp Class

Provides methods for displaying a number of data types for debugging.

CDispBasic Class

An internal class used to implement the CDisp Class class.

CEnumMediaTypes Class

Provides the mechanism for enumerating the pin's preferred media types.

CEnumPins Class

Supports the IEnumPins Interface enumeration interface by calling CBaseFilter Class methods.

CFactoryTemplate Class

Provides a template used by the default class factory code.

CGenericList Class

A template class that allows for a type-specific implementation of a list.

CGuidNameList Class

This class implements an array of globally unique identifier (GUID) names based on the predefined names of GUIDs that come with DirectShow.

CLoadDirectDraw Class

Manages loading and unloading the Microsoft DirectDraw® library and creating the initial IDirectDraw interface.

CMediaControl Class

Provides base class handling of the IDispatch methods of the dual-interface IMediaControl Interface.

CMediaEvent Class

The CMediaEvent class provides base class implementation of the IDispatch methods of the dual-interface IMediaEvent Interface.

It leaves the properties and methods of the IMediaEvent interface as a pure virtual function.

CMediaPosition Class

A base class that handles the IDispatch methods of the dual-interface IMediaPosition Interface.

CMediaSample Class

Represents a buffer object that supports the IMediaSample Interface interface.

CMediaType Class

Helps negotiate a media type between two connected filters.

CMemAllocator Class

Provides support for IMemAllocator Interface by using the new operator to allocate memory.

CMsg Class

The CMsgThread class provides a worker thread to which any number of requests can be posted.

The requests, in the form of a CMsg object, are queued and executed in order, asynchronously.

CMsgThread Class

A worker thread class that queues requests to the queuing thread for completion asynchronously.

COARefTime Class

Converts between the Automation-compatible REFTIME type and the REFERENCE_TIME type used within and between filters.

COutputQueue Class

Output pins use COutputQueue to send samples to another filter by using the local memory-based transport (that is, to input pins that support the IMemInputPin Interface interface).

CPersistStream Class

The base class for persistent properties of filters (that is, filter properties in saved graphs).

CPosPassThru Class

A utility class that handles the IMediaPosition Interface and IMediaSeeking interfaces for single-input pin renderers and transform filters.

CPullPin Class

The CPullPin class is provided to allow a filter downstream from the source to create a thread and pull a media stream from an asynchronous source filter that supports the IAsyncReader Interface interface.

CQueue Class

Implements a simple queue abstract data type.

The queue contains a finite number of objects, and a semaphore controls access to these objects.

CRefTime Class

Used to manage reference times.

CRendererInputPin Class

Channels calls to the rendering filter.

CRendererPosPassThru Class

This class, which is implemented on the video renderer, sets indexed frames to reference times. It assists the IMediaSeeking interface.

CSource Class

This class and its corresponding class, CSourceStream Class, simplify the construction of source filters that produce continuous streams of data comparable to the way the CTransformFilter Class class assists in the creation of transform filters.

CSourcePosition Class

An abstract class that assists source filters with the implementation of IMediaPosition Interface methods.

CSourceSeeking Class

An abstract class that assists source filters with the implementation of IMediaSeeking interface methods.

This class enables a source filter to handle calls that change the start and stop positions in the media stream and the playback rate.

CSourceStream Class

Derives from this class to provide a class that creates the data stream from one of the output pins.

CSystemClock Class

Implements a system clock that provides time information and timing signals to an application.

CTransformFilter Class

An abstract base class that supports a simple transform filter with a single input and a single output.

CTransformInputPin Class

Implements the input pin of a simple transform filter.

CTransformOutputPin Class

Implements the output pin of a simple transform filter.

CUnknown Class

All DirectShow Component Object Model (COM) objects derive from the CUnknown abstract base class.

This class facilitates the creation of simple COM objects that you can combine with other COM objects to support multiple interfaces.

CBaseWindow Class

Creates a window and a worker thread.

The worker thread pulls messages from the window's input queue and dispatches them as appropriate.

CTransInPlaceFilter Class

An abstract base class that provides support for a simple transform filter with a single input and a single output.

CTransInPlaceInputPin Class

Implements the input pin to transform data in place rather than making a copy of it.

CTransInPlaceOutputPin Class

Implements the output pin of a simple transform-inplace filter, CTransInPlaceFilter.

CVideoTransformFilter Class

Primarily a base class for AVI decompressor filters.

It is based on a copying transform class and assumes that the output buffer will likely be a video buffer or DirectDraw buffer, although this could be used as a base class for other types of transform filters.

FOURCCMap Class

This class provides conversion between GUID media subtypes and old-style FOURCC 32-bit media tags.

See Also

Reference

DirectShow Reference