]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
ftmod_analog_em: Block/unblock signaling when a span is stopped/started
authorMoises Silva <moy@sangoma.com>
Mon, 7 Oct 2013 00:51:31 +0000 (20:51 -0400)
committerMoises Silva <moy@sangoma.com>
Thu, 24 Oct 2013 23:05:12 +0000 (19:05 -0400)
libs/freetdm/src/ftmod/ftmod_analog_em/ftmod_analog_em.c

index 9d5dd60be79069e1957adca26bbbcd833a561c8c..78f4bb38a1029c6d7f07828e5b20eea9a7062ab5 100644 (file)
@@ -44,6 +44,8 @@
 struct tm * localtime_r(const time_t *clock, struct tm *result);
 #endif
 
+static FIO_SPAN_SET_SIG_STATUS_FUNCTION(analog_em_set_span_sig_status);
+
 /* check if the given file is a wave file and skip the header if it is */
 #define WAVE_CHUNK_ID "RIFF"
 #define WAVE_FMT "WAVEfmt "
@@ -223,6 +225,7 @@ static ftdm_status_t ftdm_analog_em_stop(ftdm_span_t *span)
        ftdm_analog_em_data_t *analog_data = span->signal_data;
        ftdm_clear_flag(analog_data, FTDM_ANALOG_EM_RUNNING);
        ftdm_sleep(100);
+       analog_em_set_span_sig_status(span, FTDM_SIG_STATE_SUSPENDED);
        return FTDM_SUCCESS;
 }
 
@@ -1016,6 +1019,7 @@ static void *ftdm_analog_em_run(ftdm_thread_t *me, void *obj)
 
        ftdm_unused_arg(me);
        ftdm_log(FTDM_LOG_DEBUG, "ANALOG EM thread starting.\n");
+       analog_em_set_span_sig_status(span, FTDM_SIG_STATE_UP);
 
        while(ftdm_running() && ftdm_test_flag(analog_data, FTDM_ANALOG_EM_RUNNING)) {
                int waitms = 10;