v8.h File Reference

Go to the source code of this file.

Classes

struct  v8_parms_s

Typedefs

typedef v8_parms_s v8_parms_t
typedef void( v8_result_handler_t )(void *user_data, v8_parms_t *result)
typedef 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_tv8_get_logging_state (v8_state_t *s)
 SPAN_DECLARE_NONSTD (int) v8_tx(v8_state_t *s
 Get the next bit of data from a T.38 rate adapting non-ECM buffer context.
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 * amp
const int16_t int len


Detailed Description


Enumeration Type Documentation

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

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

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.

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.

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.

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.

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.


Generated on Fri Nov 18 15:02:26 2011 for spandsp by  doxygen 1.4.7