forked from osmocom/wireshark
codecs: add deregister_codec API
Change-Id: I83ecc7e4f8c827c83c2f6b62918f042d023daee4 Reviewed-on: https://code.wireshark.org/review/13575 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
parent
0a931aa383
commit
08527e9b85
|
@ -169,6 +169,20 @@ register_codec(const char *name, codec_init_fn init_fn, codec_release_fn release
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Deregister a codec by name. */
|
||||||
|
gboolean
|
||||||
|
deregister_codec(const char *name)
|
||||||
|
{
|
||||||
|
gpointer key, value;
|
||||||
|
|
||||||
|
if (registered_codecs && g_hash_table_lookup_extended(registered_codecs, name, &key, &value)) {
|
||||||
|
g_hash_table_remove(registered_codecs, name);
|
||||||
|
g_free(value);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
void *codec_init(codec_handle_t codec)
|
void *codec_init(codec_handle_t codec)
|
||||||
{
|
{
|
||||||
if (!codec) return NULL;
|
if (!codec) return NULL;
|
||||||
|
|
|
@ -50,6 +50,7 @@ typedef size_t (*codec_decode_fn)(void *context, const void *input, size_t input
|
||||||
WS_DLL_PUBLIC gboolean register_codec(const char *name, codec_init_fn init_fn,
|
WS_DLL_PUBLIC gboolean register_codec(const char *name, codec_init_fn init_fn,
|
||||||
codec_release_fn release_fn, codec_get_channels_fn channels_fn,
|
codec_release_fn release_fn, codec_get_channels_fn channels_fn,
|
||||||
codec_get_frequency_fn frequency_fn, codec_decode_fn decode_fn);
|
codec_get_frequency_fn frequency_fn, codec_decode_fn decode_fn);
|
||||||
|
WS_DLL_PUBLIC gboolean deregister_codec(const char *name);
|
||||||
WS_DLL_PUBLIC codec_handle_t find_codec(const char *name);
|
WS_DLL_PUBLIC codec_handle_t find_codec(const char *name);
|
||||||
WS_DLL_PUBLIC void *codec_init(codec_handle_t codec);
|
WS_DLL_PUBLIC void *codec_init(codec_handle_t codec);
|
||||||
WS_DLL_PUBLIC void codec_release(codec_handle_t codec, void *context);
|
WS_DLL_PUBLIC void codec_release(codec_handle_t codec, void *context);
|
||||||
|
|
|
@ -5,6 +5,7 @@ libwscodecs.so.0 libwireshark0 #MINVER#
|
||||||
codec_init@Base 2.1.0
|
codec_init@Base 2.1.0
|
||||||
codec_register_plugin_types@Base 2.1.0
|
codec_register_plugin_types@Base 2.1.0
|
||||||
codec_release@Base 2.1.0
|
codec_release@Base 2.1.0
|
||||||
|
deregister_codec@Base 2.1.0
|
||||||
find_codec@Base 2.1.0
|
find_codec@Base 2.1.0
|
||||||
register_all_codecs@Base 2.1.0
|
register_all_codecs@Base 2.1.0
|
||||||
register_codec@Base 2.1.0
|
register_codec@Base 2.1.0
|
||||||
|
|
Loading…
Reference in New Issue