Hi pete, Did you do any synchronization to prevent data race, or to maintain data consistency, e.g. available data length in the buffer? BR, Wayne On 9/6/08, pete c <prchan_0779@xxxxxxxxx> wrote: > Tim, > >>>How are you sending the data from the render end back to the capture > end? > > The GFX-render side allocates a share memory mapped file which is used as a > circular buffer for the LFX-capture side to exchange render data. > > The GFX-render side maintains a current write buffer pointer that it uses to > write render data to (then increments when written to) and the LFX-capture > side maintains a current read buffer pointer to read the render data from > (then increments when read from). > > As of right now the current circular buffer contains 10 buffers(so a total > of 100 ms of buffering) and the GFX-render write buffer pointer maintains a > spacing of 2 buffers behind the LFX-catpure read buffer pointer. > > So for example on my laptop there is a service that runs every minute that > is related to the WLAN, when enabled the LFX-capture read buffer pointer > catches up with the GFX-render write buffer pointer, which leads me to > assume that the GFX has been delayed, while the LFX continues to run ahead > of the GFX allowing the read and write buffer pointers to meet. > > When this WLAN service is diabled everything runs smoothly and the > read/write pointers maintain a ~2 buffer spacing and never meet. The same > skewing situation happens when i insert a USB jump drive into my laptop. > > The GFX/LFX should be running in ~10ms intervals, which is set by the OS? > > > --- On Fri, 9/5/08, Tim Roberts <timr@xxxxxxxxx> wrote: > > From: Tim Roberts <timr@xxxxxxxxx> > Subject: [wdmaudiodev] Re: GFX/LFX fullduplex support. > To: wdmaudiodev@xxxxxxxxxxxxx > Date: Friday, September 5, 2008, 12:10 PM > > > pete c wrote: > > > > > > > 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? > The audio graph runs in a separate system process, and already runs at a > raised priority. Besides, you should know that raising the priority won't > solve the problem. It just delays it. > > You need to be able to handle this skew. > > How are you sending the data from the render end back to the capture end? > -- > Tim Roberts, timr@xxxxxxxxx > Providenza & Boekelheide, Inc. > > > > ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/