[pulseaudio-commits] [Git][pulseaudio/pulseaudio][master] 4 commits: card: Create pa_available_to_string
Arun Raghavan
gitlab at gitlab.freedesktop.org
Thu Oct 11 13:24:39 UTC 2018
Arun Raghavan pushed to branch master at PulseAudio / pulseaudio
Commits:
a94ae3f2 by João Paulo Rechi Vita at 2018-10-11T13:08:41Z
card: Create pa_available_to_string
Add a new function to the card API that returns the string
representation of a pa_available_t variable.
- - - - -
d983cde5 by João Paulo Rechi Vita at 2018-10-11T13:08:41Z
cli-text: Use pa_available_to_string
Replace the local available_to_string with calling
pa_available_to_string from card.h.
- - - - -
78485300 by João Paulo Rechi Vita at 2018-10-11T13:08:41Z
device-port: Use pa_available_to_string
Replace using the ternary operator with pa_available_to_string to print
value of a pa_available_t.
- - - - -
a7209388 by João Paulo Rechi Vita at 2018-10-11T13:08:41Z
card: Log initial profile selection
Add logs to pa_card_choose_initial_profile and pa_card_set_profile to
have detailed logging of the profile initialization logic.
- - - - -
4 changed files:
- src/pulsecore/card.c
- src/pulsecore/card.h
- src/pulsecore/cli-text.c
- src/pulsecore/device-port.c
Changes:
=====================================
src/pulsecore/card.c
=====================================
@@ -36,6 +36,19 @@
#include "card.h"
+const char *pa_available_to_string(pa_available_t available) {
+ switch (available) {
+ case PA_AVAILABLE_UNKNOWN:
+ return "unknown";
+ case PA_AVAILABLE_NO:
+ return "no";
+ case PA_AVAILABLE_YES:
+ return "yes";
+ default:
+ pa_assert_not_reached();
+ }
+}
+
pa_card_profile *pa_card_profile_new(const char *name, const char *description, size_t extra) {
pa_card_profile *c;
@@ -70,7 +83,7 @@ void pa_card_profile_set_available(pa_card_profile *c, pa_available_t available)
c->available = available;
pa_log_debug("Setting card %s profile %s to availability status %s", c->card->name, c->name,
- available == PA_AVAILABLE_YES ? "yes" : available == PA_AVAILABLE_NO ? "no" : "unknown");
+ pa_available_to_string(available));
/* Post subscriptions to the card which owns us */
pa_assert_se(core = c->card->core);
@@ -186,7 +199,9 @@ 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 initial profile for card %s", card->name);
PA_HASHMAP_FOREACH(profile, card->profiles, state) {
+ pa_log_debug("%s availability %s", profile->name, pa_available_to_string(profile->available));
if (profile->available == PA_AVAILABLE_NO)
continue;
@@ -204,6 +219,7 @@ void pa_card_choose_initial_profile(pa_card *card) {
card->active_profile = best;
card->save_profile = false;
+ pa_log_info("%s: active_profile: %s", card->name, card->active_profile->name);
/* Let policy modules override the default. */
pa_hook_fire(&card->core->hooks[PA_CORE_HOOK_CARD_CHOOSE_INITIAL_PROFILE], card);
@@ -318,6 +334,7 @@ int pa_card_set_profile(pa_card *c, pa_card_profile *profile, bool save) {
if (c->linked && (r = c->set_profile(c, profile)) < 0)
return r;
+ pa_log_debug("%s: active_profile: %s -> %s", c->name, c->active_profile->name, profile->name);
c->active_profile = profile;
c->save_profile = save;
@@ -325,7 +342,6 @@ int pa_card_set_profile(pa_card *c, pa_card_profile *profile, bool save) {
update_port_preferred_profile(c);
if (c->linked) {
- pa_log_info("Changed profile of card %u \"%s\" to %s", c->index, c->name, profile->name);
pa_hook_fire(&c->core->hooks[PA_CORE_HOOK_CARD_PROFILE_CHANGED], c);
pa_subscription_post(c->core, PA_SUBSCRIPTION_EVENT_CARD|PA_SUBSCRIPTION_EVENT_CHANGE, c->index);
}
=====================================
src/pulsecore/card.h
=====================================
@@ -113,6 +113,8 @@ typedef struct {
pa_direction_t direction;
} pa_card_preferred_port_changed_hook_data;
+const char *pa_available_to_string(pa_available_t available);
+
pa_card_profile *pa_card_profile_new(const char *name, const char *description, size_t extra);
void pa_card_profile_free(pa_card_profile *c);
=====================================
src/pulsecore/cli-text.c
=====================================
@@ -27,6 +27,7 @@
#include <pulsecore/module.h>
#include <pulsecore/client.h>
+#include <pulsecore/card.h>
#include <pulsecore/sink.h>
#include <pulsecore/source.h>
#include <pulsecore/sink-input.h>
@@ -101,19 +102,6 @@ char *pa_client_list_to_string(pa_core *c) {
return pa_strbuf_to_string_free(s);
}
-static const char *available_to_string(pa_available_t a) {
- switch (a) {
- case PA_AVAILABLE_UNKNOWN:
- return "unknown";
- case PA_AVAILABLE_NO:
- return "no";
- case PA_AVAILABLE_YES:
- return "yes";
- default:
- return "invalid"; /* Should never happen! */
- }
-}
-
static void append_port_list(pa_strbuf *s, pa_hashmap *ports) {
pa_device_port *p;
void *state;
@@ -128,7 +116,7 @@ static void append_port_list(pa_strbuf *s, pa_hashmap *ports) {
char *t = pa_proplist_to_string_sep(p->proplist, "\n\t\t\t\t");
pa_strbuf_printf(s, "\t\t%s: %s (priority %u, latency offset %" PRId64 " usec, available: %s)\n",
p->name, p->description, p->priority, p->latency_offset,
- available_to_string(p->available));
+ pa_available_to_string(p->available));
pa_strbuf_printf(s, "\t\t\tproperties:\n\t\t\t\t%s\n", t);
pa_xfree(t);
}
@@ -171,7 +159,7 @@ char *pa_card_list_to_string(pa_core *c) {
pa_strbuf_puts(s, "\tprofiles:\n");
PA_HASHMAP_FOREACH(profile, card->profiles, state)
pa_strbuf_printf(s, "\t\t%s: %s (priority %u, available: %s)\n", profile->name, profile->description,
- profile->priority, available_to_string(profile->available));
+ profile->priority, pa_available_to_string(profile->available));
pa_strbuf_printf(
s,
=====================================
src/pulsecore/device-port.c
=====================================
@@ -84,8 +84,7 @@ void pa_device_port_set_available(pa_device_port *p, pa_available_t status) {
/* pa_assert(status != PA_AVAILABLE_UNKNOWN); */
p->available = status;
- pa_log_debug("Setting port %s to status %s", p->name, status == PA_AVAILABLE_YES ? "yes" :
- status == PA_AVAILABLE_NO ? "no" : "unknown");
+ pa_log_debug("Setting port %s to status %s", p->name, pa_available_to_string(status));
/* Post subscriptions to the card which owns us */
/* XXX: We need to check p->card, because this function may be called
View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/compare/cae15753d4d4f7df0ae473aed884b4a6ec400cf5...a720938855575ff78111c788f9cfef100a1a01a4
--
View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/compare/cae15753d4d4f7df0ae473aed884b4a6ec400cf5...a720938855575ff78111c788f9cfef100a1a01a4
You're receiving this email because of your account on gitlab.freedesktop.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-commits/attachments/20181011/5c47a0f1/attachment-0001.html>
More information about the pulseaudio-commits
mailing list