I dumped out all the KS IRPs my driver was failing and learned that Vista & Windows Media Center were asking for KSPROPERTY_PIN_PROPOSEDATAFORMAT and KSPROPERTY_JACK_DESCRIPTION.
I've successfully implemented KSPROPERTY_JACK_DESCRIPTION.I've also added KSPROPERTY_PIN_PROPOSEDATAFORMAT, but have run into a wrinkle - I never get the full KSDATAFORMAT_WAVEFORMATEX structure passed to my "set" handler.
Instead, I just get the KSDATAFORMAT portion with a sizeof 0x40. The major format, subformat, and specifier are all correct; there's just no WAVEFORMAT structure following them and the size is wrong.
Setting MinData in my KSPROPERTY_ITEM structure to sizeof(KSDATAFORMAT_WAVEFORMATEX) doesn't work; doing that causes my "set" handler to never be called. Right now I'm settting MinData to sizeof(KSDATAFORMAT).
I'm doing my best to copy the example handler for KSPROPERTY_PIN_PROPOSEDATAFORMAT, but the example in the DDK is for a portcls driver and mine is AVStream.
I think I'm really close - doing this gets me a "speaker select" screen in Media Center that wasn't there before. I think I just need to get the proposed data format passed through to me with the speaker mask so I can reject anything with the wrong mask.
Matt ****************** 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/