From bae221cca97816e0ae0395ac1e561aa208cb0346 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 15 Jan 2009 20:49:12 +0100 Subject: rework module usage counter stuff to be pull based --- src/modules/module-alsa-sink.c | 9 +++++++++ src/modules/module-alsa-source.c | 9 +++++++++ src/modules/module-defs.h.m4 | 2 ++ src/modules/module-esound-sink.c | 9 +++++++++ src/modules/module-jack-sink.c | 9 +++++++++ src/modules/module-jack-source.c | 9 +++++++++ src/modules/module-ladspa-sink.c | 9 +++++++++ src/modules/module-null-sink.c | 9 +++++++++ src/modules/module-pipe-sink.c | 9 +++++++++ src/modules/module-pipe-source.c | 9 +++++++++ src/modules/module-raop-sink.c | 9 +++++++++ src/modules/module-remap-sink.c | 9 +++++++++ src/modules/module-sine-source.c | 9 +++++++++ 13 files changed, 110 insertions(+) (limited to 'src/modules') diff --git a/src/modules/module-alsa-sink.c b/src/modules/module-alsa-sink.c index 3fa0b5db..a3e818dd 100644 --- a/src/modules/module-alsa-sink.c +++ b/src/modules/module-alsa-sink.c @@ -1610,6 +1610,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_sink_linked_by(u->sink); +} + void pa__done(pa_module*m) { struct userdata *u; diff --git a/src/modules/module-alsa-source.c b/src/modules/module-alsa-source.c index 22e9ebfc..901db01f 100644 --- a/src/modules/module-alsa-source.c +++ b/src/modules/module-alsa-source.c @@ -1431,6 +1431,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_source_linked_by(u->source); +} + void pa__done(pa_module*m) { struct userdata *u; diff --git a/src/modules/module-defs.h.m4 b/src/modules/module-defs.h.m4 index 64ce1928..f9924cfa 100644 --- a/src/modules/module-defs.h.m4 +++ b/src/modules/module-defs.h.m4 @@ -18,9 +18,11 @@ gen_symbol(pa__get_description) gen_symbol(pa__get_usage) gen_symbol(pa__get_version) gen_symbol(pa__load_once) +gen_symbol(pa__get_n_used) int pa__init(pa_module*m); void pa__done(pa_module*m); +int pa__get_n_used(pa_module*m); const char* pa__get_author(void); const char* pa__get_description(void); diff --git a/src/modules/module-esound-sink.c b/src/modules/module-esound-sink.c index 14f1810a..7c7f8284 100644 --- a/src/modules/module-esound-sink.c +++ b/src/modules/module-esound-sink.c @@ -621,6 +621,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_sink_linked_by(u->sink); +} + void pa__done(pa_module*m) { struct userdata *u; pa_assert(m); diff --git a/src/modules/module-jack-sink.c b/src/modules/module-jack-sink.c index 555cb825..b448e84e 100644 --- a/src/modules/module-jack-sink.c +++ b/src/modules/module-jack-sink.c @@ -430,6 +430,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_sink_linked_by(u->sink); +} + void pa__done(pa_module*m) { struct userdata *u; diff --git a/src/modules/module-jack-source.c b/src/modules/module-jack-source.c index 9eccbbfa..0c7ee535 100644 --- a/src/modules/module-jack-source.c +++ b/src/modules/module-jack-source.c @@ -398,6 +398,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_source_linked_by(u->source); +} + void pa__done(pa_module*m) { struct userdata *u; pa_assert(m); diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c index 496e9ea5..e746f342 100644 --- a/src/modules/module-ladspa-sink.c +++ b/src/modules/module-ladspa-sink.c @@ -770,6 +770,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_sink_linked_by(u->sink); +} + void pa__done(pa_module*m) { struct userdata *u; unsigned c; diff --git a/src/modules/module-null-sink.c b/src/modules/module-null-sink.c index daf9767c..570f8be4 100644 --- a/src/modules/module-null-sink.c +++ b/src/modules/module-null-sink.c @@ -324,6 +324,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_sink_linked_by(u->sink); +} + void pa__done(pa_module*m) { struct userdata *u; diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c index 2b55c823..03e27170 100644 --- a/src/modules/module-pipe-sink.c +++ b/src/modules/module-pipe-sink.c @@ -315,6 +315,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_sink_linked_by(u->sink); +} + void pa__done(pa_module*m) { struct userdata *u; diff --git a/src/modules/module-pipe-source.c b/src/modules/module-pipe-source.c index 77310cab..975090c2 100644 --- a/src/modules/module-pipe-source.c +++ b/src/modules/module-pipe-source.c @@ -302,6 +302,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_source_linked_by(u->source); +} + void pa__done(pa_module*m) { struct userdata *u; diff --git a/src/modules/module-raop-sink.c b/src/modules/module-raop-sink.c index 62f0a73c..c324437e 100644 --- a/src/modules/module-raop-sink.c +++ b/src/modules/module-raop-sink.c @@ -627,6 +627,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_sink_linked_by(u->sink); +} + void pa__done(pa_module*m) { struct userdata *u; pa_assert(m); diff --git a/src/modules/module-remap-sink.c b/src/modules/module-remap-sink.c index aa914066..e17fef03 100644 --- a/src/modules/module-remap-sink.c +++ b/src/modules/module-remap-sink.c @@ -415,6 +415,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_sink_linked_by(u->sink); +} + void pa__done(pa_module*m) { struct userdata *u; diff --git a/src/modules/module-sine-source.c b/src/modules/module-sine-source.c index 79d3b137..5626c2ab 100644 --- a/src/modules/module-sine-source.c +++ b/src/modules/module-sine-source.c @@ -286,6 +286,15 @@ fail: return -1; } +int pa__get_n_used(pa_module *m) { + struct userdata *u; + + pa_assert(m); + pa_assert_se(u = m->userdata); + + return pa_source_linked_by(u->source); +} + void pa__done(pa_module*m) { struct userdata *u; -- cgit