[wdmaudiodev] Re: Need help in Wave Test

  • From: Gaurav Khuntale <gauravkhuntale@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 30 Jan 2014 18:02:30 +0530

Yes, I was opening a stream before running wave test by playing a song from
WMP. So after i tried running wave test without first opening a stream. But
still there are failures which i mentioned in last mail.

I just saw on KS studio and found that it reports Current Count = 0 and
Possible Count = 1 for KSPROPERTY_PIN_CINSTANCES.

Should i attach my wave test log file?

Thanks.


On Thu, Jan 30, 2014 at 5:41 PM, Matthew van Eerde <
Matthew.van.Eerde@xxxxxxxxxxxxx> wrote:

>  > So i removed this handling and allowed mutliple streams to be created
>
>
>
> Um, don't do that.
>
>
>
> The test only attempts to open one stream at a time. Is there already a
> stream open when the test begins? If so, see if you can figure out what is
> opening the stream and stop it. (This could be KS Studio, or maybe
> something is playing a sound, or maybe something else is going on.)
>
>
>
> Typically the instance limit (in this case, 1) is enforced above the
> miniport, so the fact that you even have the opportunity to return
> STATUS_INVALID_DEVICE_REQUEST is indicative of a problem. What does KS
> Studio report for KSPROPERTY_PIN_CINSTANCES on this pin factory, both
> "current" and "possible"?
>
>
>
> *From:* wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:
> wdmaudiodev-bounce@xxxxxxxxxxxxx] *On Behalf Of *Gaurav Khuntale
> *Sent:* Wednesday, January 29, 2014 10:44 PM
>
> *To:* wdmaudiodev@xxxxxxxxxxxxx
> *Subject:* [wdmaudiodev] Re: Need help in Wave Test
>
>
>
> Hi Matthew,
>
> Yes, i am seeing a NewStream() call when test case fails. Also i got the
> reason why Pin was not getting instantiated. Its because, my driver
> currently supports only one stream instantiation at a time.If there is try
> of creating multiple streams then my driver is returning
> STATUS_INVALID_DEVICE_REQUEST status from NewStream() function. So i
> removed this handling and allowed mutliple streams to be created and test
> case "Data Intersection Test\Render Streaming\Check Supported Formats" got
> Pass. But now i am getting more failures in following test cases:
>
> 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.
>
> 2) Standard Streaming\Rendering Pin Tests\Streaming buffer from different
> threads
>    FAIL: Position (1600) is less than the amount of data streamed (3200).
>
> 3) Standard Streaming\Rendering Pin Tests\Calling get position from the
> different thread
>
> 4) Standard Streaming\Rendering Pin Tests\Streaming with 2 different
> instance of the pin.
>      Wave Format used for instantiation:
>     Format.wFormatTag = WAVE_FORMAT_EXTENSIBLE
>     Format.nChannels = 2
>     Format.nSamplesPerSec = 22050
>     Format.nAvgBytesPerSec = 88200
>     Format.nBlockAlign = 4
>     Format.wBitsPerSample = 16
>     Format.cbSize = 22
>     wValidBitsPerSample = 16
>     dwChannelMask = KSAUDIO_SPEAKER_STEREO (0x3)
>     SubFormat =
> KSDATAFORMAT_SUBTYPE_PCM{00000001-0000-0010-8000-00AA00389B71}
>
>     CKsPin::Instantiate.  Failed to instantiate KSPIN_DATAFLOW_IN pin!
>     KsCreatePin returned = 0x00000057
>      [ GetLastError() returned 87 (0x57) - The parameter is incorrect.   ].
>     PreparePin: Unable to instantiate pin.
>
> Can you please help me in above failures ? What could be the reasons
> behind these failures ? Here i don't understand one thing is that, when i
> doesn't allow multiple streams to be instantiated in my driver then above
> mentioned test cases got skipped while wave test and if i allow multiple
> streams then i got failure for this test cases.
>
> Regarding your another question, my driver supports WAVE_FORMAT_PCM with
> maximum channels 2, max sample rate 64000, min sample rate 4000.
>
> Thanks.
>
>
>
>
>
> On Wed, Jan 29, 2014 at 10:30 PM, Matthew van Eerde <
> Matthew.van.Eerde@xxxxxxxxxxxxx> wrote:
>
>  Yes, pin instantiations are only attempted on the wave filter. The
> topology filter typically does not have any pin factories that support
> meaningful pin instantiation.
>
>
>
> When the test case fails, are you seeing a NewStream() call?
>
>
>
> What formats do you support?
>
>
>
> *From:* wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:
> wdmaudiodev-bounce@xxxxxxxxxxxxx] *On Behalf Of *Gaurav Khuntale
> *Sent:* Wednesday, January 29, 2014 2:33 AM
> *To:* wdmaudiodev@xxxxxxxxxxxxx
> *Subject:* [wdmaudiodev] Re: Need help in Wave Test
>
>
>
> Hi Tim,
>
> As you said, i tried instantiating my driver with ksstudio. I selected my
> wave filter from KS Studio and successfully instantiated pin on wave
> filter.
>
> Is failure which i mentioned is related to wave filter only ?
>
> Also i am getting one more failure in same test case mentioned above
> saying:
> CKsPin::Instantiate.  Failed to instantiate KSPIN_DATAFLOW_IN pin!
> KsCreatePin returned = 0x00000001
>  [ GetLastError() returned 1 (0x1) - Incorrect function.   ].
> FAIL: KSPROPERTY_PIN_DATAINTERSECTION Succeeded, Pin Creation Failed
> FAIL: Pin does not support WLP required sample frequencies of:
>         - 44100 Hz
>         - or 48000 Hz
>
> But my driver supports above mentioned sample frequencies, still i don't
> understand why this failure ?
>
> Thanks.
>
>
>
> On Wed, Jan 29, 2014 at 9:42 AM, Gaurav Khuntale <gauravkhuntale@xxxxxxxxx>
> wrote:
>
>   Hi Tim,
>
> No, i haven't tried using ksstudio to instantiate my driver. To be frank,
> i am not aware of this. What exactly will happen when i instantiate driver
> with ksstudio and how to do that ( if possible just give me some reference
> link or document ) ?
>
> Thanks.
>
>
>
> On Wed, Jan 29, 2014 at 6:18 AM, Tim Roberts <timr@xxxxxxxxx> wrote:
>
>  Gaurav Khuntale wrote:
> >
> >
> > I am working on a audio driver which is based on wavecyclic. My driver
> > is failing Wave test with following errors,
> >
> > 1) FAIL : Data Intersection Test\Render Streaming\Check Supported Formats
> >        CKsPin::Instantiate.  Failed to instantiate KSPIN_DATAFLOW_IN pin!
> >        KsCreatePin returned = 0x00000001
> >        [ GetLastError() returned 1 (0x1) - Incorrect function.   ].
> >        FAIL: KSPROPERTY_PIN_DATAINTERSECTION Succeeded, Pin Creation
> > Failed.
> >
> > 2) Compliance Tests\UAA-Compliance Test
> >   1.FAIL: The Device driver is not one of the UAA Compliant types
> > (HDAudio,USB      Audio 1.0, USB Audio 2.0, Bluetooth)!
> >
> > Regarding first failure, i tried to search about that but failed to
> > understand what exactly Failure is and reason behind the failure. My
> > primary understanding says, this failure is because my driver is not
> > supporting KSPROPERTY_PIN_DATAINTERSECTION property. Is this right ?
> > Can anyone please help me here ?
>
> No.  Read the error:  KSPROPERTY_PIN_DATAINTERSECTION succeeded.  Pin
> creation failed.  You're going to need to put some debug prints into
> your driver to chase down which function is failing.  Have you tried
> using ksstudio to instantiate your driver?  Does it work in graphedt?
>
>
>
> > Regarding second failure, as my driver is virtual driver, how can i
> > pass this failure ? Should my driver must be from one of the category
> > listed in failure ?
>
> You can't WHQL a virtual audio driver.
>
> --
> 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: