summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfred E. Heggestad <alfred.heggestad@gmail.com>2017-03-22 15:56:48 +0100
committerAlfred E. Heggestad <alfred.heggestad@gmail.com>2017-03-22 15:56:48 +0100
commitfa3208e3a1e09131885ba42cef537f1e4a17bbaa (patch)
treeab2131422fdd229b5ea3b34da22bba0a3eb8fef0
parent4afc7980a64dcd4abd1bb79d048f7ea363e99cd1 (diff)
aufilt: make the API re-entrant
-rw-r--r--include/baresip.h4
-rw-r--r--modules/gtk/gtk_mod.c3
-rw-r--r--modules/plc/plc.c2
-rw-r--r--modules/sndfile/sndfile.c2
-rw-r--r--modules/speex_aec/speex_aec.c2
-rw-r--r--modules/speex_pp/speex_pp.c2
-rw-r--r--modules/vumeter/vumeter.c2
-rw-r--r--src/audio.c4
-rw-r--r--src/aufilt.c15
-rw-r--r--src/baresip.c7
-rw-r--r--src/conf.c2
11 files changed, 22 insertions, 23 deletions
diff --git a/include/baresip.h b/include/baresip.h
index bc9b08b..2abe994 100644
--- a/include/baresip.h
+++ b/include/baresip.h
@@ -423,9 +423,8 @@ struct aufilt {
aufilt_decode_h *dech;
};
-void aufilt_register(struct aufilt *af);
+void aufilt_register(struct list *aufiltl, struct aufilt *af);
void aufilt_unregister(struct aufilt *af);
-struct list *aufilt_list(void);
/*
@@ -1127,6 +1126,7 @@ struct list *baresip_mencl(void);
struct list *baresip_aucodecl(void);
struct list *baresip_ausrcl(void);
struct list *baresip_auplayl(void);
+struct list *baresip_aufiltl(void);
#ifdef __cplusplus
diff --git a/modules/gtk/gtk_mod.c b/modules/gtk/gtk_mod.c
index e01a6a1..dbd4a5b 100644
--- a/modules/gtk/gtk_mod.c
+++ b/modules/gtk/gtk_mod.c
@@ -991,7 +991,8 @@ static int module_init(void)
if (err)
return err;
- aufilt_register(&vumeter);
+ aufilt_register(baresip_aufiltl(), &vumeter);
+
#ifdef USE_NOTIFICATIONS
err = message_listen(&mod_obj.message, baresip_message(),
message_handler, &mod_obj);
diff --git a/modules/plc/plc.c b/modules/plc/plc.c
index 8c040a1..8b220ed 100644
--- a/modules/plc/plc.c
+++ b/modules/plc/plc.c
@@ -100,7 +100,7 @@ static struct aufilt plc = {
static int module_init(void)
{
- aufilt_register(&plc);
+ aufilt_register(baresip_aufiltl(), &plc);
return 0;
}
diff --git a/modules/sndfile/sndfile.c b/modules/sndfile/sndfile.c
index 8141284..ac31bbb 100644
--- a/modules/sndfile/sndfile.c
+++ b/modules/sndfile/sndfile.c
@@ -175,7 +175,7 @@ static struct aufilt sndfile = {
static int module_init(void)
{
- aufilt_register(&sndfile);
+ aufilt_register(baresip_aufiltl(), &sndfile);
conf_get_str(conf_cur(), "snd_path", file_path, sizeof(file_path));
diff --git a/modules/speex_aec/speex_aec.c b/modules/speex_aec/speex_aec.c
index 2e45518..5377a06 100644
--- a/modules/speex_aec/speex_aec.c
+++ b/modules/speex_aec/speex_aec.c
@@ -206,7 +206,7 @@ static int module_init(void)
{
/* Note: Hack to check libspeex version */
#ifdef SPEEX_SET_VBR_MAX_BITRATE
- aufilt_register(&speex_aec);
+ aufilt_register(baresip_aufiltl(), &speex_aec);
return 0;
#else
return ENOSYS;
diff --git a/modules/speex_pp/speex_pp.c b/modules/speex_pp/speex_pp.c
index f364d9d..d82e575 100644
--- a/modules/speex_pp/speex_pp.c
+++ b/modules/speex_pp/speex_pp.c
@@ -141,7 +141,7 @@ static struct aufilt preproc = {
static int module_init(void)
{
config_parse(conf_cur());
- aufilt_register(&preproc);
+ aufilt_register(baresip_aufiltl(), &preproc);
return 0;
}
diff --git a/modules/vumeter/vumeter.c b/modules/vumeter/vumeter.c
index efefa23..21afba4 100644
--- a/modules/vumeter/vumeter.c
+++ b/modules/vumeter/vumeter.c
@@ -195,7 +195,7 @@ static struct aufilt vumeter = {
static int module_init(void)
{
- aufilt_register(&vumeter);
+ aufilt_register(baresip_aufiltl(), &vumeter);
return 0;
}
diff --git a/src/audio.c b/src/audio.c
index ddd83ef..1a89fec 100644
--- a/src/audio.c
+++ b/src/audio.c
@@ -907,7 +907,7 @@ static int aufilt_setup(struct audio *a)
aufilt_param_set(&decprm, rx->ac, rx->ptime);
/* Audio filters */
- for (le = list_head(aufilt_list()); le; le = le->next) {
+ for (le = list_head(baresip_aufiltl()); le; le = le->next) {
struct aufilt *af = le->data;
struct aufilt_enc_st *encst = NULL;
struct aufilt_dec_st *decst = NULL;
@@ -1138,7 +1138,7 @@ int audio_start(struct audio *a)
return EINVAL;
/* Audio filter */
- if (!list_isempty(aufilt_list())) {
+ if (!list_isempty(baresip_aufiltl())) {
err = aufilt_setup(a);
if (err)
return err;
diff --git a/src/aufilt.c b/src/aufilt.c
index c749aaf..240edee 100644
--- a/src/aufilt.c
+++ b/src/aufilt.c
@@ -8,15 +8,12 @@
#include "core.h"
-static struct list afl;
-
-
-void aufilt_register(struct aufilt *af)
+void aufilt_register(struct list *aufiltl, struct aufilt *af)
{
- if (!af)
+ if (!aufiltl || !af)
return;
- list_append(&afl, &af->le, af);
+ list_append(aufiltl, &af->le, af);
info("aufilt: %s\n", af->name);
}
@@ -29,9 +26,3 @@ void aufilt_unregister(struct aufilt *af)
list_unlink(&af->le);
}
-
-
-struct list *aufilt_list(void)
-{
- return &afl;
-}
diff --git a/src/baresip.c b/src/baresip.c
index 501fbe1..dbed532 100644
--- a/src/baresip.c
+++ b/src/baresip.c
@@ -23,6 +23,7 @@ static struct baresip {
struct list aucodecl;
struct list ausrcl;
struct list auplayl;
+ struct list aufiltl;
} baresip;
@@ -145,3 +146,9 @@ struct list *baresip_auplayl(void)
{
return &baresip.auplayl;
}
+
+
+struct list *baresip_aufiltl(void)
+{
+ return &baresip.aufiltl;
+}
diff --git a/src/conf.c b/src/conf.c
index 27d4be3..9a85c5d 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -353,7 +353,7 @@ int conf_modules(void)
}
print_populated("audio codec", list_count(baresip_aucodecl()));
- print_populated("audio filter", list_count(aufilt_list()));
+ print_populated("audio filter", list_count(baresip_aufiltl()));
#ifdef USE_VIDEO
print_populated("video codec", list_count(vidcodec_list()));
print_populated("video filter", list_count(vidfilt_list()));