[wdmaudiodev] Re: Audio filter driver

  • From: "Jose Catena" <jc1@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 2 Jun 2010 16:00:53 +0200

> But how should one go about providing position/clock registers if the
> miniport driver isn't aware of the copying of data?

The code that writes the buffer (the application) may need to use the position 
register. Not strictly necessary if it does upon an event based in a predefined 
position interrupt, but necessary if it is based in a timer interrupt. 
Furthermore, even if it is based in position interrupt, advanced sw can check 
the position reg to detect interrupt latency/underrun and/or to determine 
minimum achievable latency.
The timer interrupt based rendering shouldn't be ever used, it was a very bad 
design mistake that only has disadvantages compared with the position based 
interrupt. But in Vista support for position interrupt in the driver was 
optional, leaving you no option other than doing it the wrong way. Fortunately 
in win7 the mistake was fixed and pos interrupt is mandatory, and since most 
drivers are common to Vista and Win7, we may assume now that position interrupt 
must be supported.
Anyway the WaveRT architecture optimizes in major ways hardware handling, but I 
don't think a software only driver would take advantage of it; it would be very 
tricky to implement (if not impossible to do implement fully), and the result 
would be actually less efficient than previous driver architectures. WaveRT is 
great for hardware, but a bad choice for software emulation.
Hope that helps,

Jose Catena
DIGIWAVES S.L.


******************

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/

Other related posts: