'Twas brillig, and Clemens Ladisch at 08/10/10 14:41 did gyre and gimble: > Colin Guthrie wrote: >> 'Twas brillig, and Clemens Ladisch at 07/10/10 09:05 did gyre and gimble: >>> Please try this patch. >>> >>> +++ b/sound/pci/hda/patch_sigmatel.c >>> ... >> >> Seemed to do something. Now, rather than printing -46.5dB then the >> Master slider is down at 0, it prints "mute". >> >> Is this the extent of the fix? i.e. to correctly report that the bottom >> value is muted? > > Yes. Cool. >> If so, then is there a way to tell this via an API so that I can tell PA >> to not control the slider down to it's 0 value in order to avoid the >> auto mute? > > Alsamixer uses the standard dB information that should also be used by PA. I think something in there is busted, but it's likely at the PA end. This is the debug from a volume that is ultimately less than the min dB (i.e. ~50dB or there about - certainly more attenuation than -46.5dB) (I should really make it so it prints the dB volume here too) D: alsa-sink.c: Requested volume: 0: 13% 1: 13% D: alsa-sink.c: Got hardware volume: 0: 0% 1: 0% D: alsa-sink.c: Calculated software volume: 0: 0% 1: 0% (accurate-enough=no) And here is something for ~40dB: D: alsa-sink.c: Requested volume: 0: 19% 1: 19% D: alsa-sink.c: Got hardware volume: 0: 19% 1: 19% D: alsa-sink.c: Calculated software volume: 0: 99% 1: 99% (accurate-enough=yes) In this case the accurate-enough checks succeed vs before when they fail. D: alsa-mixer.c: Activating path analog-output D: alsa-mixer.c: Path analog-output (Analog Output), direction=1, priority=99, probed=yes, supported=yes, has_mute=yes, has_volume=yes, has_dB=yes, min_volume=0, max_volume=31, min_dB=-97.5, max_dB=0 D: alsa-mixer.c: Element Master, direction=1, switch=1, volume=1, enumeration=0, required=0, required_absent=0, mask=0x3600000000f66, n_channels=2, override_map=yes D: alsa-mixer.c: Element PCM, direction=1, switch=0, volume=1, enumeration=0, required=0, required_absent=0, mask=0x3600000000f66, n_channels=2, override_map=yes I: alsa-sink.c: Hardware volume ranges from -97.50 dB to 0.00 dB. I: alsa-sink.c: No particular base volume set, fixing to 0 dB I: alsa-sink.c: Using hardware volume control. Hardware dB scale supported. I: alsa-sink.c: Using hardware mute control. D: alsa-util.c: snd_pcm_dump(): D: alsa-util.c: Soft volume PCM D: alsa-util.c: Control: PCM Playback Volume D: alsa-util.c: min_dB: -51 D: alsa-util.c: max_dB: 0 D: alsa-util.c: resolution: 256 D: alsa-util.c: Its setup is: D: alsa-util.c: stream : PLAYBACK D: alsa-util.c: access : MMAP_INTERLEAVED D: alsa-util.c: format : S16_LE D: alsa-util.c: subformat : STD D: alsa-util.c: channels : 2 D: alsa-util.c: rate : 44100 D: alsa-util.c: exact rate : 44100 (44100/1) D: alsa-util.c: msbits : 16 D: alsa-util.c: buffer_size : 16384 D: alsa-util.c: period_size : 8192 D: alsa-util.c: period_time : 185759 D: alsa-util.c: tstamp_mode : ENABLE D: alsa-util.c: period_step : 1 D: alsa-util.c: avail_min : 15502 D: alsa-util.c: period_event : 0 D: alsa-util.c: start_threshold : -1 D: alsa-util.c: stop_threshold : 4611686018427387904 D: alsa-util.c: silence_threshold: 0 D: alsa-util.c: silence_size : 0 D: alsa-util.c: boundary : 4611686018427387904 D: alsa-util.c: Slave: Hardware PCM card 1 'HDA Intel' device 0 subdevice 0 D: alsa-util.c: Its setup is: D: alsa-util.c: stream : PLAYBACK D: alsa-util.c: access : MMAP_INTERLEAVED D: alsa-util.c: format : S16_LE D: alsa-util.c: subformat : STD D: alsa-util.c: channels : 2 D: alsa-util.c: rate : 44100 D: alsa-util.c: exact rate : 44100 (44100/1) D: alsa-util.c: msbits : 16 D: alsa-util.c: buffer_size : 16384 D: alsa-util.c: period_size : 8192 D: alsa-util.c: period_time : 185759 D: alsa-util.c: tstamp_mode : ENABLE D: alsa-util.c: period_step : 1 D: alsa-util.c: avail_min : 15502 D: alsa-util.c: period_event : 0 D: alsa-util.c: start_threshold : -1 D: alsa-util.c: stop_threshold : 4611686018427387904 D: alsa-util.c: silence_threshold: 0 D: alsa-util.c: silence_size : 0 D: alsa-util.c: boundary : 4611686018427387904 D: alsa-util.c: appl_ptr : 0 D: alsa-util.c: hw_ptr : 0 I'll try and work out why PA still insists on setting Master to 0 aka -99999.99dB :D Many thanks for the patch. Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/] _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel