silence_gen.c File Reference
`#include <inttypes.h>`
`#include <stdlib.h>`
`#include <stdio.h>`
`#include <fcntl.h>`
`#include <string.h>`
`#include "floating_fudge.h"`
`#include <assert.h>`
`#include <limits.h>`
`#include "spandsp/telephony.h"`
`#include "spandsp/logging.h"`
`#include "spandsp/async.h"`
`#include "spandsp/silence_gen.h"`
`#include "spandsp/private/silence_gen.h"`

## Functions

int | silence_gen (silence_gen_state_t *s, int16_t *amp, int max_len)
void | silence_gen_always (silence_gen_state_t *s)
| Set a silence generator context to output continuous silence.
void | silence_gen_set (silence_gen_state_t *s, int silent_samples)
| Set a silence generator context to output a specified period of silence.
void | silence_gen_alter (silence_gen_state_t *s, int silent_samples)
| Alter the period of a silence generator context by a specified amount.
int | silence_gen_remainder (silence_gen_state_t *s)
| Find how long a silence generator context has to run.
int | silence_gen_generated (silence_gen_state_t *s)
| Find the total silence generated to date.
void | silence_gen_status_handler (silence_gen_state_t *s, modem_status_func_t handler, void *user_data)
| Change the status reporting function associated with a silence generator context.
silence_gen_state_t * | silence_gen_init (silence_gen_state_t *s, int silent_samples)
| Initialise a timed silence generator context.
int | silence_gen_release (silence_gen_state_t *s)
int | silence_gen_free (silence_gen_state_t *s)
int | span_dummy_rx (void *user_data, const int16_t amp[], int len)
int | span_dummy_mod (void *user_data, int16_t amp[], int len)
| Dummy signal modifier callback.
int | span_dummy_rx_fillin (void *user_data, int len)

## Function Documentation

## silence_gen_alter()

void silence_gen_alter | ( | silence_gen_state_t * | s,
|  | int | silent_samples )

Alter the period of a silence generator context by a specified amount.

Alter the period of a silence generator context by a specified amount.

Parameters

  s | The silence generator context.
  silent_samples | The number of samples to change the setting by. A positive number increases the duration. A negative number reduces it. The duration is prevented from going negative.

## silence_gen_always()

void silence_gen_always | ( | silence_gen_state_t * | s | ) |

Set a silence generator context to output continuous silence.

Set a silence generator context to output continuous silence.

Parameters

  s | The silence generator context.

## silence_gen_generated()

int silence_gen_generated | ( | silence_gen_state_t * | s | ) |

Find the total silence generated to date.

Find the total silence generated to date by a silence generator context.

Parameters

  s | The silence generator context.

Returns
  The number of samples generated.

## silence_gen_init()

silence_gen_state_t * silence_gen_init | ( | silence_gen_state_t * | s,
|  | int | silent_samples )

Initialise a timed silence generator context.

Initialise a timed silence generator context.

Parameters

  s | The silence generator context.
  silent_samples | The initial number of samples to set the silence to.

Returns
  A pointer to the silence generator context.

## silence_gen_remainder()

int silence_gen_remainder | ( | silence_gen_state_t * | s | ) |

Find how long a silence generator context has to run.

Find how long a silence generator context has to run.

Parameters

  s | The silence generator context.

Returns
  The number of samples remaining.

## silence_gen_set()

void silence_gen_set | ( | silence_gen_state_t * | s,
|  | int | silent_samples )

Set a silence generator context to output a specified period of silence.

Set a silence generator context to output a specified period of silence.

Parameters

  s | The silence generator context.
  silent_samples | The number of samples to be generated.

## silence_gen_status_handler()

void silence_gen_status_handler | ( | silence_gen_state_t * | s,
|  | modem_status_func_t | handler,
|  | void * | user_data )

Change the status reporting function associated with a silence generator context.

Change the status reporting function associated with a silence generator context.

Parameters

  s | The silence generator context.
  handler | The callback routine used to report status changes.
  user_data | An opaque pointer.

References silence_gen_state_s::status_handler, and silence_gen_state_s::status_user_data.

## span_dummy_mod()

int span_dummy_mod | ( | void * | user_data,
|  | int16_t | amp[],
|  | int | len )

Dummy signal modifier callback.

A dummy routine to use as a signal modifier callback, when we aren't really trying to process the signal. It just returns without affecting anything.

Parameters

  user_data | The context.
  amp | The signal.buffer
  len | The length of the signal buffer

Returns
  0.