diff options
Diffstat (limited to 'formats/format_sln.c')
-rw-r--r-- | formats/format_sln.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/formats/format_sln.c b/formats/format_sln.c index 32972d09d..af3f691c8 100644 --- a/formats/format_sln.c +++ b/formats/format_sln.c @@ -235,6 +235,19 @@ static struct ast_format_def *slin_list[] = { &slin192_f, }; +static int unload_module(void) +{ + int res = 0; + int i = 0; + + for (i = 0; i < ARRAY_LEN(slin_list); i++) { + if (ast_format_def_unregister(slin_list[i]->name)) { + res = -1; + } + } + return res; +} + static int load_module(void) { int i; @@ -251,26 +264,14 @@ static int load_module(void) for (i = 0; i < ARRAY_LEN(slin_list); i++) { if (ast_format_def_register(slin_list[i])) { - return AST_MODULE_LOAD_FAILURE; + unload_module(); + return AST_MODULE_LOAD_DECLINE; } } return AST_MODULE_LOAD_SUCCESS; } -static int unload_module(void) -{ - int res = 0; - int i = 0; - - for (i = 0; i < ARRAY_LEN(slin_list); i++) { - if (ast_format_def_unregister(slin_list[i]->name)) { - res |= AST_MODULE_LOAD_FAILURE; - } - } - return res; -} - AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Raw Signed Linear Audio support (SLN) 8khz-192khz", .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, |