t38_non_ecm_buffer.h File Reference
Go to the source code of this file.
Defines |
#define | _SPANDSP_T38_NON_ECM_BUFFER_H_ |
#define | T38_NON_ECM_TX_BUF_LEN 16384 |
Typedefs |
typedef struct
t38_non_ecm_buffer_state_s | t38_non_ecm_buffer_state_t |
| A flow controlled non-ECM image data buffer, for buffering T.38 to analogue modem data.
|
Functions |
t38_non_ecm_buffer_state_t * | t38_non_ecm_buffer_init (t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits) |
| Initialise a T.38 rate adapting non-ECM buffer context.
|
int | t38_non_ecm_buffer_release (t38_non_ecm_buffer_state_t *s) |
int | t38_non_ecm_buffer_free (t38_non_ecm_buffer_state_t *s) |
void | t38_non_ecm_buffer_set_mode (t38_non_ecm_buffer_state_t *s, int mode, int min_row_bits) |
| Set the mode of a T.38 rate adapting non-ECM buffer context.
|
void | t38_non_ecm_buffer_inject (t38_non_ecm_buffer_state_t *s, const uint8_t *buf, int len) |
| Inject data to T.38 rate adapting non-ECM buffer context.
|
void | t38_non_ecm_buffer_push (t38_non_ecm_buffer_state_t *s) |
| Inform a T.38 rate adapting non-ECM buffer context that the incoming data has finished, and the contents of the buffer should be played out as quickly as possible.
|
void | t38_non_ecm_buffer_report_input_status (t38_non_ecm_buffer_state_t *s, logging_state_t *logging) |
| Report the input status of a T.38 rate adapting non-ECM buffer context to the specified logging context.
|
void | t38_non_ecm_buffer_report_output_status (t38_non_ecm_buffer_state_t *s, logging_state_t *logging) |
| Report the output status of a T.38 rate adapting non-ECM buffer context to the specified logging context.
|
int | t38_non_ecm_buffer_get_bit (void *user_data) |
| Get the next bit of data from a T.38 rate adapting non-ECM buffer context.
|
Detailed Description
Define Documentation
#define T38_NON_ECM_TX_BUF_LEN 16384 |
Function Documentation
int t38_non_ecm_buffer_get_bit |
( |
void * |
user_data |
) |
|
Get the next bit of data from a T.38 rate adapting non-ECM buffer context.
- Parameters:
-
| user_data | The buffer context, cast to a void pointer. |
- Returns:
- The next bit, or one of the values indicating a change of modem status.
References t38_non_ecm_buffer_state_s::bit_no, t38_non_ecm_buffer_state_s::data, t38_non_ecm_buffer_state_s::data_finished, t38_non_ecm_buffer_state_s::flow_control_fill_octet, t38_non_ecm_buffer_state_s::flow_control_fill_octets, t38_non_ecm_buffer_state_s::latest_eol_ptr, t38_non_ecm_buffer_state_s::octet, t38_non_ecm_buffer_state_s::out_octets, t38_non_ecm_buffer_state_s::out_ptr, and T38_NON_ECM_TX_BUF_LEN.
Initialise a T.38 rate adapting non-ECM buffer context.
- Parameters:
-
| s | The buffer context. |
| mode | TRUE for image data mode, or FALSE for TCF mode. |
| bits | The minimum number of bits per FAX image row. |
- Returns:
- A pointer to the buffer context, or NULL if there was a problem.
Referenced by t38_gateway_init().
Inject data to T.38 rate adapting non-ECM buffer context.
- Parameters:
-
| s | The buffer context. |
| buf | The data buffer to be injected. |
| len | The length of the data to be injected. |
References T38_NON_ECM_TX_BUF_LEN.
Inform a T.38 rate adapting non-ECM buffer context that the incoming data has finished, and the contents of the buffer should be played out as quickly as possible.
- Parameters:
-
Report the input status of a T.38 rate adapting non-ECM buffer context to the specified logging context.
- Parameters:
-
| s | The buffer context. |
| logging | The logging context. |
Report the output status of a T.38 rate adapting non-ECM buffer context to the specified logging context.
- Parameters:
-
| s | The buffer context. |
| logging | The logging context. |
Set the mode of a T.38 rate adapting non-ECM buffer context.
- Parameters:
-
| s | The buffer context. |
| mode | TRUE for image data mode, or FALSE for TCF mode. |
| bits | The minimum number of bits per FAX image row. |