[pulseaudio-discuss] Toggling hardware volume for a card or port in pavucontrol

Tom Yan tom.ty89 at gmail.com
Wed Jan 13 08:36:44 PST 2016

Hmm, but a single jack doesn't mean that the driver should only
provide a single "device" for the card? The interface/signal is still
different, no?

On 13 January 2016 at 22:19, Tanu Kaskinen <tanuk at iki.fi> wrote:
> Hi,
> Related to previous discussions[1][2][3] about dealing with volume on
> certain type of usb sound cards, I'd like to make it possible to enable
> and disable hardware volume for individual cards and/or ports in
> pavucontrol.
> Here's the specific use case: the Terratec Aureon Dual USB sound card
> has a single output jack that can used in both analog and digital modes
> (there are other similar usb sound cards too). PulseAudio has no way to
> know which mode is in use. Hardware volume works only in the analog
> mode. Currently that means that PulseAudio's volume control has no
> effect in the digital mode, because PulseAudio controls a mixer element
> that doesn't do anything.
> I want to disable hardware volume for that card by default, because
> that's the only safe default. That reduces the audio quality a bit,
> however, so it would be good to allow concerned users to enable
> hardware volume for the card without too much hassle.
> I'd like some feedback to guide the design:
> 0) Is this feature worth the maintenance burden the new code causes, or
> should I just forget about this? (My answer: it's worth doing.)
> 1) Should the client API be specific to alsa, or should it be added to
> the core interface? A third option exists too: don't make it specific
> to alsa, but implement the client API in a module with a protocol
> extension, and hook to the new module from alsa code. (My answer:
> core.)
> 2) Should the hardware volume toggle be associated with a card or a
> port or both? Associating it with the card would make the UI a bit
> simpler. Logically, though, the toggle should be associated with a
> port, because in the specific use case that I'm concentrating on the
> volume problem concerns only the output path, not the input path.
> There's no reason to disable hardware volume for the input path.
> Whatever we choose, it's always possible to extend the code to support
> both per-card and per-port toggles. (My answer: start with per-port.)
> [1] http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/22253
> [2] http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/23351
> [3] http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/23434
> --
> Tanu
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

More information about the pulseaudio-discuss mailing list