[wdmaudiodev] Re: Need some help with passing the General Audio Test

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Tue, 1 Apr 2014 09:20:58 -0700

Stephen Pinto wrote:
> Hello Tim,
>
> About the second failure, you said we must allow the data to be
> written to the driver even in the pause state. But we are not stopping
> the OS from writing the data in the DMA buffer in this state. Also we
> are updating the position even when in pause state in the same way as
> in the MSVAD sample driver. So do you mean the same thing or did I get
> you wrong.

You based your work on MSVAD, which is a Port Class miniport.  The Port
Class model is designed for devices that connect directly to a hardware
bus (like PCI), and therefore have no latency.   So, the model assumes
that the IDmaChannel methods (like CopyTo and CopyFrom) will all execute
immediately.  Your design requires those methods to delay while you wait
on action from outside.

The tests, of course, allow for the possibility of delay, but they
expect that if an operation must delay, the request will be marked as
"pending", so the user-mode app can continue.  The Port Class model
doesn't have any way to do that.  You can't get access to the original
IRP.  Instead, you just have to delay, and that causes the timeout.

If you really need to pass the HCK tests, you will have to throw out the
MSVAD design and write an AVStream driver.  That's a fair amount of work
for a very small return, although you already have the lower layers
written already.

-- 
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/

Other related posts: