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.