diff options
author | Peter Wu <peter@lekensteyn.nl> | 2016-11-29 00:53:23 +0100 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2016-12-04 17:29:11 +0000 |
commit | 98efddc6c26313809b6f9326f09f76c390d21676 (patch) | |
tree | 2a07a7cceb05922822943a6add98802b46cb7e22 | |
parent | 054455683b2e3697a0e41640a7137781cdc754c8 (diff) |
codecs: allow it to be used without plugins
Not all codecs require the plugin infrastructure. For example, G.711U/A
is a built-in codec. Allow such functionality to be registered even if
plugin support is disabled.
Change-Id: I2505cc9955e7953268ec0739531278921f70a771
Reviewed-on: https://code.wireshark.org/review/18977
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
-rw-r--r-- | codecs/codecs.c | 5 | ||||
-rw-r--r-- | codecs/codecs.h | 6 | ||||
-rw-r--r-- | ui/gtk/main.c | 2 | ||||
-rw-r--r-- | wireshark-qt.cpp | 4 |
4 files changed, 11 insertions, 6 deletions
diff --git a/codecs/codecs.c b/codecs/codecs.c index 7f628a7043..e8987bd447 100644 --- a/codecs/codecs.c +++ b/codecs/codecs.c @@ -92,6 +92,7 @@ register_codec_plugin(gpointer data, gpointer user_data _U_) (plugin->register_codec_module)(); } +#endif /* HAVE_PLUGINS */ /* @@ -115,9 +116,11 @@ register_all_codecs(void) codec_sbc_get_channels, codec_sbc_get_frequency, codec_sbc_decode); #endif +#ifdef HAVE_PLUGINS g_slist_foreach(codec_plugins, register_codec_plugin, NULL); -} #endif /* HAVE_PLUGINS */ +} + struct codec_handle { const char *name; diff --git a/codecs/codecs.h b/codecs/codecs.h index 9f0c971bd5..8825d9e685 100644 --- a/codecs/codecs.h +++ b/codecs/codecs.h @@ -34,9 +34,13 @@ extern "C" { #ifdef HAVE_PLUGINS WS_DLL_PUBLIC void codec_register_plugin_types(void); -WS_DLL_PUBLIC void register_all_codecs(void); #endif +/** + * For all built-in codecs and codec plugins, call their register routines. + */ +WS_DLL_PUBLIC void register_all_codecs(void); + struct codec_handle; typedef struct codec_handle *codec_handle_t; diff --git a/ui/gtk/main.c b/ui/gtk/main.c index f42f98dbb8..eae76e4d47 100644 --- a/ui/gtk/main.c +++ b/ui/gtk/main.c @@ -2299,10 +2299,10 @@ main(int argc, char *argv[]) /* Register all libwiretap plugin modules. */ register_all_wiretap_modules(); +#endif /* Register all audio codec plugins. */ register_all_codecs(); -#endif splash_update(RA_DISSECTORS, NULL, (gpointer)splash_win); diff --git a/wireshark-qt.cpp b/wireshark-qt.cpp index fabd09f469..3fa5fad9f9 100644 --- a/wireshark-qt.cpp +++ b/wireshark-qt.cpp @@ -63,9 +63,7 @@ #include <epan/dissectors/packet-kerberos.h> #endif -#ifdef HAVE_PLUGINS #include <codecs/codecs.h> -#endif #ifdef HAVE_EXTCAP #include <extcap.h> @@ -551,10 +549,10 @@ int main(int argc, char *qt_argv[]) /* Register all libwiretap plugin modules. */ register_all_wiretap_modules(); +#endif /* Register all audio codec plugins. */ register_all_codecs(); -#endif /* Register all dissectors; we must do this before checking for the "-G" flag, as the "-G" flag dumps information registered by the |