On 2014-08-20 12:17, Tanu Kaskinen wrote:
On Tue, 2014-08-19 at 17:05 +0200, David Henningsson wrote:
On 2014-08-19 12:09, Tanu Kaskinen wrote:
On Tue, 2014-08-19 at 07:47 +0200, David Henningsson wrote:
On 2014-08-17 13:52, Tanu Kaskinen wrote:
The analog-output path should be suppressed when there are more
specific paths available. Currently that usually doesn't happen. The
suppression can be done with the path subset detection, and this patch
makes that work (another approach would be to mark the elements as
required-absent, like analog-input does, but I like the subset
suppression more, because it requires less stuff in the configuration
files). The problem with listing the now-removed elements in
analog-output.conf was that if the sound card had e.g. a Speaker
element, then the switch behaviour was different between analog-output
and analog-output-speakers, so analog-output was not considered a
subset of analog-output-speakers.
Removing the "Jack" ones should be okay, because they're required-any in
lineout.conf, so if these elements exist, there is always a "Line Out".
I'm not sure about removing the elements. Could there be hardware where
we don't have anything making analog-output-speaker.conf show up, and we
still want the control over the things you remove below in
analog-output.conf?
Could you be more specific? If there's nothing that makes
analog-output-speaker show up, then which of these do you think we might
want to control in analog-output: "Line HP Swap",
Apparently added by myself in 2011, for a reason (needed by Dove
boards). So removing this one will regress that board. This one is quite
unusual so I bet keeping it wouldn't cause any unnecessary duplicates I
think.
Can you elaborate, what regression will there be? It appears that "Line
HP Swap" is needed for selecting between headphones and line-out. "Line
HP Swap" isn't marked as "required-any" for analog-output-headphones or
analog-output-lineout[1], but I'd guess that those Dove boards will have
other elements that make analog-output-headphones and
analog-output-lineout appear. And if analog-output-headphones and/or
analog-output-lineout are available, then analog-output should be
suppressed.
[1] As I said in an earlier mail, I think analog-output-headphones and
analog-output-lineout should mark "Line HP Swap" as "required-any". The
reason is that even if that change doesn't make any difference in
practice, in the theoretical case that no other elements exists but
"Line HP Swap", the presence of that element signals that there are
headphones and line-out outputs, otherwise there would be nothing to
swap.
Looking at the alsa-info for the dove board [2], I also think "Line HP
Swap" should be required-any for analog-output-headphones and
analog-output-lineout. If you do so, it's okay to remove it from
analog-output.
"Headphone",
"Headphone2",
Arun changed the behaviour of these in 2013, before they behaved the
same. I'm not really sure what to do here. It seems reasonable to keep
them enabled for analog-output and muted for analog-output-speaker.
"Headphone" is a "required-any" element for analog-output-headphones, so
if the element exists, then analog-output-headphone is available, and
analog-output should be suppressed. Same thing with "Headphone2".
"Desktop Speaker"?
AFAICR, I've never seen "Desktop Speaker". I think we can synchronise
the behavior so that it is the same on "analog-output" and
"analog-output-speaker".
My patch is made with the assumption that analog-output should be
suppressed always when there there are more specific paths available,
with the exception of analog-output-mono (the patch removes also the
"Master Mono" element from analog-output, but as I said earlier, that
was a mistake). Based on this discussion, it seems that you either
disagree with that basic assumption, or weren't properly aware of that
assumption. If you think that the assumption is bad, I'd like you to
give an example where that assumption causes breakage.
The question is if there ever can be the combination of e g
analog-output-headphones and analog-output, when analog-output is
controlling something we did not foresee, but still might be useful to
control.
But since I was unable to come up with a good example, feel free to go
ahead and remove the two headphone elements and sync Desktop Speaker
with analog-output-speaker.
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
[2] https://launchpadlibrarian.net/33800317/alsa-info.txt.Z7Ddd7CdSl
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss