On Fri, Jun 29, 2018 at 5:02 AM, Tanu Kaskinen <tanuk at iki.fi> wrote: > On Wed, 2018-06-27 at 15:01 -0700, João Paulo Rechi Vita wrote: >> --- >> src/pulsecore/card.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/src/pulsecore/card.c b/src/pulsecore/card.c >> index 0112cffb1..4ead3a606 100644 >> --- a/src/pulsecore/card.c >> +++ b/src/pulsecore/card.c >> @@ -204,7 +204,10 @@ void pa_card_choose_initial_profile(pa_card *card) { >> * or if all profiles are unavailable, pick the profile with the highest >> * priority regardless of its availability. */ >> >> + pa_log_debug("Looking for an initial profile for card %s", card->name); >> PA_HASHMAP_FOREACH(profile, card->profiles, state) { >> + pa_log_debug("profile %s availability %s", profile->name, profile->available == PA_AVAILABLE_YES ? "yes" : >> + profile->available == PA_AVAILABLE_NO ? "no" : "unknown"); >> if (profile->available == PA_AVAILABLE_NO) >> continue; >> >> @@ -213,6 +216,7 @@ void pa_card_choose_initial_profile(pa_card *card) { >> } >> >> if (!best) { >> + pa_log_info("No profile with availability status 'yes' or 'unknown' found for card %s", card->name); >> PA_HASHMAP_FOREACH(profile, card->profiles, state) { >> if (!best || profile->priority > best->priority) >> best = profile; >> @@ -220,6 +224,7 @@ void pa_card_choose_initial_profile(pa_card *card) { >> } >> pa_assert(best); >> >> + pa_log_info("Initial profile %s chosen for card %s", best->name, card->name); > > This message belongs to pa_card_put(), because at this point the > initial profile may still change, either in the CHOOSE_INITIAL_PROFILE > hook or by the card implementation (at least module-alsa-card supports > overriding the automatic policy). If you need to log a message at this > point, the wording needs to be different (I couldn't immediately come > up with a good example). > (sorry it took me so long to reply to this) Yes, I understand the initial profile may still change at this point, but what I'm trying to log here is the whole logic to decide the initial profile, starting from this point. Modules handling the CHOOSE_INITIAL_PROFILE trigger should probably log a debug message about it. The only two modules I've found that connect callbacks to CHOOSE_INITIAL_PROFILE are module-card-restore and module-bluetooth-policy, both of which log a message about it. About the module-alsa-card override, I think you are referring to when it is loaded with the "profile" modarg, we would also get a message from pa_card_set_profile. But I understand your point of trying to be clear that this initial choice is subject to change before the card is active and available. Maybe something like ("Profile %s chosen during card %s creation", best->name, card->name) would achieve it? -- João Paulo Rechi Vita http://about.me/jprvita