[alsa-devel] Audio codec volume control
Rajeev kumar
rajeev-dlh.kumar at st.com
Thu Sep 20 12:39:53 CEST 2012
Hello Peter,
On 9/20/2012 3:49 PM, Peter Ujfalusi wrote:
> On 09/20/2012 01:08 PM, Rajeev kumar wrote:
>>> case 3:
>>> 1. Provide master volume control
>>> 2. stereo volume control for the left/right channel
>>>
>>
>> You mean to say
>> Left and Right should be a single stereo control which can be provided with
>> SOC_DOUBLE. Actually case 2 corresponds to the same setting which you are
>> suggesting.
>>
>> But why this is better option?
>
> You have less controls for the codec -> easier for users.
> Users still can adjust the left/right differently if they want.
>
>> In case user wants a separate left/right volume control then how this setting
>> is going to help.
>
> In most cases you change both left/right channel:
> amixer sset 'PCM' 8 # left/right volume is 8
>
> but users can set different volume per channel:
> amixer sset 'PCM' 8,1 # left volume is 8, right is 1
>
> it is better than:
> amixer sset 'PCM Left' 8 # left volume is 8
> amixer sset 'PCM Right' 8 # left volume is 8
>
> or
> amixer sset 'PCM Left' 8 # left volume is 8
> amixer sset 'PCM Right' 1 # left volume is 1
>
Thanks for the info.
Please find below the controls I have provided
static const char *pwm_mode_text[] = { "Binary", "Headphone", "Ternary",
"Phase-shift"};
static const DECLARE_TLV_DB_SCALE(out_gain_tlv, -9150, 50, 0);
static const DECLARE_TLV_DB_SCALE(master_vol_tlv, -12750, 50, 0);
static const SOC_ENUM_SINGLE_DECL(pwm_src, STA529_FFXCFG1, 4,
pwm_mode_text);
static const struct snd_kcontrol_new sta529_snd_controls[] = {
SOC_DOUBLE_R_TLV("Digital Playback Volume", STA529_LVOL,
STA529_RVOL, 0,
127, 0, out_gain_tlv),
SOC_SINGLE_TLV("Master Playback Volume", STA529_MVOL, 0, 127, 1,
master_vol_tlv),
SOC_ENUM("PWM Select", pwm_src),
};
So in our amixer output I am not getting any separate numid for
left/right volume, so that user can control it.
Is there something I am missing in my code.
Best Regards
Rajeev
More information about the Alsa-devel
mailing list