My audio capture device produces 32-bit floating point data as its native format, and I understand the Vista audio engine also uses the same as its native format, so it seemed sensible to avoid converting everything to fixed point and back again.
I tried setting my wave filter and topology pin data ranges to: static KSDATARANGE_AUDIO PinDataRangesDigitalBridge[] = { { { sizeof(KSDATARANGE_AUDIO), 0, 0, 0, STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO), STATICGUIDOF(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT), STATICGUIDOF(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX) }, 2, // maximum channels 32, // minimum bits per sample 32, // maximum bits per sample 48000, // minimum sample rate 48000 // maximum sample rate } };but it didn't like this, reporting there were no capture devices present. My DataIntersectionHandler was never called, and it never tried to create any streams.
Although the WDK documentation mentions in several places that WAVE_FORMAT_IEEE_FLOAT is supported for all WDM audio drivers, I can't find any examples of where this is actually done.
Any suggestions? Jeff PagesInnes Corporation Pty Ltd
****************** 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/