[wdmaudiodev] WaveCyclic vs WavePCI for HD Audio

  • From: Preston <prestonfick@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Sun, 29 Mar 2009 01:58:30 -0500

I've seen lots of discussions on WavePCI vs WaveCyclic but nothing
specifically references HD Audio since both seem to have been available long
before HD Audio existed .

I know that the HD Audio DDI
document<http://download.microsoft.com/download/e/b/a/eba1050f-a31d-436b-9281-92cdfeae4b45/HDAudioDdi11.doc>from
Microsoft stated that the HD Audio sample driver was written using
WaveCyclic. However based on reading the documentation WavePCI seems to be
seen as the more effecient choice, but a bit trickier to implement. I did
see another 
post<//www.freelists.org/post/wdmaudiodev/Problem-about-GetMapping-ReleaseMapping-in-WavePCI,12>on
here that if states if implemented correctly, WavePCI doesn't yield
much
better results than WaveCyclic:

"There should be no difference in audio quality between WaveCyclic and
WavePci. ... The IRP handling between the two models is essentially the
same, with the main difference that in the case of WavePci we hand you the
page mappings from the mapped IRP buffer and in WaveCyclic we copy the data
from the IRP buffer into your cyclic buffer based on your indication of DMA
position with a DPC that is scheduled whenever you notify us."

it seems like WaveCyclic would the reasonable choice for development, does
anyone have reccomendations on this?

Other related posts: