MPD

- Main Page
- Data Structures
- Files

- File List
- Globals

Data Structures | Functions

# src/encoder_plugin.h File Reference

`#include <glib.h>`
`#include <stdbool.h>`
`#include <stddef.h>`

Go to the source code of this file.

## Data Structures
struct | encoder
struct | encoder_plugin
## Functions
static void | encoder_struct_init (struct encoder *encoder, const struct encoder_plugin *plugin)
| Initializes an encoder object.
static struct encoder * | encoder_init (const struct encoder_plugin *plugin, const struct config_param *param, GError **error)
| Creates a new encoder object.
static void | encoder_finish (struct encoder *encoder)
| Frees an encoder object.
static bool | encoder_open (struct encoder *encoder, struct audio_format *audio_format, GError **error)
| Opens an encoder object.
static void | encoder_close (struct encoder *encoder)
| Closes an encoder object.
static bool | encoder_flush (struct encoder *encoder, GError **error)
| Flushes an encoder object, make everything which might currently be buffered available by encoder_read().
static bool | encoder_tag (struct encoder *encoder, const struct tag *tag, GError **error)
| Sends a tag to the encoder.
static bool | encoder_write (struct encoder *encoder, const void *data, size_t length, GError **error)
| Writes raw PCM data to the encoder.
static size_t | encoder_read (struct encoder *encoder, void *dest, size_t length)
| Reads encoded data from the encoder.
static const char * | encoder_get_mime_type (struct encoder *encoder)
| Get mime type of encoded content.

## Function Documentation

static void encoder_close | ( | struct encoder * | encoder | ) | `[inline, static]`

Closes an encoder object.

This disables the encoder, and readies it for reusal by calling encoder_open() again.

Parameters:

  encoder | the encoder

Definition at line 127 of file encoder_plugin.h.

static void encoder_finish | ( | struct encoder * | encoder | ) | `[inline, static]`

Frees an encoder object.

Parameters:

  encoder | the encoder

Definition at line 97 of file encoder_plugin.h.

static bool encoder_flush | ( | struct encoder * | encoder,
|  | GError ** | error
| ) |  | `[inline, static]`

Flushes an encoder object, make everything which might currently be buffered available by encoder_read().

Parameters:

  encoder | the encoder
  error | location to store the error occuring, or NULL to ignore errors.

Returns:
  true on success

Definition at line 142 of file encoder_plugin.h.

static const char* encoder_get_mime_type | ( | struct encoder * | encoder | ) | `[inline, static]`

Get mime type of encoded content.

Parameters:

  plugin | the encoder plugin

Returns:
  an constant string, NULL on failure

Definition at line 204 of file encoder_plugin.h.

static struct encoder* encoder_init | ( | const struct encoder_plugin * | plugin,
|  | const struct config_param * | param,
|  | GError ** | error
| ) |  | `[static, read]`

Creates a new encoder object.

Parameters:

  plugin | the encoder plugin
  param | optional configuration
  error | location to store the error occuring, or NULL to ignore errors.

Returns:
  an encoder object on success, NULL on failure

Definition at line 85 of file encoder_plugin.h.

static bool encoder_open | ( | struct encoder * | encoder,
|  | struct audio_format * | audio_format,
|  | GError ** | error
| ) |  | `[inline, static]`

Opens an encoder object.

You must call this prior to using it. Before you free it, you must call encoder_close(). You may open and close (reuse) one encoder any number of times.

Parameters:

  encoder | the encoder
  audio_format | the encoder's input audio format; the plugin may modify the struct to adapt it to its abilities
  error | location to store the error occuring, or NULL to ignore errors.

Returns:
  true on success

Definition at line 114 of file encoder_plugin.h.

static size_t encoder_read | ( | struct encoder * | encoder,
|  | void * | dest,
|  | size_t | length
| ) |  | `[inline, static]`

Reads encoded data from the encoder.

Parameters:

  encoder | the encoder
  dest | the destination buffer to copy to
  length | the maximum length of the destination buffer

Returns:
  the number of bytes written to #dest

Definition at line 192 of file encoder_plugin.h.

static void encoder_struct_init | ( | struct encoder * | encoder,
|  | const struct encoder_plugin * | plugin
| ) |  | `[inline, static]`

Initializes an encoder object.

This should be used by encoder plugins to initialize their base class.

Definition at line 70 of file encoder_plugin.h.

static bool encoder_tag | ( | struct encoder * | encoder,
|  | const struct tag * | tag,
|  | GError ** | error
| ) |  | `[inline, static]`

Sends a tag to the encoder.

Parameters:

  encoder | the encoder
  tag | the tag object
  error | location to store the error occuring, or NULL to ignore errors.

Returns:
  true on success

Definition at line 159 of file encoder_plugin.h.

static bool encoder_write | ( | struct encoder * | encoder,
|  | const void * | data,
|  | size_t | length,
|  | GError ** | error
| ) |  | `[inline, static]`

Writes raw PCM data to the encoder.

Parameters:

  encoder | the encoder
  data | the buffer containing PCM samples
  length | the length of the buffer in bytes
  error | location to store the error occuring, or NULL to ignore errors.

Returns:
  true on success

Definition at line 177 of file encoder_plugin.h.