[wdmaudiodev] IDmaChannel::CopyFrom() acting weird at high CPU loads

  • From: "Don Bell" <0dbell@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 26 Mar 2008 18:56:09 -0500

At high CPU loads,  IDmaChannel::CopyFrom() is called at much higher
rate thanthat at low CPU loads. I understand that this is done by the
system to reduces the chance of starvation and glitches.

However, when it is called at that higher rate, it also arrives with
the ByteCount parameter set to a value that is MUCH LOWER than would
"reduces the chance of starvation and glitches".

It arrives with counts of as low as 16 bytes, when it is clear that it
needs muc more than that to prevent starvation and glitches. As a
result, my driver does miss samples and exhibits the problem of
starvation and glitches.

What could be causing this weird IDmaChannel::CopyFrom() behavior?
i.e. if there is a problem of starvation and it is invoked to  deal
with that, why a low count? Why not supply the real one?

Any tip or idea in that matter would be greatly appreciated since I am
currently stuck with no idea how to solve this problem.

Thanks,
Don
******************

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:

  • » [wdmaudiodev] IDmaChannel::CopyFrom() acting weird at high CPU loads