[wdmaudiodev] Re: AVStream Audio Frustration

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 2 Nov 2012 15:54:16 -0700

Matthew van Eerde wrote:
>
> GraphEdit uses DirectShow which includes all kinds of format
> converters above you.
>
>  
>
> Try using KS Studio to instantiate your pin instead; that’s much
> closer to the metal.
>

Your point is valid, but in this particular case, the problem is not
with DirectShow.  I consider myself a DirectShow guru; I'm pretty well
aware of what's being done for me and what's being done elsewhere.  Two
seemingly identical DirectShow graphs work differently.  If I pull my
device from the "WDM Capture Devices" category, I see a single format
matching my data range.  All is well.  (This matches what I see in
KsStudio.) But if I pull my device from the "Audio Capture Devices"
category, my pin is not queried, no intersection is done, and I see all
possible formats.  (The device name changes, too -- instead of "My
Device Name", I'm shown as "Microphone (My Device Name)".)

I use GraphEdt as an example only because things are a bit more visible
there.  I see the exact same behavior if I do a simple waveIn
application, and that's the environment where I must operate.  In the
waveIn world, there is a ton of muck between me and the application.

What I'm saying is that I am pretty well convinced this is not a problem
in my filter.  I'm doing the right thing, in AVStream terms.  In the
sysaudio/waveIn case, someone above me is deciding what my default audio
format is, and caching that information without consulting me, and
without considering that my capabilities might change over time.  That's
what I need to nail down.

-- 
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.

Other related posts: