From: Clemens Ladisch <clemens@ladisch.de>
To: Colin Guthrie <gmane@colin.guthr.ie>
Cc: alsa-devel@alsa-project.org
Subject: Re: alsactl adds volume controls?
Date: Thu, 30 Sep 2010 17:56:37 +0200 [thread overview]
Message-ID: <4CA4B335.9010404@ladisch.de> (raw)
In-Reply-To: <4CA4A844.7060403@colin.guthr.ie>
Colin Guthrie wrote:
> 'Twas brillig, and Clemens Ladisch at 30/09/10 12:03 did gyre and gimble:
>> Colin Guthrie wrote:
>> The hardware control is always used. The user control created by
>> softvol is used when some application is using the softvol plugin.
>> (For an application using device names like "hw" or "plughw", there will
>> be not softvol plugin.)
>
> OK. As pulse's mixer profiles *tries* to use "front" but will fall back
> to "hw", we can be pretty much certain that the softvol plugin will
> exist in all cases. The trick is knowing whether or not the control is
> active.
used by current stream
> (although the latency of updates is terrible for me when I adjust the
> alsamixer. I guess changing PCM directly in alsamixer it doesn't trigger
> an immediate rewind in PA so the buffer has to run out for the change to
> be heard.
Yes. The softvol plugin could be changed to try to update the already-
written part of the buffer; so far, not many programs have used big
buffers.
>>> Potential solutions would include:
>>> 1. If the "correct" solution is to just use SND_PCM_NO_AUTO in PA, and
>>> then deliberately/actively ignore any softvol mixers, then nothing needs
>>> done at the alsa level I guess.
>>
>> Yes.
>>
>> Use snd_ctl_elem_info_is_user() to check for the softvol mixer element.
>
> Hmm, judging by the previous response to this suggestion, I'm not sure
> this will work:
>
> http://mailman.alsa-project.org/pipermail/alsa-devel/2007-December/004622.html
It would have worked if PA used the snd_ctl_* instead of the snd_mixer_*
functions.
In this special case, we know that the snd_ctl control "Playback PCM
Volume" maps to the snd_mixer "PCM" playback volume, but this would
still be a hack.
>> It was decided to store this control in the hardware device so that it
>> is saved/restored together with the 'real' controls.
>
> That as a principle makes sense but I still don't understand why it has
> to be there when it's not active.
So that it behaves like a 'real' control, i.e., you can set (and restore)
it even when nothing is currently playing.
> Also I said I'd refer back to [1] later, so here it is. I'm a little
> confused as to why it's stored in asound.state, if, as you say, the
> control is only created when something opens "front:" or similar. When
> the asound.state is read and restored during boot (this is the only time
> for 99% of users I believe - other than running it manually), would it
> not be the case that nothing has yet opened "front:" and thus it will
> not be restored?
When alsactl restores a user control, it will automatically create it.
Thus, using the softvol plugin creates this control practically
permamently.
> setting Master (not PCM) to 0% aka -46.5dB causes some kind of auto-
> mute that cuts off all sound. It shouldn't do that.
Wasn't this a hardware error?
The driver should report correct dB information for this chip.
Regards,
Clemens
next prev parent reply other threads:[~2010-09-30 15:55 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-27 14:39 alsactl adds volume controls? David Henningsson
2010-08-27 15:43 ` Clemens Ladisch
2010-08-27 18:36 ` David Henningsson
2010-08-27 22:58 ` Raymond Yau
2010-08-30 8:01 ` Takashi Iwai
2010-08-30 9:30 ` Raymond Yau
2010-08-30 11:09 ` Takashi Iwai
2010-08-30 13:01 ` David Henningsson
2010-08-30 13:08 ` Takashi Iwai
2010-09-01 13:26 ` David Henningsson
2010-09-01 14:06 ` Raymond Yau
2010-09-02 8:06 ` Takashi Iwai
2010-09-02 9:24 ` David Henningsson
2010-09-02 9:44 ` Takashi Iwai
2010-09-03 7:03 ` David Henningsson
2010-09-03 7:07 ` Jaroslav Kysela
2010-10-02 0:51 ` Raymond Yau
2010-09-03 7:23 ` Raymond Yau
2010-09-02 14:10 ` Jaroslav Kysela
2010-09-02 14:21 ` Clemens Ladisch
2010-09-02 15:24 ` Jaroslav Kysela
2010-09-02 15:52 ` Clemens Ladisch
2010-09-02 17:28 ` Jaroslav Kysela
2010-09-02 20:28 ` Sebastian H.
2010-09-29 14:26 ` Colin Guthrie
2010-09-29 18:09 ` Mark Brown
2010-09-30 9:17 ` Raymond Yau
2010-09-30 11:03 ` Clemens Ladisch
2010-09-30 15:09 ` Colin Guthrie
2010-09-30 15:56 ` Clemens Ladisch [this message]
2010-09-30 16:47 ` Mark Brown
2010-09-30 18:09 ` Takashi Iwai
2010-09-30 18:20 ` Colin Guthrie
2010-09-30 20:36 ` Mark Brown
2010-10-01 6:44 ` Clemens Ladisch
2010-10-01 8:19 ` Colin Guthrie
2010-10-01 9:02 ` Clemens Ladisch
2010-10-04 11:35 ` Colin Guthrie
2010-10-04 12:26 ` Clemens Ladisch
2010-10-04 14:01 ` Takashi Iwai
2010-10-07 8:05 ` Clemens Ladisch
2010-10-08 13:21 ` Colin Guthrie
2010-10-08 13:41 ` Clemens Ladisch
2010-10-08 14:05 ` Colin Guthrie
2010-10-08 14:16 ` Colin Guthrie
2010-10-08 14:42 ` Clemens Ladisch
2010-10-08 15:25 ` Colin Guthrie
2010-10-08 15:29 ` Colin Guthrie
2010-10-08 15:49 ` Colin Guthrie
2010-10-12 8:51 ` Colin Guthrie
2010-10-15 8:32 ` Clemens Ladisch
2010-10-15 8:32 ` [PATCH 1/2] ALSA: HDA: Sigmatel: work around incorrect master muting Clemens Ladisch
2010-10-15 8:33 ` [PATCH 2/2] tlv: fix returned dB information for min-is-mute controls Clemens Ladisch
2010-10-15 8:39 ` alsactl adds volume controls? Colin Guthrie
2010-10-16 15:49 ` Colin Guthrie
2010-10-17 8:50 ` Takashi Iwai
2010-10-17 11:22 ` Colin Guthrie
2010-10-08 15:49 ` Clemens Ladisch
2010-10-11 1:34 ` Raymond Yau
2010-10-11 8:25 ` Colin Guthrie
2010-10-12 8:37 ` Raymond Yau
2010-10-17 3:39 ` Raymond Yau
2010-10-17 11:18 ` Colin Guthrie
2010-10-04 14:18 ` Alexander E. Patrakov
2010-10-04 11:09 ` Raymond Yau
2010-10-04 11:38 ` Colin Guthrie
2010-10-06 0:05 ` Raymond Yau
2010-10-06 23:29 ` Colin Guthrie
2010-10-01 5:38 ` Raymond Yau
2010-10-03 7:37 ` Raymond Yau
2010-10-23 11:51 ` Raymond Yau
2010-10-23 13:00 ` Colin Guthrie
2010-10-24 11:49 ` Raymond Yau
2010-08-29 1:35 ` Raymond Yau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CA4B335.9010404@ladisch.de \
--to=clemens@ladisch.de \
--cc=alsa-devel@alsa-project.org \
--cc=gmane@colin.guthr.ie \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.