[pulseaudio-discuss] [PATCH v2 08/10] card: Remove n_sinks and n_sources from pa_card_profile
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Mon Dec 9 10:31:45 PST 2013
Those fields are redundant, because the same information can be
inferred from sink_prototypes and source_prototypes.
---
src/modules/alsa/module-alsa-card.c | 4 ----
src/modules/bluetooth/module-bluetooth-device.c | 8 --------
src/modules/dbus/iface-card-profile.c | 8 ++++----
src/modules/module-switch-on-port-available.c | 4 ++--
src/pulsecore/card.c | 1 -
src/pulsecore/card.h | 3 ---
src/pulsecore/protocol-native.c | 4 ++--
7 files changed, 8 insertions(+), 24 deletions(-)
diff --git a/src/modules/alsa/module-alsa-card.c b/src/modules/alsa/module-alsa-card.c
index bcb3b08..9e22696 100644
--- a/src/modules/alsa/module-alsa-card.c
+++ b/src/modules/alsa/module-alsa-card.c
@@ -154,8 +154,6 @@ static void add_profiles(struct userdata *u, pa_card_new_data *data) {
cp->priority = ap->priority;
if (ap->output_mappings) {
- cp->n_sinks = pa_idxset_size(ap->output_mappings);
-
PA_IDXSET_FOREACH(m, ap->output_mappings, idx) {
if (!m->sink_prototype)
m->sink_prototype = pa_device_prototype_new(PA_DIRECTION_OUTPUT);
@@ -172,8 +170,6 @@ static void add_profiles(struct userdata *u, pa_card_new_data *data) {
}
if (ap->input_mappings) {
- cp->n_sources = pa_idxset_size(ap->input_mappings);
-
PA_IDXSET_FOREACH(m, ap->input_mappings, idx) {
if (!m->source_prototype)
m->source_prototype = pa_device_prototype_new(PA_DIRECTION_INPUT);
diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c
index cfa8b8d..f133d56 100644
--- a/src/modules/bluetooth/module-bluetooth-device.c
+++ b/src/modules/bluetooth/module-bluetooth-device.c
@@ -2225,8 +2225,6 @@ static pa_card_profile *create_card_profile(struct userdata *u, const char *uuid
p = pa_card_profile_new("a2dp", _("High Fidelity Playback (A2DP)"), sizeof(enum profile));
p->priority = 10;
pa_hashmap_put(p->sink_prototypes, u->sink_prototype, u->sink_prototype);
- p->n_sinks = 1;
- p->n_sources = 0;
p->max_sink_channels = 2;
p->max_source_channels = 0;
pa_hashmap_put(output_port->profiles, p->name, p);
@@ -2237,8 +2235,6 @@ static pa_card_profile *create_card_profile(struct userdata *u, const char *uuid
p = pa_card_profile_new("a2dp_source", _("High Fidelity Capture (A2DP)"), sizeof(enum profile));
p->priority = 10;
pa_hashmap_put(p->source_prototypes, u->source_prototype, u->source_prototype);
- p->n_sinks = 0;
- p->n_sources = 1;
p->max_sink_channels = 0;
p->max_source_channels = 2;
pa_hashmap_put(input_port->profiles, p->name, p);
@@ -2252,8 +2248,6 @@ static pa_card_profile *create_card_profile(struct userdata *u, const char *uuid
if (!USE_SCO_OVER_PCM(u)) {
pa_hashmap_put(p->sink_prototypes, u->sink_prototype, u->sink_prototype);
pa_hashmap_put(p->source_prototypes, u->source_prototype, u->source_prototype);
- p->n_sinks = 1;
- p->n_sources = 1;
p->max_sink_channels = 1;
p->max_source_channels = 1;
}
@@ -2270,8 +2264,6 @@ static pa_card_profile *create_card_profile(struct userdata *u, const char *uuid
if (!USE_SCO_OVER_PCM(u)) {
pa_hashmap_put(p->sink_prototypes, u->sink_prototype, u->sink_prototype);
pa_hashmap_put(p->source_prototypes, u->source_prototype, u->source_prototype);
- p->n_sinks = 1;
- p->n_sources = 1;
p->max_sink_channels = 1;
p->max_source_channels = 1;
}
diff --git a/src/modules/dbus/iface-card-profile.c b/src/modules/dbus/iface-card-profile.c
index 2cfac7b..62ed2ae 100644
--- a/src/modules/dbus/iface-card-profile.c
+++ b/src/modules/dbus/iface-card-profile.c
@@ -116,7 +116,7 @@ static void handle_get_sinks(DBusConnection *conn, DBusMessage *msg, void *userd
pa_assert(msg);
pa_assert(p);
- sinks = p->profile->n_sinks;
+ sinks = pa_hashmap_size(p->profile->sink_prototypes);
pa_dbus_send_basic_variant_reply(conn, msg, DBUS_TYPE_UINT32, &sinks);
}
@@ -129,7 +129,7 @@ static void handle_get_sources(DBusConnection *conn, DBusMessage *msg, void *use
pa_assert(msg);
pa_assert(p);
- sources = p->profile->n_sources;
+ sources = pa_hashmap_size(p->profile->source_prototypes);
pa_dbus_send_basic_variant_reply(conn, msg, DBUS_TYPE_UINT32, &sources);
}
@@ -160,8 +160,8 @@ static void handle_get_all(DBusConnection *conn, DBusMessage *msg, void *userdat
pa_assert(msg);
pa_assert(p);
- sinks = p->profile->n_sinks;
- sources = p->profile->n_sources;
+ sinks = pa_hashmap_size(p->profile->sink_prototypes);
+ sources = pa_hashmap_size(p->profile->source_prototypes);
priority = p->profile->priority;
pa_assert_se((reply = dbus_message_new_method_return(msg)));
diff --git a/src/modules/module-switch-on-port-available.c b/src/modules/module-switch-on-port-available.c
index 2ba5397..92730fe 100644
--- a/src/modules/module-switch-on-port-available.c
+++ b/src/modules/module-switch-on-port-available.c
@@ -57,7 +57,7 @@ static bool profile_good_for_output(pa_card_profile *profile) {
pa_assert(profile);
- if (profile->card->active_profile->n_sources != profile->n_sources)
+ if (pa_hashmap_size(profile->card->active_profile->source_prototypes) != pa_hashmap_size(profile->source_prototypes))
return false;
if (profile->card->active_profile->max_source_channels != profile->max_source_channels)
@@ -78,7 +78,7 @@ static bool profile_good_for_output(pa_card_profile *profile) {
static bool profile_good_for_input(pa_card_profile *profile) {
pa_assert(profile);
- if (profile->card->active_profile->n_sinks != profile->n_sinks)
+ if (pa_hashmap_size(profile->card->active_profile->sink_prototypes) != pa_hashmap_size(profile->sink_prototypes))
return false;
if (profile->card->active_profile->max_sink_channels != profile->max_sink_channels)
diff --git a/src/pulsecore/card.c b/src/pulsecore/card.c
index 3da7c9a..32e1652 100644
--- a/src/pulsecore/card.c
+++ b/src/pulsecore/card.c
@@ -72,7 +72,6 @@ pa_card_profile *pa_card_profile_new(const char *name, const char *description,
c->priority = 0;
c->sink_prototypes = pa_hashmap_new(NULL, NULL);
c->source_prototypes = pa_hashmap_new(NULL, NULL);
- c->n_sinks = c->n_sources = 0;
c->max_sink_channels = c->max_source_channels = 0;
c->available = PA_AVAILABLE_UNKNOWN;
diff --git a/src/pulsecore/card.h b/src/pulsecore/card.h
index 2f3dd06..ce1cb22 100644
--- a/src/pulsecore/card.h
+++ b/src/pulsecore/card.h
@@ -71,9 +71,6 @@ typedef struct pa_card_profile {
pa_hashmap *sink_prototypes; /* pa_device_prototype -> pa_device_prototype (hashmap-as-a-set) */
pa_hashmap *source_prototypes; /* pa_device_prototype -> pa_device_prototype (hashmap-as-a-set) */
- unsigned n_sinks;
- unsigned n_sources;
-
unsigned max_sink_channels;
unsigned max_source_channels;
diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c
index dd38cc4..88ebcdc 100644
--- a/src/pulsecore/protocol-native.c
+++ b/src/pulsecore/protocol-native.c
@@ -3289,8 +3289,8 @@ static void card_fill_tagstruct(pa_native_connection *c, pa_tagstruct *t, pa_car
PA_HASHMAP_FOREACH(p, card->profiles, state) {
pa_tagstruct_puts(t, p->name);
pa_tagstruct_puts(t, p->description);
- pa_tagstruct_putu32(t, p->n_sinks);
- pa_tagstruct_putu32(t, p->n_sources);
+ pa_tagstruct_putu32(t, pa_hashmap_size(p->sink_prototypes));
+ pa_tagstruct_putu32(t, pa_hashmap_size(p->source_prototypes));
pa_tagstruct_putu32(t, p->priority);
if (c->version >= 29)
--
1.8.3.1
More information about the pulseaudio-discuss
mailing list