[wdmaudiodev] Re: Need help in KS Topology Test - WinBlue, Wave test- Certification

  • From: Matthew van Eerde <Matthew.van.Eerde@xxxxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>, "Girish Pattabiraman" <girish.pattabiraman@xxxxxxxxx>
  • Date: Thu, 20 Aug 2015 15:24:17 +0000

The sample implementation of GetModes is here:

https://github.com/Microsoft/Windows-driver-samples/blob/master/audio/sysvad/EndpointsCommon/minwavert.cpp

I see you have a comment that says to do validation, but you’re not actually
doing the validation.

The way GetModes works is:

1) Do the validation as it says in the comment

2) Verify that *NumSignalProcessingModes is big enough (on input, this is
set to the size of the buffer, in GUIDs)

3) Write the appropriate number of mode GUIDs to the memory

4) Set *NumSignalProcessingModes to the number of mode GUIDs that you wrote

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Parinitha Kashyap
Sent: Wednesday, August 19, 2015 3:32 PM
To: Girish Pattabiraman
Cc: wdmaudiodev
Subject: [wdmaudiodev] Re: Need help in KS Topology Test - WinBlue, Wave test-
Certification

I have attached the screenshot as well.

Warm regards,
Parinitha Kashyap

On Wed, Aug 19, 2015 at 3:00 PM, Parinitha Kashyap
<parinitha.kashyap@xxxxxxxxx<mailto:parinitha.kashyap@xxxxxxxxx>> wrote:
yes, I am doing that.

Warm regards,
Parinitha Kashyap

On Wed, Aug 19, 2015 at 2:53 PM, Girish Pattabiraman
<girish.pattabiraman@xxxxxxxxx<mailto:girish.pattabiraman@xxxxxxxxx>> wrote:

Are you handling IID_IMiniportAudioSignalProcessing in
NonDelegatingQueryInterface?



Sent from Mail<http://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10





From: Parinitha Kashyap
Sent: Wednesday, August 19, 2015 2:48 PM
To: wdmaudiodev
Subject: [wdmaudiodev] Re: Need help in KS Topology Test - WinBlue, Wave test-
Certification


Hello,

I implemented the IMiniportAudioSignalProcessing interface on my wavecyclic
driver as follows since 'raw' mode needs to be reported:
STDMETHODIMP_(NTSTATUS) CPhorusMiniport::GetModes
(
_In_ ULONG Pin,
_Out_writes_opt_(*NumSignalProcessingModes) GUID* SignalProcessingModes,
_Inout_ ULONG*
NumSignalProcessingModes
)
/*

1. If Pin is not a valid pin number,
return STATUS_INVALID_PARAMETER.

2. If Pin is a valid pin number and it supports n modes (n>0),
init out-parameters and return STATUS_SUCCESS.

3. Else this pin doesn't support any mode,
return STATUS_NOT_SUPPORTED.
example: bridge pins or another mode-not-aware pins.

*/
{
DPF_ENTER_PAGED();

//DPF_ENTER(("[CMiniportWaveRT::GetModes]"));

NTSTATUS ntStatus = STATUS_SUCCESS;
errno_t err;
GUID mode = AUDIO_SIGNALPROCESSINGMODE_RAW;

// copy supported processing modes
err = memcpy_s(
SignalProcessingModes,
sizeof(GUID),
&mode,
sizeof(GUID)
);

if(err) {
ntStatus = STATUS_UNSUCCESSFUL;
}

return ntStatus;
}

After running the test, I still get the error 'ERROR: Pin[00] :
KSPROPERTY_AUDIOSIGNALPROCESSING_MODES is required but not supported' in the
task 'KS Topology Filters\KS Pins\Check Processing Modes' along with 'FAIL:
Pin[00] : DeviceIoControl failed to get basic support for pin property
{4F67B528-30C9-40DE-B2FB-859DDD1F3470}/0, returned error code 31'. I get the
same deviceIOControl error in the task 'KS Topology Filters\KS Pins\Check Pin
Instance Count' as well. In the method 'PropertyHandlerBasic', we do check if
the property request type is KSPROPERTY_TYPE_BASICSUPPORT and assign the
relevant valuesize. Anything else required to be done in GetModes??

Warm regards,
Parinitha Kashyap

On Wed, Aug 5, 2015 at 4:31 PM, Matthew van Eerde
<Matthew.van.Eerde@xxxxxxxxxxxxx<mailto:Matthew.van.Eerde@xxxxxxxxxxxxx>> wrote:
KSPROPERTY_AUDIOSIGNALPROCESSING_MODES is a new property for all audio drivers
that was introduced in Windows 8.1.

portcls miniports can implement IMiniportAudioSignalProcessing to have
portcls.sys support the property on their behalf.

The SysVad sample driver shows how to implement it:
https://github.com/Microsoft/Windows-driver-samples/tree/master/audio/sysvad

From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx>
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx>]
On Behalf Of Parinitha Kashyap
Sent: Wednesday, August 5, 2015 4:22 PM
To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx>
Subject: [wdmaudiodev] Need help in KS Topology Test - WinBlue, Wave test -
Certification

Hi,

My driver is a virtual sound driver based on wavecyclic. I am running tests on
windows 10 RTM using the latest HLK software (v10.0.26624.0) and the latest HLK
filters. I am getting a failure in KS Topology Test - WinBlue in the sub task
'KS Topology Filters\KS Pins\Check Processing Modes'. The error is 'ERROR:
Pin[00] : KSPROPERTY_AUDIOSIGNALPROCESSING_MODES is required but not
supported'. When I ran this test on win 8 on the same driver, it passed. Will
Microsoft release filters to pass this test? Or is this an extra requirement
for the wavecyclic drivers on win 10 to have the new DDI for audio signal
processing modes implemented?

The same error occurs in wave test for the sub tests
'WDMAudio::WaveTest::TAEF_Render_VerifyRawOrDefaultProcessingSupported#4' and
'WDMAudio::WaveTest::TAEF_Render_VerifyRawOrDefaultProcessingSupported#5'. The
exact error text for wave test is as follows: FAIL: The pin 0 doesn't support
KSPROPERTY_AUDIOSIGNALPROCESSING_MODES. As in KS Topology test, the wave test
passed on win 8 with the same driver.

I have attached a screenshot for the wave test.

Pls help.

Thanks,
Warm regards,
Parinitha Kashyap





Other related posts: