diff options
author | Alfred E. Heggestad <alfred.heggestad@gmail.com> | 2017-03-22 15:56:48 +0100 |
---|---|---|
committer | Alfred E. Heggestad <alfred.heggestad@gmail.com> | 2017-03-22 15:56:48 +0100 |
commit | fa3208e3a1e09131885ba42cef537f1e4a17bbaa (patch) | |
tree | ab2131422fdd229b5ea3b34da22bba0a3eb8fef0 | |
parent | 4afc7980a64dcd4abd1bb79d048f7ea363e99cd1 (diff) |
aufilt: make the API re-entrant
-rw-r--r-- | include/baresip.h | 4 | ||||
-rw-r--r-- | modules/gtk/gtk_mod.c | 3 | ||||
-rw-r--r-- | modules/plc/plc.c | 2 | ||||
-rw-r--r-- | modules/sndfile/sndfile.c | 2 | ||||
-rw-r--r-- | modules/speex_aec/speex_aec.c | 2 | ||||
-rw-r--r-- | modules/speex_pp/speex_pp.c | 2 | ||||
-rw-r--r-- | modules/vumeter/vumeter.c | 2 | ||||
-rw-r--r-- | src/audio.c | 4 | ||||
-rw-r--r-- | src/aufilt.c | 15 | ||||
-rw-r--r-- | src/baresip.c | 7 | ||||
-rw-r--r-- | src/conf.c | 2 |
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; +} @@ -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())); |