spandsp  3.0.0
fax_modems_state_s Struct Reference

#include <fax_modems.h>

Public Attributes

bool use_tep
 True if talker echo protection should be sent for the image modems.
 
span_tone_report_func_t tone_callback
 The callback function used to report detected tones.
 
void * tone_callback_user_data
 A user specified opaque pointer passed to the tone_callback function.
 
int transmit_on_idle
 
hdlc_tx_state_t hdlc_tx
 An HDLC context used when transmitting HDLC messages.
 
hdlc_rx_state_t hdlc_rx
 An HDLC context used when receiving HDLC messages.
 
fsk_tx_state_t v21_tx
 A V.21 FSK modem context used when transmitting HDLC over V.21 messages.
 
fsk_rx_state_t v21_rx
 A V.21 FSK modem context used when receiving HDLC over V.21 messages.
 
union {
   v17_tx_state_t   v17_tx
 A V.17 modem context used when sending FAXes at 7200bps, 9600bps 12000bps or 14400bps.
 
   v17_rx_state_t   v17_rx
 A V.29 modem context used when receiving FAXes at 7200bps, 9600bps 12000bps or 14400bps.
 
   v27ter_tx_state_t   v27ter_tx
 A V.27ter modem context used when sending FAXes at 2400bps or 4800bps.
 
   v27ter_rx_state_t   v27ter_rx
 A V.27ter modem context used when receiving FAXes at 2400bps or 4800bps.
 
   v29_tx_state_t   v29_tx
 A V.29 modem context used when sending FAXes at 7200bps or 9600bps.
 
   v29_rx_state_t   v29_rx
 A V.29 modem context used when receiving FAXes at 7200bps or 9600bps.
 
fast_modems
 
silence_gen_state_t silence_gen
 Used to insert timed silences.
 
modem_connect_tones_tx_state_t connect_tx
 CED or CNG generator.
 
modem_connect_tones_rx_state_t connect_rx
 CED or CNG detector.
 
dc_restore_state_t dc_restore
 
int fast_modem
 The fast modem type currently in use.
 
int current_rx_type
 The currently selected receiver type.
 
int current_tx_type
 The currently selected transmitter type.
 
int bit_rate
 
bool short_train
 
span_put_bit_func_t put_bit
 The callback function used to put each bit received.
 
void * put_bit_user_data
 A user specified opaque pointer passed to the put_bit routine.
 
span_get_bit_func_t get_bit
 The callback function used to get the next bit to be transmitted.
 
void * get_bit_user_data
 A user specified opaque pointer passed to the get_bit function.
 
hdlc_frame_handler_t hdlc_accept
 
void * hdlc_accept_user_data
 
bool rx_signal_present
 True if a carrier is present. Otherwise false.
 
bool rx_trained
 True if a modem has trained correctly.
 
bool rx_frame_received
 True if an HDLC frame has been received correctly.
 
int deferred_rx_handler_updates
 
span_rx_handler_t rx_handler
 The current receive signal handler.
 
span_rx_handler_t base_rx_handler
 The current receive signal handler. Actual receiving hops between this and a dummy receive routine.
 
void * rx_user_data
 
span_rx_fillin_handler_t rx_fillin_handler
 The current receive missing signal fill-in handler.
 
span_rx_fillin_handler_t base_rx_fillin_handler
 The current receive signal fillin handler. Actual receiving hops between this and a dummy receive routine.
 
void * rx_fillin_user_data
 
span_tx_handler_t tx_handler
 The current transmit signal handler.
 
void * tx_user_data
 
span_tx_handler_t next_tx_handler
 The next transmit signal handler, for two stage transmit operations. E.g. a short silence followed by a modem signal.
 
void * next_tx_user_data
 
int tx_bit_rate
 The current bit rate of the transmitter.
 
int rx_bit_rate
 The current bit rate of the receiver.
 
bool transmit
 If true, transmission is in progress.
 
int audio_rx_log
 Audio logging file handle for received audio.
 
int audio_tx_log
 Audio logging file handle for transmitted audio.
 
logging_state_t logging
 Error and flow logging control.
 

Detailed Description

The set of modems needed for FAX, plus the auxilliary stuff, like tone generation.

Member Data Documentation

◆ transmit_on_idle

int fax_modems_state_s::transmit_on_idle

If true, transmit silence when there is nothing else to transmit. If false return only the actual generated audio. Note that this only affects untimed silences. Timed silences (e.g. the 75ms silence between V.21 and a high speed modem) will alway be transmitted as silent audio.

Referenced by fax_set_transmit_on_idle(), faxtester_set_transmit_on_idle(), t31_set_transmit_on_idle(), and t38_gateway_set_transmit_on_idle().


The documentation for this struct was generated from the following file: