xine-lib: xine-lib-1.2.13/src/audio_out/audio_fusionsound_out.c File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Typedefs | Functions | Variables
audio_fusionsound_out.c File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include "xine.h"`
`#include <xine/xine_internal.h>`
`#include <xine/audio_out.h>`
`#include <xine/xineutils.h>`
`#include <directfb.h>`
`#include <fusionsound.h>`
`#include <fusionsound_version.h>`

## Data Structures
struct | fusionsound_driver_s
struct | fusionsound_class_t

## Macros
#define | LOG_MODULE "audio_fusionsound_out"
#define | LOG_VERBOSE
#define | VERSION_CODE(M, m, r) (((M) * 1000) + ((m) * 100) + (r))
#define | FUSIONSOUND_VERSION_CODE
#define | FS_MAX_CHANNELS 2
#define | AO_OUT_FS_IFACE_VERSION 9
#define | GAP_TOLERANCE 5000

## Typedefs
typedef struct fusionsound_driver_s | fusionsound_driver_t

## Functions
static int | ao_fusionsound_open (ao_driver_t *ao_driver, uint32_t bits, uint32_t rate, int mode)
static int | ao_fusionsound_num_channels (ao_driver_t *ao_driver)
static int | ao_fusionsound_bytes_per_frame (ao_driver_t *ao_driver)
static int | ao_fusionsound_delay (ao_driver_t *ao_driver)
static int | ao_fusionsound_get_gap_tolerance (ao_driver_t *ao_driver)
static int | ao_fusionsound_write (ao_driver_t *ao_driver, int16_t *data, uint32_t num_frames)
static void | ao_fusionsound_close (ao_driver_t *ao_driver)
static uint32_t | ao_fusionsound_get_capabilities (ao_driver_t *ao_driver)
static void | ao_fusionsound_exit (ao_driver_t *ao_driver)
static int | ao_fusionsound_get_property (ao_driver_t *ao_driver, int property)
static int | ao_fusionsound_set_property (ao_driver_t *ao_driver, int property, int value)
static int | ao_fusionsound_control (ao_driver_t *ao_driver, int cmd,...)
static ao_driver_t * | open_plugin (audio_driver_class_t *ao_class, const void *data)
static void * | init_class (xine_t *xine, const void *data)

## Variables
static const ao_info_t | ao_info_fusionsound
const plugin_info_t xine_plugin_info[] | EXPORTED

## Macro Definition Documentation

## ◆ AO_OUT_FS_IFACE_VERSION

#define AO_OUT_FS_IFACE_VERSION 9

## ◆ FS_MAX_CHANNELS

#define FS_MAX_CHANNELS 2

## ◆ FUSIONSOUND_VERSION_CODE

#define FUSIONSOUND_VERSION_CODE

Value:
VERSION_CODE( FUSIONSOUND_MAJOR_VERSION, \
FUSIONSOUND_MINOR_VERSION, \
FUSIONSOUND_MICRO_VERSION )
VERSION_CODE
#define VERSION_CODE(M, m, r)
Definition audio_fusionsound_out.c:46

## ◆ GAP_TOLERANCE

#define GAP_TOLERANCE 5000

Referenced by ao_fusionsound_get_gap_tolerance().

## ◆ LOG_MODULE

#define LOG_MODULE "audio_fusionsound_out"

## ◆ LOG_VERBOSE

#define LOG_VERBOSE

## ◆ VERSION_CODE

#define VERSION_CODE | ( |  | M,
|  |  | m,
|  |  | r ) (((M) * 1000) + ((m) * 100) + (r))

## Typedef Documentation

## ◆ fusionsound_driver_t

typedef struct fusionsound_driver_s fusionsound_driver_t

## Function Documentation

## ◆ ao_fusionsound_bytes_per_frame()

static int ao_fusionsound_bytes_per_frame | ( | ao_driver_t * | ao_driver | ) |
| static

Referenced by open_plugin().

## ◆ ao_fusionsound_close()

static void ao_fusionsound_close | ( | ao_driver_t * | ao_driver | ) |
| static

References NULL.

Referenced by open_plugin().

## ◆ ao_fusionsound_control()

static int ao_fusionsound_control | ( | ao_driver_t * | ao_driver,
|  | int | cmd,
|  |  | ... )
| static

References AO_CTRL_FLUSH_BUFFERS, AO_CTRL_PLAY_PAUSE, AO_CTRL_PLAY_RESUME, and lprintf.

Referenced by open_plugin().

## ◆ ao_fusionsound_delay()

static int ao_fusionsound_delay | ( | ao_driver_t * | ao_driver | ) |
| static

Referenced by open_plugin().

## ◆ ao_fusionsound_exit()

static void ao_fusionsound_exit | ( | ao_driver_t * | ao_driver | ) |
| static

