]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
declinatio mortuus obfirmo
authorAnthony Minessale <anthony.minessale@gmail.com>
Tue, 16 Jun 2009 17:39:03 +0000 (17:39 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Tue, 16 Jun 2009 17:39:03 +0000 (17:39 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13784 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_core_asr.c
src/switch_core_speech.c

index 44bfba333819bf4d6d7aa7e95e59aaf7c910a1e5..4f851c6fd54e4df25328ab5b86fbaadc14ed6ac1 100644 (file)
@@ -77,7 +77,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_asr_open(switch_asr_handle_t *ah,
        ah->rate = rate;
        ah->name = switch_core_strdup(ah->memory_pool, module_name);
 
-       return ah->asr_interface->asr_open(ah, codec, rate, dest, flags);
+       status = ah->asr_interface->asr_open(ah, codec, rate, dest, flags);
+
+       if (status != SWITCH_STATUS_SUCCESS) {
+               UNPROTECT_INTERFACE(ah->asr_interface);
+       }
+
+       return status;
+
 }
 
 SWITCH_DECLARE(switch_status_t) switch_core_asr_load_grammar(switch_asr_handle_t *ah, const char *grammar, const char *name)
index 25a8459c6a39d463cc1dc42ac751b64557ff6a25..5e9be3871d62c2db71f273bc0ef7efd3b2ae1f2c 100644 (file)
@@ -86,6 +86,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_speech_open(switch_speech_handle_t *
 
        if ((status = sh->speech_interface->speech_open(sh, voice_name, rate, flags)) == SWITCH_STATUS_SUCCESS) {
                switch_set_flag(sh, SWITCH_SPEECH_FLAG_OPEN);
+       } else {
+               UNPROTECT_INTERFACE(sh->speech_interface);
        }
 
        return status;