DirectShow and MFC vs ATL

I would like to use DirectShow in my DirectX application that use MFC

But the sample I have for DirectShow in the SDK seems to be in ATL
Do you need ATL to make DirectShow Work

Also, I will need to take the *.Lib and *.h file from the DirectShow SDK and
Bring them in my Include and Library directory of the DirectX SDK 2005

What are the Lib I need to have to make DirectShow work
And what *.h should I bring

Any help is appreciated













Answer this question

DirectShow and MFC vs ATL

  • hotfoot982

    Hi G 1.Where do you get the sample filter which uses ATL 2.How to convert the base classes to ATL based3.How do we link them to ATL sample filter (question1)4.Does MS provide ATL based DSHOW samples and baseclasses I am familiar with platform sdk DSHOW samples.I was able to play wit them using graphedt tool on desktop.I heard that ATL is optimized for performancethanks Venky

  • Aaron Schurg

    Thank you so much for this great answer

    Yesterday I made my DirectShow work in my MFC application
    By only includig dshow.h and strmiids.lib as a supplemental lib (not the path)

    For my Filter I don't mind too much if it doesn't use MFC or ATL

    Right now my DirectShow filter use DirectX

    and My MFC app who use DirectX can also use DirectShow

    I have the combination I needed :-)

    And now I know what the name of the lib are thanks to you
















  • Brian Johnson MS

    DirectShow does not use either ATL or MFC.

    From an app point of view, DirectShow is just a set of COM interfaces and it is possible to use either ATL or MFC.

    If you want to write a filter, then you will need to use the DirectShow base classes. It is difficult (but not impossible) to combine these with either ATL or MFC, so in that case you would make a separate DLL for the filter.

    DirectShow is now in the platform SDK. Make sure that the platform SDK inc and lib directories come first on your path, and use dshow.h and strmiids.lib

    If you want to build a filter, then you will need to add the baseclasses directory to your path, include streams.h and link to strmbase.lib or strmbasd.lib which you will have to build from the base class directory.

    G


  • DirectShow and MFC vs ATL