[wdmaudiodev] Re: How to handle invalid MMDevApi requests?

  • From: Eugene Muzychenko <reg.wad@xxxxxxxxxxxxxx>
  • To: Gary Daniels <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 11 Sep 2019 17:34:03 +0200

Hello Gary,

We are investigating the other issue with the valid size, but
invalid flags, sample size, reserved, and alignment values.

Thank you for the investigation.

The problem is that one of my virtual driver exposes only a single
supported format (no range) at a time (controlled by its user-mode
software). It signals KSEVENT_PINCAPS_FORMATCHANGE, AudioSrv reacts by
issuing a series of data range and proposed format requests, but many
of them are invalid, and the driver fails them. After that, I often
see that the "Default format" menu in the endpoint properties is
greyed (or even there is no "Advanced" tab at all), and Core Audio
refuses to work with the pin (but sometimes successfully creates a
stream, changes their state up to Pause, then down to Stop, and
destroys it).

I really cannot understand why this happens. I checked all driver's
logs - it returns valid values on all non-failed requests. KsTopTest
and GAudit tests complete with no significant errors (only 
KSPROPERTY_JACK_DESCRIPTION2
and signal processing modes are not supported.

So I'm really afraid if some ill-formed requests that the driver
fails, are important for proper default format detection.

I even tried to set DeviceFormat property from the driver, but it does
not help.

Regards,
Eugene

******************

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: