[wdmaudiodev] Re: GFX/LFX fullduplex support.

  • From: pete c <prchan_0779@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Fri, 5 Sep 2008 09:55:08 -0700 (PDT)

Tim,
 
ive been experiementing with a GFX-render and an LFX-capture APO framework, 
they run smoothly with not much going on in the Vista OS background; however 
once other apps/services begin running simultaneously the GFX/LFX drift is much 
more drastic almost as if higher priority tasks in Vista are prempting the 
GFX-render process; and the LFX-capture begins to overrun the GFX-render side 
which is not good for AEC. Is there anyway to set kernel priorities to the 
GFX/LFX processes (like in an RTOS) or does this depend on the parent Audio 
Graph process priority level? 
 

 
 

--- On Thu, 9/4/08, pete c <prchan_0779@xxxxxxxxx> wrote:

From: pete c <prchan_0779@xxxxxxxxx>
Subject: [wdmaudiodev] Re: GFX/LFX fullduplex support.
To: wdmaudiodev@xxxxxxxxxxxxx
Date: Thursday, September 4, 2008, 9:05 PM







Tim,
 
>>>I do not do the synchronization.  On receiving either a microphone packet or 
>>>a speaker >>>packet, I simply forward it to their processing library.

With your WDM Driver(Capture)/GFX(render) implementation do you make sure that 
the render packets come into the processing library before the capture packets, 
so youre making sure that the render side is always ahead of the capture side? 
Or does this not matter to the processing algorithm library, render packets 
come in whenver with respect to capture packets? 
 
>>>The best approach for Vista is not to do it.  ;) I've told my client 
>>>repeatedly how >>>dangerous it is to travel down a path that is contrary to 
>>>the philosophy espoused by >>>Microsoft.
>>>Once you have swallowed that blue pill, however, it really depends on your 
>>>situation.  If >>>you will ever have to deal with an HDAUDIO microphone 
>>>source, then you have no >>>choice but to go with the LFX APO.
 
In the case of your client or anyone else who would want to design an AEC that 
would be globally applied to any generic off the shelf vista audio application 
like audition, audacity, cooledit or even the generic windows sound recorder 
that you have mentioned in your previous posts, you have no choice but go with 
the design you have implemented for you client (WDM-capture/GFX APO-render), or 
am i wrong here, could we take the red pill with the recommended microsoft DMO 
approach and apply the AEC system wide?
 
 
 

--- On Thu, 9/4/08, Tim Roberts <timr@xxxxxxxxx> wrote:

From: Tim Roberts <timr@xxxxxxxxx>
Subject: [wdmaudiodev] Re: GFX/LFX fullduplex support.
To: wdmaudiodev@xxxxxxxxxxxxx
Date: Thursday, September 4, 2008, 5:48 PM


pete c wrote: 





 
Im assuming you ran into the same starvation capture/render situation that we 
discussed 
previously, when the LFX APO render side falls behind the WDM driver 
filter(capture side); did the AEC handle this situation or did you prevent the 
WDM driver filter(capture side) from being starved of LFX APO packets from the 
render side.  

I do not do the synchronization.  On receiving either a microphone packet or a 
speaker packet, I simply forward it to their processing library.

By the way, I had my terms backwards.  The render side is a GFX APO.  It's the 
capture side that must be an LFX.







 Do feel there is any benefit of the WDM Filter Driver(capture side) / LFX APO 
(render side) implementation over a GFX/LFX implementation?
 
Im trying to determine what the best approach is here.
The best approach for Vista is not to do it.  ;) I've told my client repeatedly 
how dangerous it is to travel down a path that is contrary to the philosophy 
espoused by Microsoft.

Once you have swallowed that blue pill, however, it really depends on your 
situation.  If you will ever have to deal with an HDAUDIO microphone source, 
then you have no choice but to go with the LFX APO.
-- 
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.




      

Other related posts: