<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Changing device profile to HDMI is reset to default after short delay"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93946#c13">Comment # 13</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Changing device profile to HDMI is reset to default after short delay"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93946">bug 93946</a>
              from <span class="vcard"><a class="email" href="mailto:tanuk@iki.fi" title="Tanu Kaskinen <tanuk@iki.fi>"> <span class="fn">Tanu Kaskinen</span></a>
</span></b>
        <pre>(In reply to David Henningsson from <a href="show_bug.cgi?id=93946#c12">comment #12</a>)
<span class="quote">> (In reply to Tanu Kaskinen from <a href="show_bug.cgi?id=93946#c11">comment #11</a>)
> > Requiring users to edit the path files doesn't seem like a good solution to
> > me. 

> Correct - the real solution is module-port-manager.

> > I'd rather revert the patch that caused this regression (and I plan to
> > do so in OpenEmbedded).

> It's not a regression. Switching to analog speakers when HDMI is unplugged
> (or turned off) is an improvement.</span >

It's not an improvement for the user who reported this bug. Instead, the change
breaks the user's setup that used to work, and the setup isn't some weird
corner case that doesn't need to be supported.

<span class="quote">> > But here's another idea for a solution:
> > 
> > 1) Remember the last profile the user selected for a card.

> Isn't that what module-card-restore already does?</span >

It's only remembered in the card-restore database. The information isn't
available to module-switch-on-port-available currently.

<span class="quote">> > 2) When a port becomes available, check if the currently active profile on
> > that card was selected by the user. If not, and the port is part of the last
> > user-selected profile, switch to the user-selected profile.

> Sorry, but there's too much left out in the above sentence to be able to
> tell which scenarios this will break.</span >

Yeah, sorry about the overly terse explanation.

If the user has manually selected a profile on a card, we know that the user
wants to use that profile and some port on it, when that port is available. If
the currently selected profile is different than the user-selected profile, it
means that we have automatically switched the profile. In the default
configuration, such profile switch can only happen if all ports on the
user-selected profile have become unavailable. If a port then becomes available
on the user-selected profile, we should switch to it, since the user wants to
use that profile. Or rather, the user wants to use some port on that profile,
and since we don't necessarily know which port, blindly switching to the
profile can indeed break some use cases.

To increase the safety of my proposal, we can make the change more conservative
while still fixing the problem with HDMI. For some profile changes we know
which port the user wants to use. If the activated profile has only one output
port, we know that the user wants to use that port. So, rather than remembering
the last user-selected profile, we need to remember the last user-selected port
(input and output ports remembered separately). If a profile change is
ambiguous about the desired port, then we don't have enough information, but
when selecting a profile for HDMI output, the information is always sufficient
with the default configuration (custom profiles with HDMI + some other sink are
ambiguous, however).</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>