Matthew van Eerde skrev 2011-10-19 19:58:
KSAUDIO_SPEAKER_7POINT1_SURROUND (0x60f) may be a better option than 0xff. Is your driver a portcls miniport?
Yes, msvad based.
Portcls comes with a default Data Range Intersection handler which handles format support requests. This default handler honors support requests for mono and stereo PCM. If your support is anything other than this (e.g., you don't support mono, or you support a compressed format, or you support multichannel) then you need to write and register your own data range intersection handler. If you do implement a data range intersection handler, are you getting calls to it?
Yup, I do get 2 calls to it (this is the debuglog when I click "Configure Speakers..." in sound control panel), one resulting in "Buffer overflow", and then the successful call: PVWD: [PropertyHandler_TopoFilter] PVWD: [PropertyHandlerJackDescription] PVWD: [PropertyHandler_TopoFilter] PVWD: [PropertyHandlerJackDescription] PVWD: [PropertyHandler_TopoFilter] PVWD: [PropertyHandlerJackDescription] PVWD: [PropertyHandlerJackDescription] PinID = 1 (connected 1) PVWD: [PropertyHandler_Topology] PVWD: [CMiniportTopologyMSVAD::PropertyHandlerVolume] PVWD: [PropertyHandler_Topology] PVWD: [CMiniportTopologyMSVAD::PropertyHandlerVolume] PVWD: [PropertyHandler_Topology] PVWD: [CMiniportTopologyMSVAD::PropertyHandlerVolume] PVWD: [CMiniportTopologyMSVAD::PropertyHandlerVolume] Volume read (ch 0) = 0x00000000 PVWD: [PropertyHandler_Topology] PVWD: [CMiniportTopologyMSVAD::PropertyHandlerMute] PVWD: [PropertyHandler_Topology] PVWD: [CMiniportTopologyMSVAD::PropertyHandlerMute] PVWD: [CMiniportTopologyMSVAD::PropertyHandlerMute] Mute read = 0 PVWD: [PropertyHandler_WaveFilter: Verb=0x10000001] PVWD: [CMiniportWaveCyclic::PropertyHandlerChannelConfig] PVWD: [CMiniportWaveCyclic::PropertyHandlerChannelConfig] Get value = 0000063F PVWD: [PropertyHandler_WaveFilter: Verb=0x10000001] PVWD: [CMiniportWaveCyclic::PropertyHandlerChannelConfig] PVWD: [CMiniportWaveCyclic::PropertyHandlerChannelConfig] Get value = 0000063F PVWD: [CMiniportWaveCyclic::DataRangeIntersection] Buffer overflow <- Call 1 PVWD: [CMiniportWaveCyclic::DataRangeIntersection] pWfxExt->Format.nChannels = 8 <- Call 2 PVWD: [CMiniportWaveCyclic::DataRangeIntersection] pWfxExt->Format.nSamplesPerSec = 44100 PVWD: [CMiniportWaveCyclic::DataRangeIntersection] pWfxExt->Format.wBitsPerSample = 32 PVWD: [CMiniportWaveCyclic::DataRangeIntersection] pWfxExt->dwChannelMask = 0x0000063F PVWD: [CMiniportWaveCyclic::DataRangeIntersection] Exit successfully [...snip...] Regards /Rob ****************** 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/