DirectMedia comments and documentation

I am certainly not the only person crying over the DirectMedia documentation.
The content has a lot of raw catalogs of interfaces and IDs, which don’t help
us in understanding the mechanisms behind it. To design and implement your own
filters and so on, you need in fact to know a lot.


What follows is not the revisited DirectShow documentation !!


It is the exhaustive list of COM objects installed and registered by the DirectMedia
SDK release 6. What for ? Did you know that the IFilterMapper interface was
an interface of a general FilterMapper object, object that you have to create
using CoCreateInstance. That is IFilterMapper is not obtained through the IFilterGraph
interface though it is referred like this in the official documentation as "…an
interface at filter-graph level…" ? What the DirectShow engineers probably
meant is that this interface is sort of interface at this level. Strictly speaking,
it should have meant that pFilterGraph->QueryInterface(IID_IFilterMapper,
…) is an allowed operation. But it’s not…


Knowing that an object referenced by CLSID_FilterMapper is defined in the headers
and libraries, it means that you can use the following construction code :


IFilterMapper *pFm=NULL;

HRESULT hr=CoCreateInstance(CLSID_FilterMapper, NULL,
CLSCTX_INPROC_SERVER, IID_IFilterMapper,
(void **)&pFm);
if (SUCCEEDED(hr)
{

}

Thus a filter mapper object is instanciated, and an interface to it is already
available. Then proceed with the IFilterMapper interface using the “DirectShow
documentation / C/C++ reference / DirectShow COM interfaces”.


Interfaces obtained through general DirectMedia objects are specifically documented
: for example, to know all interfaces you can query when you have the top IFilterGraph
interface, just look into the “DirectShow documentation / C/C++ reference /
DirectShow COM interfaces / Summary of DirectShow com interfaces”.

List of DirectMedia COM Objects
——————————-


(involved parts are DirectShow, DirectAnimation, DirectTransform, and DirectDraw).

extracted from the whole DirectMedia SDK
amstream.h, control.h, uuids.h, ddrawex.h, danim.h, dxtmsft.h, dxtrans.h,





































































































































































































































































































































































































CLSID_ACMWrapper ACM Wrapper


CLSID_ActiveMovieCategories


CLSID_AMAudioData


CLSID_AMAudioStream


CLSID_AMDirectDrawStream


CLSID_AMMediaTypeStream



CLSID_AMMultiMediaStream (MultimediaStream)



CLSID_AMovie (IAMovie plug-in distributor)


CLSID_AnalogVideoDecoderPropertyPage



CLSID_AsfMux (ASF mux filter)



CLSID_AsyncReader (Async File Reader)


CLSID_AudioCompressorCategory


CLSID_AudioFileClip



CLSID_AudioInputDeviceCategory (Audio source cateogry)



CLSID_AudioProperties (Audio Renderer Property Page)



CLSID_AudioRecord (Wavein audio recorder)



CLSID_AudioRender (Waveout audio renderer)



CLSID_AudioRendererCategory (Audio renderer category)


CLSID_AVICo



CLSID_AVIDec (AVI Decoder)



CLSID_AviDest (AVI mux filter)



CLSID_AVIDoc (AVIFile-based reader)



CLSID_AVIDocWriter (AVIFile-based writer)



CLSID_AVIDraw (AVI ICDraw* wrapper)


CLSID_AVIMIDIRender


CLSID_AviMuxProptyPage1


CLSID_AviMuxProptyPage



CLSID_AviReader (Avi File Reader)



CLSID_AviSplitter (Avi Stream Splitter)


CLSID_BasicImageEffectsPP


CLSID_BasicImageEffects


CLSID_CAcmCoClassManager


CLSID_CameraControlPropertyPage



CLSID_CaptureGraphBuilder (Capture graph building)


CLSID_CaptureProperties


CLSID_CDeviceMoniker


CLSID_CIcmCoClassManager


CLSID_CMidiOutClassManager



CLSID_CMpegAudioCodec (MPEG audio decoder)



CLSID_CMpegVideoCodec (MPEG video decoder)



CLSID_Colour (Colour space convertor)


CLSID_CompositePP


CLSID_ConvolvePP


CLSID_CQzFilterClassManager


CLSID_CrBlurPP


CLSID_CrBlur


CLSID_CrEmboss


CLSID_CrEngrave


CLSID_CrossbarFilterPropertyPage


CLSID_CutListCacheMemory


CLSID_CutListGraphBuilder


CLSID_CutListSource


CLSID_CVidCapClassManager


CLSID_CWaveinClassManager


CLSID_CWaveOutClassManager


CLSID_DAArray


CLSID_DABbox2


CLSID_DABbox3


CLSID_DABehavior


CLSID_DABoolean


CLSID_DACamera


CLSID_DAColor


CLSID_DADashStyle


CLSID_DAEndStyle


CLSID_DAEvent


CLSID_DAFontStyle


CLSID_DAGeometry


CLSID_DAImage


CLSID_DAImportationResult


CLSID_DAJoinStyle


CLSID_DALineStyle


CLSID_DAMatte


CLSID_DAMicrophone


CLSID_DAMontage


CLSID_DANumber


CLSID_DAPair


CLSID_DAPath2


CLSID_DAPickableResult


CLSID_DAPoint2


CLSID_DAPoint3


CLSID_DASound


CLSID_DAStatics


CLSID_DAString


CLSID_DATransform2


CLSID_DATransform3


CLSID_DATuple


CLSID_DAUserData


CLSID_DAVector2


CLSID_DAVector3


CLSID_DAView


CLSID_DAViewerControlWindowed


CLSID_DAViewerControl



CLSID_DeviceControlCategory (Device Control Filters)


CLSID_DirectDraw


CLSID_DirectDrawClipper


CLSID_DirectDrawFactory


CLSID_DirectDrawProperties


CLSID_Disslvpp


CLSID_Dissolve



CLSID_Dither (VGA 16 color ditherer)



CLSID_DSoundRender (DSound audio renderer)



CLSID_DVDecPropertiesPage (DV decoder property)


CLSID_DvdGraphBuilder


CLSID_DVDHWDecodersCategory


CLSID_DVDNavigator



CLSID_DVEncPropertiesPage (DV encoder property)


CLSID_DVMux DV muxer



CLSID_DVMuxPropertyPage (DV Muxer property)



CLSID_DVSplitter (DV splitter)



CLSID_DVVideoCodec (DV video decoder)



CLSID_DVVideoEnc (DV video encoder)


CLSID_DX2D


CLSID_DXBufferCache


CLSID_DXBufferCache


CLSID_DXFade


CLSID_DXGradient


CLSID_DXLUTBuilder


CLSID_DXRasterizer


CLSID_DXSurfaceModifier


CLSID_DXSurface


CLSID_DXTaskManager


CLSID_DXTComposite


CLSID_DXTConvolution


CLSID_DXTGradientD


CLSID_DXTLabel


CLSID_DXTransformFactory


CLSID_DXTResampler


CLSID_DXTScale


CLSID_DXTWipePP


CLSID_DXTWipe


CLSID_Explode


CLSID_ExplodeProp


CLSID_FadePP



CLSID_FGControl (Control Distributor)



CLSID_FileSource (MPEG file reader)


CLSID_FileWriter


CLSID_FilgraphManager



CLSID_FilterGraph (Filter Graph)



CLSID_FilterGraphNoThread (Filter Graph no thread)



CLSID_FilterMapper (Filter Mapper)


CLSID_FilterMapper2


CLSID_FlipProp


CLSID_Flip


CLSID_GradientPP


CLSID_HeightField


CLSID_HtFieldProp


CLSID_InfTee



CLSID_LegacyAmFilterCategory (Filter category)



CLSID_Line21Decoder (Line21 (CC) Decoder)


CLSID_LUTBuilderPP


CLSID_MediaPropertyBag


CLSID_MemoryAllocator



CLSID_MidiRendererCategory (Midi renderer category)


CLSID_ModexProperties



CLSID_ModexRenderer (Modex video renderer)



CLSID_MOVReader (.MOV reader (old))



CLSID_MPEG1Doc (MPEG System stream)



CLSID_MPEG1PacketPlayer (Takes MPEG1 packets as input)



CLSID_MPEG1Splitter (MPEG splitter)


CLSID_OverlayMixer


CLSID_PerformanceProperties



CLSID_PersistMonikerPID (IPersistMoniker PID)


CLSID_PixelatePP


CLSID_Pixelate



CLSID_ProtoFilterGraph (Prototype filtergraph)


CLSID_QTDec QT Decoder


CLSID_QualityProperties



CLSID_QuickTimeParser (QT Splitter)


CLSID_ResamplePP


CLSID_Ripple


CLSID_RipProp


CLSID_RuffleProp


CLSID_Ruffle


CLSID_SeekingPassThru


CLSID_SimpleCutList


CLSID_SmartTee



CLSID_SystemClock (Reference clock)



CLSID_SystemDeviceEnum (ICreateDevEnum)



CLSID_TextRender (Text renderer)



CLSID_TransmitCategory (External Renderers Category)


CLSID_TVAudioFilterPropertyPage


CLSID_TVTunerFilterPropertyPage



CLSID_URLReader (Async URL Reader)


CLSID_VBISurfaces



CLSID_VfwCapture (Vfw 2.0 Capture Driver)


CLSID_VideoCompressorCategory


CLSID_VideoFileClip



CLSID_VideoInputDeviceCategory (Video capture category)


CLSID_VideoProcAmpPropertyPage



CLSID_VideoRenderer (Video renderer)


CLSID_VideoStreamConfigPropertyPage


CLSID_VPObject


CLSID_VPVBIObject

Date Last Updated: February 8, 1999

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read