xine-lib 1.2.13-20230125hg15249
Data Structures | Macros | Typedefs | Functions | Variables
audio_sndio_out.c File Reference
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
#include <math.h>
#include <unistd.h>
#include <inttypes.h>
#include <pthread.h>
#include <sndio.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/audio_out.h>
#include "bswap.h"

Data Structures

struct  sndio_class_t
 
struct  sndio_driver_s
 

Macros

#define GAP_TOLERANCE   AO_MAX_GAP
 
#define PCT_TO_MIDI(p)   (((p) * SIO_MAXVOL + 50) / 100)
 

Typedefs

typedef struct sndio_driver_s sndio_driver_t
 

Functions

static void ao_sndio_onmove_cb (void *addr, int delta)
 
static int ao_sndio_open (ao_driver_t *this_gen, uint32_t bits, uint32_t rate, int mode)
 
static int ao_sndio_num_channels (ao_driver_t *this_gen)
 
static int ao_sndio_bytes_per_frame (ao_driver_t *this_gen)
 
static int ao_sndio_get_gap_tolerance (ao_driver_t *this_gen)
 
static int ao_sndio_write (ao_driver_t *this_gen, int16_t *data, uint32_t num_frames)
 
static int ao_sndio_delay (ao_driver_t *this_gen)
 
static void ao_sndio_close (ao_driver_t *this_gen)
 
static uint32_t ao_sndio_get_capabilities (ao_driver_t *this_gen)
 
static void ao_sndio_exit (ao_driver_t *this_gen)
 
static int ao_sndio_get_property (ao_driver_t *this_gen, int property)
 
static int ao_sndio_set_property (ao_driver_t *this_gen, int property, int value)
 
static int ao_sndio_ctrl (ao_driver_t *this_gen, int cmd,...)
 
static ao_driver_topen_plugin (audio_driver_class_t *class_gen, const void *data)
 
static void dispose_class (audio_driver_class_t *this_gen)
 
static void * init_class (xine_t *xine, const void *data)
 

Variables

static const ao_info_t ao_info_sndio
 
const plugin_info_t xine_plugin_info[] EXPORTED
 

Macro Definition Documentation

◆ GAP_TOLERANCE

#define GAP_TOLERANCE   AO_MAX_GAP

◆ PCT_TO_MIDI

#define PCT_TO_MIDI ( p)    (((p) * SIO_MAXVOL + 50) / 100)

Referenced by ao_sndio_set_property().

Typedef Documentation

◆ sndio_driver_t

Function Documentation

◆ ao_sndio_bytes_per_frame()

static int ao_sndio_bytes_per_frame ( ao_driver_t * this_gen)
static

Referenced by open_plugin().

◆ ao_sndio_close()

static void ao_sndio_close ( ao_driver_t * this_gen)
static

References NULL, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by open_plugin().

◆ ao_sndio_ctrl()

static int ao_sndio_ctrl ( ao_driver_t * this_gen,
int cmd,
... )
static

Referenced by open_plugin().

◆ ao_sndio_delay()

static int ao_sndio_delay ( ao_driver_t * this_gen)
static

Referenced by open_plugin().

◆ ao_sndio_exit()

static void ao_sndio_exit ( ao_driver_t * this_gen)
static

References NULL, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by open_plugin().

◆ ao_sndio_get_capabilities()

static uint32_t ao_sndio_get_capabilities ( ao_driver_t * this_gen)
static

Referenced by open_plugin().

◆ ao_sndio_get_gap_tolerance()

static int ao_sndio_get_gap_tolerance ( ao_driver_t * this_gen)
static

References GAP_TOLERANCE.

Referenced by open_plugin().

◆ ao_sndio_get_property()

static int ao_sndio_get_property ( ao_driver_t * this_gen,
int property )
static

References AO_PROP_MIXER_VOL, and AO_PROP_MUTE_VOL.

Referenced by open_plugin().

◆ ao_sndio_num_channels()

static int ao_sndio_num_channels ( ao_driver_t * this_gen)
static

Referenced by open_plugin().

◆ ao_sndio_onmove_cb()

static void ao_sndio_onmove_cb ( void * addr,
int delta )
static

Referenced by ao_sndio_open().

◆ ao_sndio_open()

static int ao_sndio_open ( ao_driver_t * this_gen,
uint32_t bits,
uint32_t rate,
int mode )
static

◆ ao_sndio_set_property()

static int ao_sndio_set_property ( ao_driver_t * this_gen,
int property,
int value )
static

◆ ao_sndio_write()

static int ao_sndio_write ( ao_driver_t * this_gen,
int16_t * data,
uint32_t num_frames )
static

Referenced by open_plugin().

◆ dispose_class()

static void dispose_class ( audio_driver_class_t * this_gen)
static

Referenced by init_class().

◆ init_class()

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

◆ open_plugin()

static ao_driver_t * open_plugin ( audio_driver_class_t * class_gen,
const void * data )
static

Variable Documentation

◆ ao_info_sndio

const ao_info_t ao_info_sndio
static
Initial value:
= {
.priority = 12,
}

◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED
Initial value:
= {
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
static void * init_class(xine_t *xine, const void *data)
Definition audio_sndio_out.c:371
static const ao_info_t ao_info_sndio
Definition audio_sndio_out.c:392
#define XINE_VERSION_CODE
Definition xine_internal.h:57
NULL
Definition xine_plugin.c:78
#define PLUGIN_NONE
Definition xine_plugin.h:29
#define PLUGIN_AUDIO_OUT
Definition xine_plugin.h:35