Referenced by open_plugin().

## ◆ ao_fusionsound_get_capabilities()

static uint32_t ao_fusionsound_get_capabilities | ( | ao_driver_t * | ao_driver | ) |
| static

References AO_CAP_16BITS, AO_CAP_24BITS, AO_CAP_8BITS, AO_CAP_FLOAT32, AO_CAP_MIXER_VOL, AO_CAP_MODE_4_1CHANNEL, AO_CAP_MODE_4CHANNEL, AO_CAP_MODE_5_1CHANNEL, AO_CAP_MODE_5CHANNEL, AO_CAP_MODE_MONO, AO_CAP_MODE_STEREO, and AO_CAP_MUTE_VOL.

Referenced by open_plugin().

## ◆ ao_fusionsound_get_gap_tolerance()

static int ao_fusionsound_get_gap_tolerance | ( | ao_driver_t * | ao_driver | ) |
| static

References GAP_TOLERANCE.

Referenced by open_plugin().

## ◆ ao_fusionsound_get_property()

static int ao_fusionsound_get_property | ( | ao_driver_t * | ao_driver,
|  | int | property )
| static

References AO_PROP_AMP, AO_PROP_AMP_MUTE, AO_PROP_MIXER_VOL, AO_PROP_MUTE_VOL, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by open_plugin().

## ◆ ao_fusionsound_num_channels()

static int ao_fusionsound_num_channels | ( | ao_driver_t * | ao_driver | ) |
| static

Referenced by open_plugin().

## ◆ ao_fusionsound_open()

static int ao_fusionsound_open | ( | ao_driver_t * | ao_driver,
|  | uint32_t | bits,
|  | uint32_t | rate,
|  | int | mode )
| static

References AO_CAP_MODE_4_1CHANNEL, AO_CAP_MODE_4CHANNEL, AO_CAP_MODE_5_1CHANNEL, AO_CAP_MODE_5CHANNEL, AO_CAP_MODE_MONO, AO_CAP_MODE_STEREO, bits, lprintf, mode(), NULL, XINE_VERBOSITY_LOG, and xprintf.

Referenced by open_plugin().

## ◆ ao_fusionsound_set_property()

static int ao_fusionsound_set_property | ( | ao_driver_t * | ao_driver,
|  | int | property,
|  | int | value )
| static

References AO_PROP_AMP, AO_PROP_AMP_MUTE, AO_PROP_MIXER_VOL, AO_PROP_MUTE_VOL, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by open_plugin().

## ◆ ao_fusionsound_write()

static int ao_fusionsound_write | ( | ao_driver_t * | ao_driver,
|  | int16_t * | data,
|  | uint32_t | num_frames )
| static

References lprintf, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.

Referenced by open_plugin().

## ◆ init_class()

static void * init_class | ( | xine_t * | xine,
|  | const void * | data )
| static

References default_audio_driver_class_dispose, N_, NULL, open_plugin(), fusionsound_class_t::xine, XINE_VERBOSITY_LOG, XINE_VERBOSITY_NONE, and xprintf.

## ◆ open_plugin()

static ao_driver_t * open_plugin | ( | audio_driver_class_t * | ao_class,
|  | const void * | data )
| static

References fusionsound_class_t::ao_class, ao_fusionsound_bytes_per_frame(), ao_fusionsound_close(), ao_fusionsound_control(), ao_fusionsound_delay(), ao_fusionsound_exit(), ao_fusionsound_get_capabilities(), ao_fusionsound_get_gap_tolerance(), ao_fusionsound_get_property(), ao_fusionsound_num_channels(), ao_fusionsound_open(), ao_fusionsound_set_property(), ao_fusionsound_write(), NULL, fusionsound_class_t::xine, XINE_VERBOSITY_LOG, and xprintf.

Referenced by init_class().

## Variable Documentation

## ◆ ao_info_fusionsound

const ao_info_t ao_info_fusionsound
| static

Initial value:
= {
.priority = 4,
}

## ◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED

Initial value:
= {
{ PLUGIN_AUDIO_OUT, 9 , "FusionSound",
XINE_VERSION_CODE, &ao_info_fusionsound, init_class },
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
init_class
static void * init_class(xine_t *xine, const void *data)
Definition audio_fusionsound_out.c:470
ao_info_fusionsound
static const ao_info_t ao_info_fusionsound
Definition audio_fusionsound_out.c:500
XINE_VERSION_CODE
#define XINE_VERSION_CODE
Definition xine_internal.h:57
NULL
NULL
Definition xine_plugin.c:78
PLUGIN_NONE
#define PLUGIN_NONE
Definition xine_plugin.h:29
PLUGIN_AUDIO_OUT
#define PLUGIN_AUDIO_OUT
Definition xine_plugin.h:35