diff options
Diffstat (limited to 'codecs/codecs.c')
-rw-r--r-- | codecs/codecs.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/codecs/codecs.c b/codecs/codecs.c index f7921eade2..7f628a7043 100644 --- a/codecs/codecs.c +++ b/codecs/codecs.c @@ -169,6 +169,20 @@ register_codec(const char *name, codec_init_fn init_fn, codec_release_fn release 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) { if (!codec) return NULL; |