[alsa-devel] [PATCH][SOUND]volume control for CSWITCH and CROUTE

Takashi Iwai tiwai at suse.de
Tue Apr 7 04:47:15 CEST 2009


At Sat, 04 Apr 2009 18:08:28 +0530,
Viral Mehta wrote:
> 
> From: Deepika Makhija <deepika.makhija at einfochips.com>
> 
> Added an else part to check 
> SNDRV_MIXER_OSS_PRESENT_CVOLUME for MIC (slot 7)
> in commit 36c7b833e5d2501142a371e4e75281d3a29fbd6b
> 
> Similarly, checks and volume control is required for 
> SNDRV_MIXER_OSS_PRESENT_CSWITCH and SNDRV_MIXER_OSS_PRESENT_CROUTE
> as well.
> 
> Signed-off-by: Deepika Makhija <deepika.makhija at einfochips.com>
> Signed-off-by: Viral Mehta <viral.mehta at einfochips.com>

Thanks, applied now to sound git tree.

The original patch wasn't applicable (the file name was wrong) so I
had to apply the patch manually.  It'd be helpful to test the patch
before submission at the next time :)


Takashi


> ---
> --- a/sound/core/oss/mixer-oss.c	2009-04-04 17:06:46.000000000 +0530
> +++ b/sound/core/oss/mixer-oss.c	2009-04-04 17:04:33.000000000 +0530
> @@ -703,19 +703,27 @@ static int snd_mixer_oss_put_volume1(str
>  	if (left || right) {
>  		if (slot->present & SNDRV_MIXER_OSS_PRESENT_PSWITCH)
>  			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PSWITCH], left, right, 0);
> +		if (slot->present & SNDRV_MIXER_OSS_PRESENT_CSWITCH)
> +			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CSWITCH], left, right, 0);
>  		if (slot->present & SNDRV_MIXER_OSS_PRESENT_GSWITCH)
>  			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GSWITCH], left, right, 0);
>  		if (slot->present & SNDRV_MIXER_OSS_PRESENT_PROUTE)
>  			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PROUTE], left, right, 1);
> +		if (slot->present & SNDRV_MIXER_OSS_PRESENT_CROUTE)
> +			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CROUTE], left, right, 1);
>  		if (slot->present & SNDRV_MIXER_OSS_PRESENT_GROUTE)
>  			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GROUTE], left, right, 1);
>  	} else {
>  		if (slot->present & SNDRV_MIXER_OSS_PRESENT_PSWITCH) {
>  			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PSWITCH], left, right, 0);
> +		} else if (slot->present & SNDRV_MIXER_OSS_PRESENT_CSWITCH) {
> +			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CSWITCH], left, right, 0);
>  		} else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GSWITCH) {
>  			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GSWITCH], left, right, 0);
>  		} else if (slot->present & SNDRV_MIXER_OSS_PRESENT_PROUTE) {
>  			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PROUTE], left, right, 1);
> +		} else if (slot->present & SNDRV_MIXER_OSS_PRESENT_CROUTE) {
> +			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CROUTE], left, right, 1);
>  		} else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GROUTE) {
>  			snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GROUTE], left, right, 1);
>  		}
> 


More information about the Alsa-devel mailing list