My PortCls miniport driver has KSNODETYPE_VOLUME nodes in both
topology and wave filters. All topology-based controls work fine. But
wave-based volume controls send weird channel volume level values to
wave volume node.
For example, I open the "Levels" tab of playback device properties and
click "Balance" of the "Wave volume". I see 8 channel sliders, all of them have
values. I slide all sliders to the left, see all values became zero
and my driver reports a lowest possible value for each channel. Then I
close balance dialog, the "Wave volume" slider is in the leftmost
position, its value is zero. Then I move the slider to the right a
lot (for example, up to 15), the driver reports different values for
different channels. Opening Balance dialog, I see different values
The same happens if I move the slider to the rightmost position and
then to the left.
I checked driver code several times, Wave volume processing is
performed the same way as for topology nodes. Driver log shows that on
GET requests, driver always returns the same value as passed in
previous SET request for the appropriate channel.
Such behavior is observed in Win7 SP1, Win8 and Win8.1. In XP, Wave
volume slider does not produce VOLUMELEVEL property requests at all.
Where to dig to solve this problem?
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: