]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7306 #comment fix both ways
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 20 Feb 2015 18:08:22 +0000 (12:08 -0600)
committerAnthony Minessale <anthm@freeswitch.org>
Sat, 21 Feb 2015 00:10:01 +0000 (18:10 -0600)
src/fs_encode.c
src/mod/applications/mod_spandsp/mod_spandsp_fax.c

index 626601d9d6661197a70c790b8bf4335e7948c35d..49895390ef606acef97f8e415e69737f61dd1a84 100644 (file)
@@ -129,6 +129,7 @@ int main(int argc, char *argv[])
        switch_loadable_module_init(SWITCH_FALSE);
        switch_loadable_module_load_module("", "CORE_PCM_MODULE", SWITCH_TRUE, &err);
        switch_loadable_module_load_module("", "CORE_SPEEX_MODULE", SWITCH_TRUE, &err);
+       switch_loadable_module_load_module("", "CORE_SOFTTIMER_MODULE", SWITCH_TRUE, &err);
 
        for (i = 0; i < extra_modules_count; i++) {
                if (switch_loadable_module_load_module((char *) SWITCH_GLOBAL_dirs.mod_dir, (char *) extra_modules[i], SWITCH_TRUE, &err) != SWITCH_STATUS_SUCCESS) {
index 02187db92db44cfc9d17bf3393854588fcfeb4e8..c2fc659187f217ee510ed46bc3892b9fa771fd89 100644 (file)
@@ -190,6 +190,13 @@ static void *SWITCH_THREAD_FUNC timer_thread_run(switch_thread_t *thread, void *
        pvt_t *pvt;
        int samples = 160;
        int ms = 20;
+    int r = 0;
+
+       if (switch_core_timer_init(&timer, "soft", ms, samples, NULL) != SWITCH_STATUS_SUCCESS) {
+               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "timer init failed.\n");
+        r = -1;
+               goto end;
+       }
 
        switch_mutex_lock(t38_state_list.mutex);
        t38_state_list.thread_running = 1;
@@ -197,15 +204,9 @@ static void *SWITCH_THREAD_FUNC timer_thread_run(switch_thread_t *thread, void *
 
        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "FAX timer thread started.\n");
 
-       if (switch_core_timer_init(&timer, "soft", ms, samples, NULL) != SWITCH_STATUS_SUCCESS) {
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "timer init failed.\n");
-        t38_state_list.thread_running = -1;
-               goto end;
-       }
-
        switch_mutex_lock(spandsp_globals.cond_mutex);
 
-       while(t38_state_list.thread_running > 0) {
+       while(t38_state_list.thread_running == 1) {
 
                switch_mutex_lock(t38_state_list.mutex);
 
@@ -234,7 +235,7 @@ static void *SWITCH_THREAD_FUNC timer_thread_run(switch_thread_t *thread, void *
        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "FAX timer thread ended.\n");
 
        switch_mutex_lock(t38_state_list.mutex);
-       t38_state_list.thread_running = 0;
+       t38_state_list.thread_running = r;
        switch_mutex_unlock(t38_state_list.mutex);
 
        if (timer.timer_interface) {