28 #if !defined(_SPANDSP_FAX_TESTER_H_)
29 #define _SPANDSP_FAX_TESTER_H_
40 typedef void (*faxtester_flush_handler_t)(
faxtester_state_t *s,
void *user_data,
int which);
60 bool use_receiver_not_ready;
61 bool test_local_interrupt;
74 xmlNodePtr repeat_start;
75 xmlNodePtr repeat_parent;
77 faxtester_flush_handler_t flush_handler;
78 void *flush_user_data;
80 const uint8_t *image_buffer;
85 uint8_t image[1000000];
108 int wait_for_silence;
111 int64_t tone_on_time;
116 bool test_for_call_clear;
117 int call_clear_timer;
119 bool far_end_cleared_call;
124 uint8_t awaited[1000];
127 char next_tx_file[1000];
133 #if defined(__cplusplus)
158 void faxtester_set_tx_type(
void *user_data,
int type,
int bit_rate,
int short_train,
int use_hdlc);
160 void faxtester_set_rx_type(
void *user_data,
int type,
int bit_rate,
int short_train,
int use_hdlc);
166 void faxtester_send_hdlc_msg(
faxtester_state_t *s,
const uint8_t *msg,
int len,
int crc_ok);
168 void faxtester_set_flush_handler(
faxtester_state_t *s, faxtester_flush_handler_t handler,
void *user_data);
217 #if defined(__cplusplus)
int faxtester_free(faxtester_state_t *s)
Free a FAX context.
Definition: fax_tester.c:1902
int faxtester_rx(faxtester_state_t *s, int16_t *amp, int len)
Apply T.30 receive processing to a block of audio samples.
Definition: fax_tester.c:654
faxtester_state_t * faxtester_init(faxtester_state_t *s, const char *test_file, const char *test)
Initialise a FAX tester context.
Definition: fax_tester.c:1852
void faxtester_set_tep_mode(faxtester_state_t *s, int use_tep)
Select whether TEP will be sent for the image modems.
Definition: fax_tester.c:860
void faxtester_set_transmit_on_idle(faxtester_state_t *s, int transmit_on_idle)
Select whether silent audio will be sent when FAX transmit is idle.
Definition: fax_tester.c:854
int faxtester_release(faxtester_state_t *s)
Release a FAX context.
Definition: fax_tester.c:1891
int faxtester_tx(faxtester_state_t *s, int16_t *amp, int max_len)
Apply T.30 transmit processing to generate a block of audio samples.
Definition: fax_tester.c:675
logging_state_t * faxtester_get_logging_state(faxtester_state_t *s)
Get the logging context associated with a FAX tester context.
Definition: fax_tester.c:1846
Definition: private/fax_modems.h:35
Definition: private/fax.h:36
Definition: fax_tester.h:46
logging_state_t logging
Error and flow logging control.
Definition: fax_tester.h:130
bool short_train
true if the short training sequence should be used.
Definition: fax_tester.h:101
xmlDocPtr doc
Pointer to the XML document.
Definition: fax_tester.h:67
char image_path[1024]
Path for the FAX image test files.
Definition: fax_tester.h:64
t38_terminal_state_t * far_t38_fax
The far end T.38 terminal context.
Definition: fax_tester.h:54
int current_rx_type
The currently select receiver type.
Definition: fax_tester.h:104
bool transmit
Definition: fax_tester.h:98
fax_state_t * far_fax
The far end FAX context.
Definition: fax_tester.h:48
int current_tx_type
The currently select transmitter type.
Definition: fax_tester.h:106
modem_connect_tones_rx_state_t connect_rx
CED or CNG detector.
Definition: fax_tester.h:95
xmlNodePtr cur
Pointer to our current step in the test.
Definition: fax_tester.h:69
Definition: private/logging.h:34
Definition: private/modem_connect_tones.h:58
Definition: private/t30.h:36
Definition: private/t38_terminal.h:111