gavl: Volume control

# Volume control
[Audio]

Simple volume control. More...

## Typedefs
typedef struct gavl_volume_control_s | gavl_volume_control_t
| Opaque structure for a volume control.
## Functions
gavl_volume_control_t * | gavl_volume_control_create ()
| Create volume control.
void | gavl_volume_control_destroy (gavl_volume_control_t *ctrl)
| Destroys a volume control and frees all associated memory.
void | gavl_volume_control_set_format (gavl_volume_control_t *ctrl, const gavl_audio_format_t *format)
| Set format for a volume control.
void | gavl_volume_control_set_volume (gavl_volume_control_t *ctrl, float volume)
| Set volume for a volume control.
void | gavl_volume_control_apply (gavl_volume_control_t *ctrl, gavl_audio_frame_t *frame)
| Apply a volume control for an audio frame.

## Detailed Description

Simple volume control.

This is a very simple software volume control.

## Typedef Documentation

typedef struct gavl_volume_control_s gavl_volume_control_t

Opaque structure for a volume control.

You don't want to know what's inside.

## Function Documentation

gavl_volume_control_t* gavl_volume_control_create | ( |  | ) |

Create volume control.

Returns:
  A newly allocated volume control

void gavl_volume_control_destroy | ( | gavl_volume_control_t * | ctrl | ) |

Destroys a volume control and frees all associated memory.

Parameters:

  | ctrl | A volume control

void gavl_volume_control_set_format | ( | gavl_volume_control_t * | ctrl,
|  | const gavl_audio_format_t * | format |
| ) |  |  |

Set format for a volume control.

Parameters:

  | ctrl | A volume control
  | format | The format subsequent frames will be passed with This function can be called multiple times with one instance

void gavl_volume_control_set_volume | ( | gavl_volume_control_t * | ctrl,
|  | float | volume |
| ) |  |  |

Set volume for a volume control.

Parameters:

  | ctrl | A volume control
  | volume | Volume in dB (must be <= 0.0 to prevent overflows)

void gavl_volume_control_apply | ( | gavl_volume_control_t * | ctrl,
|  | gavl_audio_frame_t * | frame |
| ) |  |  |

Apply a volume control for an audio frame.

Parameters:

  | ctrl | A volume control
  | frame | An audio frame