[wdmaudiodev] Re: Exposing several ranges

  • From: Robert Bielik <robert.bielik@xxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 19 Oct 2011 20:13:56 +0200

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/

Other related posts: