[wdmaudiodev] Re: KSPROPERTY_PIN_PROPOSEDATAFORMAT/SET is called with invalid data

  • From: Eugene Muzychenko <reg.wad@xxxxxxxxxxxxxx>
  • To: Tim Roberts <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 6 Dec 2017 10:14:22 +0700

Hello Tim,

when FormatSize is less than KSDATAFORMAT_WAVEFORMATEX, then it's
not a KSDATAFORMAT_WAVEFORMATEX, so there is no "associated"
WAVEFORMATEX structure.

But what could be a reason for such logic?
KSPROPERTY_PIN_PROPOSEDATAFORMAT is the specific "data format"
property request, not a wide-purpose, universal one. MS docs said that
property value is KSDATAFORMAT, there are no other value types.
Therefore, KSDATAFORMAT structure itself must always be valid.

In the described case, SampleSize value of 0x3a281610 looks incorrect.

Moreover, if MajorFormat is KSDATAFORMAT_TYPE_AUDIO, SubFormat is
KSDATAFORMAT_SUBTYPE_PCM and Specifier is
KSDATAFORMAT_SPECIFIER_WAVEFORMATEX (in the described case, they are),
the data following KSDATAFORMAT *must* be a valid WAVEFORMATEX
descriptor, and FormatSize *must* be at least 0x52 (sizeof
(KSDATAFORMAT_WAVEFORMATEX)).

Do you really think that such MajorFormat/SubFormat/Specifier
combination may represent a *valid* format descriptor (but not
WAVEFORMATEX) with FormatSize less than 0x52? If so, is such
possibility mentioned in the docs?

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: