It's probable, then, that you have found a bug in Wave Test. From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Gaurav Khuntale Sent: Saturday, February 15, 2014 8:07 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Need help in wave test failure. Hi, Yes..it also repro on msvad. Thanks, Gaurav On Feb 14, 2014 11:33 PM, "Matthew van Eerde" <Matthew.van.Eerde@xxxxxxxxxxxxx<mailto:Matthew.van.Eerde@xxxxxxxxxxxxx>> wrote: Does this failure repro on MSVad? From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx>] On Behalf Of Gaurav Khuntale Sent: Thursday, February 13, 2014 9:17 PM To: wdmaudiodev@xxxxxxxxxxxxx<mailto: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/