none
KS Position test failing... RRS feed

  • Question

  • I'm testing an msvad-based virtual audio driver. However, I'm seeing a few failing tests. In particular, the Ks position test seems to be failnig because the position estimate is wrong. I'm not sure how to fix this? The driver is based off msvad, so the IMiniportWaveCyclicStream::GetPosition() is nearly the same.

    I've included the results from this test:

    The current device supports standard streaming.
    CKsPin::GetProposeFormat - Pin Does Not Support KSPROPERTY_PIN_PROPOSEDATAFORMAT (error: 1168)
    Wave Format used for instantiation:
    wFormatTag = WAVE_FORMAT_PCM
    nChannels = 2
    nSamplesPerSec = 44100
    nAvgBytesPerSec = 176400
    nBlockAlign = 4
    wBitsPerSample = 16
    cbSize = 0

    Successfully instantiated KSPIN_DATAFLOW_IN pin
    Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_STOP
    The current device supports standard streaming.
    This is NOT a WaveRT Pin
    The current device supports standard streaming.
    This is NOT a WaveRT Pin
    Start Case: ID 16.26:1.1 : Standard Streaming\Rendering Performance Tests\Startup Latency (standard streaming):[Fri Jan 11 09:55:00 2013]
    Device Name = Pin # 0 on {ec717a79-c163-4f01-a24d-c5022b2d696f}\A2DPSource [Render Pin]
    PnP ID      = {EC717A79-C163-4F01-A24D-C5022B2D696F}\A2DPSOURCE\9&38DCBABE&9&01
        ======================================================
        Using Pin # 0 on {ec717a79-c163-4f01-a24d-c5022b2d696f}\A2DPSource as the render pin
        Using QueryPerformanceCounter as the timing mechanism
        Testing format:
          Format.nChannels       = 2
          Format.nSamplesPerSec  = 44100
          wValidBitsPerSample    = 16
        Wave Format used for instantiation:
        wFormatTag = WAVE_FORMAT_PCM
        nChannels = 2
        nSamplesPerSec = 44100
        nAvgBytesPerSec = 176400
        nBlockAlign = 4
        wBitsPerSample = 16
        cbSize = 0
       
        Successfully instantiated KSPIN_DATAFLOW_IN pin
        Submitting 352800 bytes to the pin
        Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_PAUSE
        Submitting IOCTL_KS_WRITE_STREAM IRP ...
        IRP is pending...
        Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_RUN
        Setting pin to KSSTATE_RUN took 0.031 ms
        Testing  First non-zero position reported = 2760 bytes, (13.044 ms)
        First non-zero position reported = 2760 bytes, (690 samples), (15.646 ms)
        Time of first non-zero position  = 13.0202 ms (+/- 0.024016 ms)
        Time equivalent of first non-zero position (15.646 ms) is greater than the time the pin has been in the run state (13.044 ms)
        FAIL: First non-zero position is too high.
        Number of runs 1
        Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_STOP
        Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_STOP
       
        !!! Warning !!!!  The device failed this test case for this format.  The device gets 2 chances to pass the case with each format.
        !!! Running second chance...
       
        Wave Format used for instantiation:
        wFormatTag = WAVE_FORMAT_PCM
        nChannels = 2
        nSamplesPerSec = 44100
        nAvgBytesPerSec = 176400
        nBlockAlign = 4
        wBitsPerSample = 16
        cbSize = 0
       
        Successfully instantiated KSPIN_DATAFLOW_IN pin
        Submitting 352800 bytes to the pin
        Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_PAUSE
        Submitting IOCTL_KS_WRITE_STREAM IRP ...
        IRP is pending...
        Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_RUN
        Setting pin to KSSTATE_RUN took 0.021 ms
        Testing  First non-zero position reported = 2764 bytes, (106.946 ms)
        First non-zero position reported = 2764 bytes, (691 samples), (15.669 ms)
        Time of first non-zero position  = 11.2645 ms (+/- 0.0262739 ms)
        Time equivalent of first non-zero position (15.669 ms) is greater than the time the pin has been in the run state (11.291 ms)
        FAIL: First non-zero position is too high.
        Number of runs 1
        Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_STOP
        Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_STOP
       
        !!! Device failed test case twice for this format.  Disallowing second chances for the remainder of this test case...
       
    End Case: ID 16.26:1.1 : FAIL : Standard Streaming\Rendering Performance Tests\Startup Latency (standard streaming) : [Fri Jan 11 09:55:00 2013]

    Friday, January 11, 2013 9:42 PM

All replies

  • Forwarded your details to the appropriate team. Will receive a reply soon.

    Thanks,
    Sree

    Friday, January 11, 2013 11:11 PM
  • Hi David,

    Try to disable your audio and run again the test.

    Monday, January 28, 2013 10:07 AM
  • Hello David,

    I am also working on virtual audio driver which is based on WaveCyclic port driver. I want to pass KS-position test for driver but i am also failing it with the same error you are getting. I am also having IMiniportWaveCyclicStream::GetPosition() same as MSVAD.  Did you understood how to fix it ?

    Thanks,

    Gaurav

    Friday, March 28, 2014 3:07 PM