spandsp
0.0.6
|
#include <inttypes.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <time.h>
#include <string.h>
#include "floating_fudge.h"
#include <assert.h>
#include "spandsp/telephony.h"
#include "spandsp/logging.h"
#include "spandsp/queue.h"
#include "spandsp/dc_restore.h"
#include "spandsp/bit_operations.h"
#include "spandsp/async.h"
#include "spandsp/t38_non_ecm_buffer.h"
#include "spandsp/private/t38_non_ecm_buffer.h"
Enumerations | |
enum | { TCF_AT_INITIAL_ALL_ONES = 0, TCF_AT_ALL_ZEROS = 1, IMAGE_WAITING_FOR_FIRST_EOL = 2, IMAGE_IN_PROGRESS = 3 } |
Functions | |
int | t38_non_ecm_buffer_get_bit (void *user_data) |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | t38_non_ecm_buffer_set_mode (t38_non_ecm_buffer_state_t *s, int mode, int min_bits_per_row) |
Set the mode of a T.38 rate adapting non-ECM buffer context. More... | |
t38_non_ecm_buffer_state_t * | t38_non_ecm_buffer_init (t38_non_ecm_buffer_state_t *s, int mode, int min_bits_per_row) |
Initialise a T.38 rate adapting non-ECM buffer context. More... | |
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) |
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.
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. |
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.
s | The buffer context. |
buf | The data buffer to be injected. |
len | The length of the data to be injected. |
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.
s | The buffer context. |
References t38_non_ecm_buffer_state_s::data_finished, t38_non_ecm_buffer_state_s::in_ptr, and t38_non_ecm_buffer_state_s::latest_eol_ptr.
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.
s | The buffer context. |
logging | The logging context. |
References t38_non_ecm_buffer_state_s::in_octets, t38_gateway_state_s::logging, t38_non_ecm_buffer_state_s::min_row_bits_fill_octets, and span_log().
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.
s | The buffer context. |
logging | The logging context. |
References t38_non_ecm_buffer_state_s::flow_control_fill_octets, t38_gateway_state_s::logging, t38_non_ecm_buffer_state_s::out_octets, and span_log().
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.
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. |
References t38_non_ecm_buffer_state_s::image_data_mode, and t38_non_ecm_buffer_state_s::min_bits_per_row.