Hi Tim, As per my understanding, when IOCTL_KS_RESET_STATE request with value KSRESET_BEGIN comes then pin goes to reset state and during this reset state, new read/write requests on pin gets rejected until IOCTL_KS_RESET_STATE request with value KSREST_END comes. Even if new read/write request comes when pin in reset state then that requests fail with STATUS_DEVICE_NOT_READY. So first of all is my understanding correct ? If yes, then from the wave test log file, it seems that its happening correctly as test sends IOCTL_KS_RESET_STATE with value KSRESET_BEGIN value and after that it sends IOCTL_KS_WRITE_STREAM request which is already failing with "device is not ready" status. Wave test is not sending IOCTL_KS_RESET_STATE with value KSRESET_END to cancel reset state of pin. Still i am not getting why there is failure for test case "Standard Streaming\Rendering Pin Tests\Reset Pin while streaming data". I am again giving logs below for reference, Start Case: ID 16.26:1.5: Standard Streaming\Rendering Pin Tests\Reset Pin while streaming data KSPIN_DATAFLOW_IN pin is currently in state KSSTATE_PAUSE; want it to be in state KSSTATE_RUN Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_RUN Position reported before issuing KSRESET_BEGIN = 121 bytes KSPIN_DATAFLOW_IN pin is currently in state KSSTATE_RUN; want it to be in state KSSTATE_RUN Resetting Pin state: IOCTL_KS_RESET_STATE (KSRESET_BEGIN) Position reported after issuing KSRESET_BEGIN = 0 bytes Submitting IOCTL_KS_WRITE_STREAM IRP ... GetLastError did not return ERROR_IO_PENDING even though the pin is paused [ GetLastError() returned 21 (0x15) - The device is not ready. ]. FAIL: Failed WriteData(Render)/ReadData(Capture) to see if pin position is moving or not. Is my above understanding makes sense? Thanks. On Tue, Feb 4, 2014 at 10:19 AM, Gaurav Khuntale <gauravkhuntale@xxxxxxxxx>wrote: > Hi Tim, > > Yes, i started with MSVAD sample. There are major modifications in sample > code ( actually i haven't did this modifications, i am working on a driver > code which was already half-written. It was already containing wave filter > implementation and topology filter implementation. ). > > Also i have less understanding of driver connection with OS. I am learning > it now. Thanks for the explanation of how IOCTL_KS_RESET_STATE works. So is > there anything which i must do in SetState method which i may be missing? > > And i am returning IDMAChannel object from NewStream. > > Thanks. > > > > > On Tue, Feb 4, 2014 at 1:06 AM, Tim Roberts <timr@xxxxxxxxx> wrote: > >> Gaurav Khuntale wrote: >> >> >> I am working on following failure in wave test, >> >> >> What sample did you start with? Was it msvad? >> >> >> >> 1) Standard Streaming\Rendering Pin Tests\Reset Pin while streaming data >> KSPIN_DATAFLOW_IN pin is currently in state KSSTATE_PAUSE; want it >> to be in state KSSTATE_RUN >> Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_RUN >> Position reported before issuing KSRESET_BEGIN = 121 bytes >> KSPIN_DATAFLOW_IN pin is currently in state KSSTATE_RUN; want it to >> be in state KSSTATE_RUN >> Resetting Pin state: IOCTL_KS_RESET_STATE (KSRESET_BEGIN) >> Position reported after issuing KSRESET_BEGIN = 0 bytes >> Submitting IOCTL_KS_WRITE_STREAM IRP ... >> GetLastError did not return ERROR_IO_PENDING even though the pin is >> paused >> >> [ GetLastError() returned 21 (0x15) - The device is not ready. ]. >> FAIL: Failed WriteData(Render)/ReadData(Capture) to see if pin >> position is moving or not. >> >> Is there a need to implement notification callback of >> IOCTL_KS_RESET_STATE, IOCTL_KS_WRITE_STREAM IRP so that my test cases may >> get pass, if yes then can anyone please give me some reference for the >> implementation of these notification callback ? What exactly happens when >> request of IOCTL_KS_WRITE_STREAM IRP comes ?. >> >> >> It seems like you don't really have a good understanding of how your >> driver is connected. The port class driver handles all of those ioctls for >> you, and turns them into method calls in your driver. IOCTL_KS_RESET_STATE >> becomes a call to IMiniportWaveCyclicStream::SetState, which you are >> already handling. >> >> How much have you modified the sample code? Is it possible you aren't >> returning the IDmaChannel object from NewStream? >> >> -- >> Tim Roberts, timr@xxxxxxxxx >> Providenza & Boekelheide, Inc. >> >> >