Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
Windos
win32.3rdparty
win32.directx.audio
win32.directx.ddk
win32.directx.graphics
win32.directx.input
win32.directx.managed
win32.directx.misc
win32.directx.networking
win32.directx.sdk
win32.directx.video
win32.dirx.grap.shaders
win32.gdi
win32.international
win32.kernel
win32.messaging
win32.mmedia
win32.networks
win32.ole
win32.rtc
win32.tapi
win32.tapi.beta
win32.tools
win32.ui
win32.wince
win32.wmi
windows.mediacenter
winfx.aero
winfx.announcements
winfx.avalon
winfx.collaboration
winfx.fundamentals
winfx.general
winfx.indigo
winfx.sdk
winfx.winfs
  
 
date: Sat, 26 Jul 2008 11:31:11 -0700,    group: microsoft.public.win32.programmer.directx.video        back       


Learning basics of Directshow and questions   
1. Please correct me if the understanding wrong...

Each type of Directshow filters has its own Standard interfaces, plus its
custom interfaces.

The questions are

    a. A specific filter may not implement all the standard interfaces.
    b. A specific filter may not implement any custom interface at all. If
it does, is there a way to find out what they are without documentation but
the .ax file only? (At least find its interface and method names?)


2. What is .acm files like lameACM.acm? How are they related to
filters/graph in Directshow? How to make use of such files in Directshow?


3. Is it correct to say that codecs such as those .dll files in System32
folder are used by filters or wrapper filters in Directshow? Or what's the
exact relationship between codecs and filters in such situation? How they're
related to function together?
date: Sat, 26 Jul 2008 11:31:11 -0700   author:   Eli

Re: Learning basics of Directshow and questions   
From: "Eli"

> 3. Is it correct to say that codecs such as those .dll
> files in System32 folder are used by filters or wrapper
> filters in Directshow? Or what's the exact relationship
> between codecs and filters in such situation? How they're
> related to function together?

No, it's not correct. Codec is a generic term for 
compressor-decompressor and it is often misused to mean any 
multimedia-related pluggable component. A codec can be 
implemented is any number of ways: as an ACM audio user-mode 
driver, as a VCM/ICM/VFW video user-mode driver, as a DMO, 
as a DirectShow filter, as a WinAmp plug-in, as a QuickTime 
codec and so on.

Since the only way to link code at runtime on Windows is by 
using a DLL, all those implementations are packaged in one 
DLL (and possibly more helper DLLs, but the codec client 
only interacts with the DLL that provides the codec 
interface).

A DirectShow graph can only contain DS filters so, if the 
codec implements a different interface, it must be wrapped. 
The DS runtime provides stock wrappers for DMOs, ACM drivers 
anv VCM drivers, but custom wrappers can be provided, either 
packaged in the same DLL or not. Or multiple implementations 
of the codec.

> 2. What is .acm files like lameACM.acm? How are they
> related to filters/graph in Directshow? How to make use
> of such files in Directshow?

An .acm file is typically the DLL where an ACM driver is 
packaged and can be used in a DS graph via the stock 
ACMWrapper.

> a. A specific filter may not implement all the
> standard interfaces.

To be a DS filter, an object is only required to implement 
IBaseFilter (which inherits IMediaFilter and IPersist) and 
IPin on its pins, if any.

> b. A specific filter may not
> implement any custom interface at all. If
> it does, is there a way to find out what they are without
> documentation but the .ax file only? (At least find its
> interface and method names?)

No. Filters are COM classes and COM does not support code 
metadata that can be used for that purpose. If the filter 
implements IDispatch, then you may have a chance to perform 
a late binding at runtime.


-- 
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
date: Sat, 26 Jul 2008 19:57:01 -0400   author:   Alessandro Angeli

Re: Learning basics of Directshow and questions   
Alessandro Angeli  wrote in message
news:eOhGnt37IHA.5164@TK2MSFTNGP02.phx.gbl...
> From: "Eli"
>
> > 3. Is it correct to say that codecs such as those .dll
> > files in System32 folder are used by filters or wrapper
> > filters in Directshow? Or what's the exact relationship
> > between codecs and filters in such situation? How they're
> > related to function together?
>
> No, it's not correct. Codec is a generic term for
> compressor-decompressor and it is often misused to mean any
> multimedia-related pluggable component. A codec can be
> implemented is any number of ways: as an ACM audio user-mode
> driver, as a VCM/ICM/VFW video user-mode driver, as a DMO,
> as a DirectShow filter, as a WinAmp plug-in, as a QuickTime
> codec and so on.
>
> Since the only way to link code at runtime on Windows is by
> using a DLL, all those implementations are packaged in one
> DLL (and possibly more helper DLLs, but the codec client
> only interacts with the DLL that provides the codec
> interface).
>
> A DirectShow graph can only contain DS filters so, if the
> codec implements a different interface, it must be wrapped.
> The DS runtime provides stock wrappers for DMOs, ACM drivers
> anv VCM drivers, but custom wrappers can be provided, either
> packaged in the same DLL or not. Or multiple implementations
> of the codec.
>

Thanks! Where can get a list of stock wrapper provided by DS runtime?


> > 2. What is .acm files like lameACM.acm? How are they
> > related to filters/graph in Directshow? How to make use
> > of such files in Directshow?
>
> An .acm file is typically the DLL where an ACM driver is
> packaged and can be used in a DS graph via the stock
> ACMWrapper.
>

Okay. ACMWrapper is for .acm files of audio. Are there corresponding parts
for video?
date: Sat, 26 Jul 2008 19:01:32 -0700   author:   Eli

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us