[wdmaudiodev] Re: AVStream Audio Frustration

  • From: Matthew van Eerde <Matthew.van.Eerde@xxxxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Sat, 3 Nov 2012 00:00:47 +0000

I see.  Yes, KSEVENT_PINCAPS_FORMATCHANGE is what you want.  That should 
trigger a renegotiation of the default format.

I believe (hope) it is possible to raise that event even without any active 
streams.

From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Tim Roberts
Sent: Friday, November 2, 2012 4:46 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: AVStream Audio Frustration

Matthew van Eerde wrote:

Can you clarify why it is a problem for a format converter to be inserted above 
you?

I may have thrown up too much information and distracted us from the main 
point, or maybe it's just that I'm isolating the problem better as time goes 
on.  I don't really care about DirectShow; my use case is waveIn.  It just so 
happens that Graphedt shows the same behavior in that one case.

Someone, somewhere, is caching my "default audio format".  I think we can all 
agree that's true; it's displayed in the control panel Microphone Properties 
"Advanced" tab.  When I change that selection (as I've just learned), the Audio 
Engine does go through my intersect handler.  It will only allow a selection 
that passes my intersection.

The issue is that, in the sysaudio/waveIn scenario, the system will only send 
me the "default audio format", even if that format no longer passes my 
intersection.  If my format set has changed, I fail in the SetFormat handler 
and unhappiness ensues.

Say that I select 22-M-16 in control panel.  Now, let's say that I reboot, and 
after the reboot I can only handle 44-S-8.  In that case, the system will still 
only connect at 22-M-16 (from the cache), even though that no longer passes my 
intersect handler.


Matt Gonzalez wrote:

Have you tried KSEVENT_PINCAPS_FORMATCHANGE?  It's only supported on Windows 7, 
but that may be what you're looking for.

I'm not sure I know how to send that.  That would be a pin event (wouldn't 
it?), and I can't connect the pin if the format doesn't match.  I suppose I 
could accept the bad format then generate the event.  Hmmm.


--

Tim Roberts, timr@xxxxxxxxx<mailto:timr@xxxxxxxxx>

Providenza & Boekelheide, Inc.

Other related posts: