spandsp 0.0.6

v8.h File Reference

Go to the source code of this file.

## Classes
struct | v8_parms_s

## Typedefs
typedef struct v8_parms_s | v8_parms_t
typedef void(* | v8_result_handler_t) (void *user_data, v8_parms_t *result)
typedef struct v8_state_s | v8_state_t

## Enumerations
enum | v8_call_function_e { V8_CALL_TBS = 0 , V8_CALL_H324 = 1 , V8_CALL_V18 = 2 , V8_CALL_T101 = 3 , V8_CALL_T30_TX = 4 , V8_CALL_T30_RX = 5 , V8_CALL_V_SERIES = 6 , V8_CALL_FUNCTION_EXTENSION = 7 }
enum | v8_modulation_e { V8_MOD_V17 = (1 << 0) , V8_MOD_V21 = (1 << 1) , V8_MOD_V22 = (1 << 2) , V8_MOD_V23HDX = (1 << 3) , V8_MOD_V23 = (1 << 4) , V8_MOD_V26BIS = (1 << 5) , V8_MOD_V26TER = (1 << 6) , V8_MOD_V27TER = (1 << 7) , V8_MOD_V29 = (1 << 8) , V8_MOD_V32 = (1 << 9) , V8_MOD_V34HDX = (1 << 10) , V8_MOD_V34 = (1 << 11) , V8_MOD_V90 = (1 << 12) , V8_MOD_V92 = (1 << 13) }
enum | v8_protocol_e { V8_PROTOCOL_NONE = 0 , V8_PROTOCOL_LAPM_V42 = 1 , V8_PROTOCOL_EXTENSION = 7 }
enum | v8_pstn_access_e { V8_PSTN_ACCESS_CALL_DCE_CELLULAR = 0x01 , V8_PSTN_ACCESS_ANSWER_DCE_CELLULAR = 0x02 , V8_PSTN_ACCESS_DCE_ON_DIGITAL = 0x04 }
enum | v8_pcm_modem_availability_e { V8_PSTN_PCM_MODEM_V90_V92_ANALOGUE = 0x01 , V8_PSTN_PCM_MODEM_V90_V92_DIGITAL = 0x02 , V8_PSTN_PCM_MODEM_V91 = 0x04 }
enum | v8_status_e { V8_STATUS_IN_PROGRESS = 0 , V8_STATUS_V8_OFFERED = 1 , V8_STATUS_V8_CALL = 2 , V8_STATUS_NON_V8_CALL = 3 , V8_STATUS_FAILED = 4 }

## Functions
int | v8_restart (v8_state_t *s, int calling_party, v8_parms_t *parms)
v8_state_t * | v8_init (v8_state_t *s, int calling_party, v8_parms_t *parms, v8_result_handler_t result_handler, void *user_data)
| Initialise a V.8 context.
int | v8_release (v8_state_t *s)
| Release a V.8 context.
int | v8_free (v8_state_t *s)
| Release a V.8 context.
logging_state_t * | v8_get_logging_state (v8_state_t *s)
| SPAN_DECLARE_NONSTD (int) v8_tx(v8_state_t *s
| Generate a block of V.8 audio samples.
void | v8_log_supported_modulations (v8_state_t *s, int modulation_schemes)
| Log the list of supported modulations.
const char * | v8_call_function_to_str (int call_function)
const char * | v8_modulation_to_str (int modulation_scheme)
const char * | v8_protocol_to_str (int protocol)
const char * | v8_pstn_access_to_str (int pstn_access)
const char * | v8_nsf_to_str (int nsf)
const char * | v8_pcm_modem_availability_to_str (int pcm_modem_availability)
const char * | v8_t66_to_str (int t66)

## Variables
int16_t * | amp
int16_t int | max_len
const int16_t int | len

## Enumeration Type Documentation

## ◆ v8_status_e

enum v8_status_e

Enumerator
V8_STATUS_IN_PROGRESS | V.8 negotiation is in progress.
V8_STATUS_V8_OFFERED | V.8 has been offered by the other (calling) party.
V8_STATUS_V8_CALL | V.8 has been successfully negotiated. Note that this only means the V.8 message exchange has successfully completed. The actual exchanged parameters must be checked, to see if the call can proceed properly.
V8_STATUS_NON_V8_CALL | A non-V.8 is being received.
V8_STATUS_FAILED | V.8 negotiation failed.

## Function Documentation

## ◆ SPAN_DECLARE_NONSTD()

SPAN_DECLARE_NONSTD | ( | int |  | ) |

Generate a block of V.8 audio samples.

Get the next bit of data from a T.38 rate adapting non-ECM buffer context.

Get a bit of received non-ECM image data.

Get the next bit of a transmitted serial bit stream.

Process a block of received V.8 audio samples.

Generate a block of V.8 audio samples.

Parameters

  s | The V.8 context.
  amp | The audio sample buffer.
  max_len | The number of samples to be generated.

Returns
  The number of samples actually generated.

Process a block of received V.8 audio samples.

Parameters

  s | The V.8 context.
  amp | The audio sample buffer.
  len | The number of samples in the buffer.

## ◆ v8_free()

int v8_free | ( | v8_state_t * | s | ) |

Release a V.8 context.

Free a V.8 context.

Parameters

  s | The V.8 context.

Returns
  0 for OK.

References queue_free().

## ◆ v8_init()

v8_state_t * v8_init | ( | v8_state_t * | s,
|  | int | calling_party,
|  | v8_parms_t * | parms,
|  | v8_result_handler_t | result_handler,
|  | void * | user_data )

Initialise a V.8 context.

Initialise a V.8 context.

Parameters

  s | The V.8 context.
  calling_party | TRUE if caller mode, else answerer mode.
  parms | The allowed parameters for the call.
  result_handler | The callback routine used to handle the results of negotiation.
  user_data | An opaque pointer passed to the result_handler routine.

Returns
  A pointer to the V.8 context, or NULL if there was a problem.

References v8_state_s::logging, v8_state_s::result_handler, and v8_state_s::result_handler_user_data.

Referenced by fax_init(), and t31_init().

## ◆ v8_log_supported_modulations()

void v8_log_supported_modulations | ( | v8_state_t * | s,
|  | int | modulation_schemes )

Log the list of supported modulations.

Log the list of supported modulations.

Parameters

  s | The V.8 context.
  modulation_schemes | The list of supported modulations.

References v8_state_s::logging, and span_log().

## ◆ v8_release()

int v8_release | ( | v8_state_t * | s | ) |

Release a V.8 context.

Release a V.8 context.

Parameters

  s | The V.8 context.

Returns
  0 for OK.

References queue_free().