[wdmaudiodev] Re: Setting KSPROPERTY_AUDIO_VOLUMELEVEL

  • From: Neetu Sand <neetu.freelist@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx

Thanks for the information. I will do the floating point math in the driver
to multiply the audio signal with volume level as Robert mentioned.

I am assuming I should be enclosing the multiplication code in *
KeSaveFloatingPointState* and *KeRestoreFloatingPointState*. Also I will
need to convert data from floating point to integer - I hope this works
fine.

cheers,
Neetu

On Mon, Jun 27, 2011 at 7:14 AM, Frank Yerrace
<Frank.Yerrace@xxxxxxxxxxxxx>wrote:

>  What Tim and Robert are saying is correct. If your driver exposes a
> volume property, then your driver is responsible for actually implementing
> the volume adjustment on the audio signal. Normally this is done by the
> driver programming some hardware to affect gain levels in some way (faithful
> to the values passed to the property SET).****
>
> ** **
>
> Frank Yerrace****
>
> Microsoft Corporation****
>
> ** **
>
> *From:* wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:
> wdmaudiodev-bounce@xxxxxxxxxxxxx] *On Behalf Of *Neetu Sand
> *Sent:* Saturday, June 25, 2011 3:02 AM
>
> *To:* wdmaudiodev@xxxxxxxxxxxxx
> *Subject:* [wdmaudiodev] Re: Setting KSPROPERTY_AUDIO_VOLUMELEVEL****
>
> ** **
>
> Hi Rob,
>
>
> Thanks for your response. I am not multiplying in CopyTo. I didn't see this
> anywhere in DDK documentation so I was under impression that once you return
> proper volume value in property handler, OS does this for you in audio
> layers.
>
> If this is the case case then I should be able to achieve, what I trying
> to.
>
> cheers,
> Neetu****
>
>  On Sat, Jun 25, 2011 at 12:57 PM, Robert Bielik <robert.bielik@xxxxxxxxxx>
> wrote:****
>
> Neetu Sand skrev 2011-06-25 06:01:****
>
> ** **
>
> Yes, this is what I am trying to do - expose a volume property with a range
> between -96dB to 0 dB. Do you think I should expose some other values for
> the range?
>
> When I expose property handle for volume control, I implement it with Get,
> Set and BasicSupport. I get calls for all three of them - In Set I cache the
> value, in get I return the cached value and in BasicSupport I return the
> range that I am trying to expose.
>
> However this results in no changes to volume i.e. slider moves but no
> audible changes in the volume level. This is puzzling so please tell me what
> is wrong in my implementation.****
>
> ** **
>
> I'm not sure I'm missing something here, but shouldn't you actually USE the
> volume value to get an audible change ? Like multiply your audio data with
> the calculated volume level factor (in
> CopyTo) ? (I.e. if you set the control to -6dB you should multiply your
> audio data with 0.5)
>
> The exposed volume node in your topology is only there to tell Windows that
> you HAVE a volume control, and which range it has. It doesn't actually DO
> anything besides that. Making sure that volume is actually changed is up to
> you.
>
> 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: