GDCL Home About GDCL DirectShow WinNt & WDM
GDCL Home / Technology / How To

How To...

All downloadable samples are listed in the downloads page.

How to access DirectShow from Visual Basic (and other OLE-Automation controllers) using GDCL's freely downloadable dll here
How to overlay text and graphics on a running movie
How can I host DirectX Audio Plug-ins in my application? here
How can I play back MPEG streams from live sources or the network? here
How can I use a transform filter within my app?
You can create a filter using new within your application instead of using CoCreateInstance. This allows you to have a filter that is private to the application, and also allows you to call public methods on the filter without having to define and expose a COM interface. Download this code sample which demonstrates the use of an in-place transform that lives within the .exe of a simple video player. June 2011: this is explored further here.
How to use in-place transforms with the video renderer
The CTransInPlaceFilter base class does not work for filters that connect to the video renderer. It will not connect if the downstream filter insists on its own allocator, and will miss dynamic type changes originating from downstream. This set of derived classes solves the problem by using a proxy allocator on the input pin.
Note that in most cases, reading from a VideoRenderer buffer is much slower than writing to it. In-place transforms are not appropriate for filters that access the data in any way. However, there are cases where this in-place transform will be useful: for filters that manage only the timestamp, monitor traffic or enforce specific media types, for example. Download the classes here.
How to write a parser filter? See article
How to maintain glitch-free preview while starting and stopping capture? See article
How to play multiple source clips seamlessly? See article
For other questions, see the General Q & A