t38_non_ecm_buffer.c File Reference

#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"

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.
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_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.
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.
t38_non_ecm_buffer_state_tt38_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)

Detailed Description


Function Documentation

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.

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().

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.

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.

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.

Parameters:
s The buffer context.

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.

Parameters:
s The buffer context.
logging The logging context.

References 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.

Parameters:
s The buffer context.
logging The logging context.

References 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.

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.


Generated on Tue Aug 4 03:36:23 2009 for spandsp by  doxygen 1.5.9