]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
More tweaks
authorSteve Underwood <steveu@coppice.org>
Sun, 26 Aug 2012 11:37:14 +0000 (19:37 +0800)
committerSteve Underwood <steveu@coppice.org>
Sun, 26 Aug 2012 11:37:14 +0000 (19:37 +0800)
libs/spandsp/src/t38_gateway.c

index a4a5873e52c2217743241908d07994dfd35930ed..7951c14491b194339bac6df6f2852a9b440d20c3 100644 (file)
@@ -217,13 +217,6 @@ static void set_rx_handler(fax_modems_state_t *s,
 }
 /*- End of function --------------------------------------------------------*/
 
-static void set_rx_active(t38_gateway_state_t *s, int active)
-{
-    s->audio.modems.rx_handler = (active)  ?  s->audio.modems.base_rx_handler  :  span_dummy_rx;
-    s->audio.modems.rx_fillin_handler = (active)  ?  s->audio.modems.base_rx_fillin_handler  :  span_dummy_rx_fillin;
-}
-/*- End of function --------------------------------------------------------*/
-
 static int v17_v21_rx_fillin(void *user_data, int len)
 {
     t38_gateway_state_t *t;
@@ -425,11 +418,11 @@ static int set_next_tx_type(t38_gateway_state_t *s)
             ||
             t->tx_handler == (span_tx_handler_t) &tone_gen)
         {
-            set_rx_active(s, TRUE);
+            fax_modems_set_rx_active(t, TRUE);
         }
         else
         {
-            set_rx_active(s, FALSE);
+            fax_modems_set_rx_active(t, FALSE);
         }
         /*endif*/
         return TRUE;
@@ -472,7 +465,7 @@ static int set_next_tx_type(t38_gateway_state_t *s)
         //silence_gen_set(&t->silence_gen, ms_to_samples(75));
         fax_modems_set_tx_handler(t, (span_tx_handler_t) &silence_gen, &t->silence_gen);
         fax_modems_set_next_tx_handler(t, (span_tx_handler_t) NULL, NULL);
-        set_rx_active(s, TRUE);
+        fax_modems_set_rx_active(t, TRUE);
         break;
     case T38_IND_CNG:
         t->tx_bit_rate = 0;
@@ -480,14 +473,14 @@ static int set_next_tx_type(t38_gateway_state_t *s)
         fax_modems_set_tx_handler(t, (span_tx_handler_t) &modem_connect_tones_tx, &t->connect_tx);
         silence_gen_set(&t->silence_gen, 0);
         fax_modems_set_next_tx_handler(t, (span_tx_handler_t) &silence_gen, &t->silence_gen);
-        set_rx_active(s, TRUE);
+        fax_modems_set_rx_active(t, TRUE);
         break;
     case T38_IND_CED:
         t->tx_bit_rate = 0;
         modem_connect_tones_tx_init(&t->connect_tx, MODEM_CONNECT_TONES_FAX_CED);
         fax_modems_set_tx_handler(t, (span_tx_handler_t) &modem_connect_tones_tx, &t->connect_tx);
         fax_modems_set_next_tx_handler(t, (span_tx_handler_t) NULL, NULL);
-        set_rx_active(s, TRUE);
+        fax_modems_set_rx_active(t, TRUE);
         break;
     case T38_IND_V21_PREAMBLE:
         t->tx_bit_rate = 300;
@@ -498,7 +491,7 @@ static int set_next_tx_type(t38_gateway_state_t *s)
         fsk_tx_init(&t->v21_tx, &preset_fsk_specs[FSK_V21CH2], (get_bit_func_t) hdlc_tx_get_bit, &t->hdlc_tx);
         fax_modems_set_tx_handler(t, (span_tx_handler_t) &silence_gen, &t->silence_gen);
         fax_modems_set_next_tx_handler(t, (span_tx_handler_t) &fsk_tx, &t->v21_tx);
-        set_rx_active(s, TRUE);
+        fax_modems_set_rx_active(t, TRUE);
         break;
     case T38_IND_V27TER_2400_TRAINING:
     case T38_IND_V27TER_4800_TRAINING:
@@ -509,7 +502,7 @@ static int set_next_tx_type(t38_gateway_state_t *s)
         v27ter_tx_set_get_bit(&t->fast_modems.v27ter_tx, get_bit_func, get_bit_user_data);
         fax_modems_set_tx_handler(t, (span_tx_handler_t) &silence_gen, &t->silence_gen);
         fax_modems_set_next_tx_handler(t, (span_tx_handler_t) &v27ter_tx, &t->fast_modems.v27ter_tx);
-        set_rx_active(s, TRUE);
+        fax_modems_set_rx_active(t, TRUE);
         break;
     case T38_IND_V29_7200_TRAINING:
     case T38_IND_V29_9600_TRAINING:
@@ -520,7 +513,7 @@ static int set_next_tx_type(t38_gateway_state_t *s)
         v29_tx_set_get_bit(&t->fast_modems.v29_tx, get_bit_func, get_bit_user_data);
         fax_modems_set_tx_handler(t, (span_tx_handler_t) &silence_gen, &t->silence_gen);
         fax_modems_set_next_tx_handler(t, (span_tx_handler_t) &v29_tx, &t->fast_modems.v29_tx);
-        set_rx_active(s, TRUE);
+        fax_modems_set_rx_active(t, TRUE);
         break;
     case T38_IND_V17_7200_SHORT_TRAINING:
     case T38_IND_V17_7200_LONG_TRAINING:
@@ -569,7 +562,7 @@ static int set_next_tx_type(t38_gateway_state_t *s)
         v17_tx_set_get_bit(&t->fast_modems.v17_tx, get_bit_func, get_bit_user_data);
         fax_modems_set_tx_handler(t, (span_tx_handler_t) &silence_gen, &t->silence_gen);
         fax_modems_set_next_tx_handler(t, (span_tx_handler_t) &v17_tx, &t->fast_modems.v17_tx);
-        set_rx_active(s, TRUE);
+        fax_modems_set_rx_active(t, TRUE);
         break;
     case T38_IND_V8_ANSAM:
         t->tx_bit_rate = 300;
@@ -2433,7 +2426,7 @@ SPAN_DECLARE(t38_gateway_state_t *) t38_gateway_init(t38_gateway_state_t *s,
     t38_gateway_audio_init(s);
     t38_gateway_t38_init(s, tx_packet_handler, tx_packet_user_data);
     
-    set_rx_active(s, TRUE);
+    fax_modems_set_rx_active(&s->audio.modems, TRUE);
     t38_gateway_set_supported_modems(s, T30_SUPPORT_V27TER | T30_SUPPORT_V29 | T30_SUPPORT_V17);
     t38_gateway_set_nsx_suppression(s, (const uint8_t *) "\x00\x00\x00", 3, (const uint8_t *) "\x00\x00\x00", 3);