[wdmaudiodev] Re: Need help in wave test failure.

  • From: Matthew van Eerde <Matthew.van.Eerde@xxxxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 14 Feb 2014 18:02:32 +0000

Does this failure repro on MSVad?

From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Gaurav Khuntale
Sent: Thursday, February 13, 2014 9:17 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Need help in wave test failure.

Hi Tim,
When i update Play Offset exact equal to total data that came to CopyTo, then i 
saw that my driver is getting more than 1600 bytes of data ( but less than 3200 
bytes ) even though test is sending 1600 bytes only. Also from the failure 
message " FAIL: Position (1600) is less than the amount of data streamed 
(3200).", it seems that total data streamed is 3200 and i think that extra data 
may be coming because of that separate thread which is getting created 
in-between.
About data format, test is using different formats every time it tests the 
case. For the logs which i provided in my original question, test used 8KHz, 1 
channel and 8 bit  data format.
Can you guess what could be the reason behind failure ?
Thanks.

On Thu, Feb 13, 2014 at 11:24 PM, Tim Roberts 
<timr@xxxxxxxxx<mailto:timr@xxxxxxxxx>> wrote:
Gaurav Khuntale wrote:
>
> I am working on audio driver based on WaveCyclic port driver. I am
> getting following failure in wave test,
I'm not sure you're interpreting the error message correctly, although I
also could be wrong.  Consider:


> Standard Streaming\Rendering Pin Tests\Streaming buffer from different
> threads
> Successfully instantiated KSPIN_DATAFLOW_IN pin
>     Submitting 1600 bytes to the pin
> ...
>     pin position pos2.playoffset = 1440 , pos1.playOffset = 1600
>     FAIL: Position (1600) is less than the amount of data streamed (3200).
>
> While investigating about above failure, i got to know that my driver
> is not getting total data ( 3200 bytes in above case ) that test sends.
Note that the log says "Submitting 1600 bytes to the pin".  It makes me
wonder if the error is trying to say that someone is reporting that 3200
bytes were streamed, when in fact only 1600 were sent.

What's the data format?  Is it 16kHz?  Stereo?  16-bit?  I'm wondering
if, somewhere, you have a confusion between bytes and samples.

I'm merely speculating, however.


> Also when exactly CopyTo and GetPosition method gets called ?
CopyTo is called when there is new data to transfer.    GetPosition is
polled quite often so the audio subsystem can monitor the real-time
state of the stream.

--
Tim Roberts, timr@xxxxxxxxx<mailto:timr@xxxxxxxxx>
Providenza & Boekelheide, Inc.

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

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx>
Subscribe:    
mailto:wdmaudiodev-request@xxxxxxxxxxxxx<mailto:wdmaudiodev-request@xxxxxxxxxxxxx>?subject=subscribe
Unsubscribe:  
mailto:wdmaudiodev-request@xxxxxxxxxxxxx<mailto:wdmaudiodev-request@xxxxxxxxxxxxx>?subject=unsubscribe
Moderator:    
mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx<mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx>

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts: