xine-lib: xine-lib-1.2.13/include/xine/audio_out.h File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Typedefs | Functions
audio_out.h File Reference
`#include <xine/attributes.h>`
`#include <xine/os_types.h>`
`#include <xine/xineutils.h>`
`#include <xine/buffer.h>`

Go to the source code of this file.

## Data Structures
struct | ao_driver_s
struct | ao_format_s
struct | audio_buffer_s
struct | xine_audio_port_s
struct | audio_driver_class_s

## Macros
#define | AUDIO_OUT_IFACE_VERSION 9
#define | default_audio_driver_class_dispose (void (*) (audio_driver_class_t *this_gen))free
#define | AO_CAP_NOCAP 0x00000000 /* driver has no capabilities */
#define | AO_CAP_MODE_A52 0x00000001 /* driver supports A/52 output */
#define | AO_CAP_MODE_AC5 0x00000002 /* driver supports AC5 output */
#define | AO_CAP_MODE_MONO 0x00000004 /* driver supports mono output */
#define | AO_CAP_MODE_STEREO 0x00000008 /* driver supports stereo output */
#define | AO_CAP_MODE_4CHANNEL 0x00000010 /* driver supports 4 channels */
#define | AO_CAP_MODE_4_1CHANNEL 0x00000020 /* driver supports 4.1 channels */
#define | AO_CAP_MODE_5CHANNEL 0x00000040 /* driver supports 5 channels */
#define | AO_CAP_MODE_5_1CHANNEL 0x00000080 /* driver supports 5.1 channels */
#define | AO_CAP_MIXER_VOL 0x00000100 /* driver supports mixer control */
#define | AO_CAP_PCM_VOL 0x00000200 /* driver supports pcm control */
#define | AO_CAP_MUTE_VOL 0x00000400 /* driver can mute volume */
#define | AO_CAP_8BITS 0x00000800 /* driver support 8-bit samples */
#define | AO_CAP_16BITS 0x00001000 /* driver support 16-bit samples */
#define | AO_CAP_24BITS 0x00002000 /* driver support 24-bit samples */
#define | AO_CAP_FLOAT32 0x00004000 /* driver support 32-bit samples. i.e. Floats */
#define | AO_CAP_NO_UNPAUSE
#define | AO_PROP_MIXER_VOL 0
#define | AO_PROP_PCM_VOL 1
#define | AO_PROP_MUTE_VOL 2
#define | AO_PROP_COMPRESSOR 3
#define | AO_PROP_DISCARD_BUFFERS 4
#define | AO_PROP_BUFS_IN_FIFO 5 /* read-only */
#define | AO_PROP_AMP 6 /* amplifier */
#define | AO_PROP_EQ_30HZ 7 /* equalizer */
#define | AO_PROP_EQ_60HZ 8 /* equalizer */
#define | AO_PROP_EQ_125HZ 9 /* equalizer */
#define | AO_PROP_EQ_250HZ 10 /* equalizer */
#define | AO_PROP_EQ_500HZ 11 /* equalizer */
#define | AO_PROP_EQ_1000HZ 12 /* equalizer */
#define | AO_PROP_EQ_2000HZ 13 /* equalizer */
#define | AO_PROP_EQ_4000HZ 14 /* equalizer */
#define | AO_PROP_EQ_8000HZ 15 /* equalizer */
#define | AO_PROP_EQ_16000HZ 16 /* equalizer */
#define | AO_PROP_CLOSE_DEVICE 17 /* force closing audio device */
#define | AO_PROP_AMP_MUTE 18 /* amplifier mute */
#define | AO_PROP_NUM_STREAMS 19 /* read-only */
#define | AO_PROP_CLOCK_SPEED 20 /* inform audio_out that speed has changed */
#define | AO_PROP_BUFS_TOTAL 21 /* read-only */
#define | AO_PROP_BUFS_FREE 22 /* read-only */
#define | AO_PROP_DRIVER_DELAY 23 /* read-only */
#define | AO_PROP_PTS_IN_FIFO 24 /* read only */
#define | AO_NUM_PROPERTIES 25
#define | AO_CTRL_PLAY_PAUSE 0
#define | AO_CTRL_PLAY_RESUME 1
#define | AO_CTRL_FLUSH_BUFFERS 2
#define | AO_MAX_GAP 15000

## Typedefs
typedef struct ao_driver_s | ao_driver_t
typedef struct ao_format_s | ao_format_t
typedef struct audio_fifo_s | audio_fifo_t
typedef struct audio_buffer_s | audio_buffer_t
typedef struct audio_driver_class_s | audio_driver_class_t

## Functions
xine_audio_port_t * | _x_ao_new_port (xine_t *xine, ao_driver_t *driver, int grab_only)
| Initialise the audio_out sync routines.
int | _x_ao_mode2channels (int mode)
int | _x_ao_channels2mode (int channels)

## Macro Definition Documentation

## ◆ AO_CAP_16BITS

#define AO_CAP_16BITS 0x00001000 /* driver support 16-bit samples */

Referenced by _alsa_query_dev(), _opensles_get_capabilities(), alsa_apply_speaker_arrangement(), ao_coreaudio_open(), ao_fusionsound_get_capabilities(), ao_sun_open_plugin(), open_plugin(), open_plugin(), and test_capabilities().

## ◆ AO_CAP_24BITS

#define AO_CAP_24BITS 0x00002000 /* driver support 24-bit samples */

Referenced by _alsa_query_dev(), alsa_apply_speaker_arrangement(), ao_fusionsound_get_capabilities(), and test_capabilities().

## ◆ AO_CAP_8BITS

#define AO_CAP_8BITS 0x00000800 /* driver support 8-bit samples */

Referenced by _alsa_query_dev(), alsa_apply_speaker_arrangement(), ao_change_settings(), ao_fusionsound_get_capabilities(), ao_sun_open_plugin(), open_plugin(), open_plugin(), open_plugin(), and test_capabilities().

## ◆ AO_CAP_FLOAT32

#define AO_CAP_FLOAT32 0x00004000 /* driver support 32-bit samples. i.e. Floats */

Referenced by _alsa_query_dev(), alsa_apply_speaker_arrangement(), ao_fusionsound_get_capabilities(), open_jack_plugin(), open_plugin(), test_capabilities(), and upmix_port_open().

## ◆ AO_CAP_MIXER_VOL

#define AO_CAP_MIXER_VOL 0x00000100 /* driver supports mixer control */

Referenced by _opensles_get_capabilities(), _x_ao_new_port(), ao_alsa_mixer_init(), ao_coreaudio_open(), ao_directx_get_capabilities(), ao_exit(), ao_fusionsound_get_capabilities(), open_jack_plugin(), open_plugin(), open_plugin(), open_plugin(), and open_plugin().

## ◆ AO_CAP_MODE_4_1CHANNEL

#define AO_CAP_MODE_4_1CHANNEL 0x00000020 /* driver supports 4.1 channels */

Referenced by _x_ao_mode2channels(), a52dec_decode_frame(), alsa_apply_speaker_arrangement(), ao_alsa_open(), ao_fusionsound_get_capabilities(), ao_fusionsound_open(), ao_jack_open_int(), ao_pulse_open(), ao_sndio_open(), dts_decode_frame(), faad_map_channels(), ff_map_channels(), jack_speaker_arrangement_cb(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), oss_speaker_arrangement_cb(), and prepare_samples().

## ◆ AO_CAP_MODE_4CHANNEL

#define AO_CAP_MODE_4CHANNEL 0x00000010 /* driver supports 4 channels */

Referenced by _x_ao_channels2mode(), _x_ao_mode2channels(), a52dec_decode_frame(), alsa_apply_speaker_arrangement(), ao_alsa_open(), ao_directx_open(), ao_fusionsound_get_capabilities(), ao_fusionsound_open(), ao_jack_open_int(), ao_oss_open(), ao_pulse_open(), ao_sndio_open(), dts_decode_frame(), faad_map_channels(), ff_map_channels(), jack_speaker_arrangement_cb(), mode2channels(), open_jack_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), oss_speaker_arrangement_cb(), prepare_samples(), and test_capabilities().

## ◆ AO_CAP_MODE_5_1CHANNEL

#define AO_CAP_MODE_5_1CHANNEL 0x00000080 /* driver supports 5.1 channels */

Referenced by _x_ao_channels2mode(), _x_ao_mode2channels(), a52dec_decode_frame(), alsa_apply_speaker_arrangement(), ao_alsa_open(), ao_directx_open(), ao_fusionsound_get_capabilities(), ao_fusionsound_open(), ao_jack_open_int(), ao_oss_open(), ao_pulse_open(), ao_sndio_open(), dts_decode_frame(), faad_map_channels(), faad_open_output(), ff_map_channels(), jack_speaker_arrangement_cb(), mode2channels(), open_jack_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), oss_speaker_arrangement_cb(), prepare_samples(), test_capabilities(), upmix_port_open(), and upmix_port_put_buffer().

## ◆ AO_CAP_MODE_5CHANNEL

#define AO_CAP_MODE_5CHANNEL 0x00000040 /* driver supports 5 channels */

Referenced by _x_ao_channels2mode(), _x_ao_mode2channels(), a52dec_decode_frame(), alsa_apply_speaker_arrangement(), ao_alsa_open(), ao_directx_open(), ao_fusionsound_get_capabilities(), ao_fusionsound_open(), ao_jack_open_int(), ao_oss_open(), ao_pulse_open(), ao_sndio_open(), dts_decode_frame(), faad_map_channels(), ff_map_channels(), jack_speaker_arrangement_cb(), mode2channels(), open_jack_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), oss_speaker_arrangement_cb(), prepare_samples(), and test_capabilities().

## ◆ AO_CAP_MODE_A52

#define AO_CAP_MODE_A52 0x00000001 /* driver supports A/52 output */

Referenced by _alsa_query_dev(), a52dec_decode_frame(), alsa_apply_speaker_arrangement(), ao_alsa_open(), ao_change_settings(), ao_directx_open(), ao_fill_gap(), ao_jack_open_int(), ao_oss_open(), ao_pulse_open(), ao_resend_init(), ao_update_ptoffs(), open_plugin(), open_plugin(), open_plugin(), oss_speaker_arrangement_cb(), and prepare_samples().

## ◆ AO_CAP_MODE_AC5

#define AO_CAP_MODE_AC5 0x00000002 /* driver supports AC5 output */

Referenced by _alsa_query_dev(), alsa_apply_speaker_arrangement(), ao_alsa_open(), ao_change_settings(), ao_directx_open(), ao_fill_gap(), ao_jack_open_int(), ao_oss_open(), ao_pulse_open(), ao_resend_init(), ao_update_ptoffs(), dts_decode_frame(), open_plugin(), open_plugin(), open_plugin(), oss_speaker_arrangement_cb(), and prepare_samples().

## ◆ AO_CAP_MODE_MONO

#define AO_CAP_MODE_MONO 0x00000004 /* driver supports mono output */

Referenced by _opensles_get_capabilities(), _opensles_open(), _x_ao_channels2mode(), _x_ao_mode2channels(), a52dec_decode_frame(), alsa_apply_speaker_arrangement(), ao_alsa_open(), ao_change_settings(), ao_coreaudio_open(), ao_directx_open(), ao_esd_open(), ao_file_open(), ao_file_open_plugin(), ao_fusionsound_get_capabilities(), ao_fusionsound_open(), ao_get_capabilities(), ao_jack_open_int(), ao_none_open(), ao_none_open_plugin(), ao_oss_open(), ao_pulse_open(), ao_sndio_open(), ao_sun_open_plugin(), dts_decode_frame(), faad_map_channels(), faad_open_output(), ff_map_channels(), fooaudio_decode_data(), gsm610_decode_data(), init_codec(), mad_decode_data(), mode2channels(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), prepare_samples(), test_capabilities(), vorbis_decode_data(), and wavpack_decode_data().

## ◆ AO_CAP_MODE_STEREO

#define AO_CAP_MODE_STEREO 0x00000008 /* driver supports stereo output */

Referenced by _opensles_get_capabilities(), _opensles_open(), _x_ao_channels2mode(), _x_ao_mode2channels(), a52dec_decode_frame(), alsa_apply_speaker_arrangement(), ao_alsa_open(), ao_change_settings(), ao_coreaudio_open(), ao_directx_get_capabilities(), ao_directx_open(), ao_esd_open(), ao_file_open(), ao_file_open_plugin(), ao_fusionsound_get_capabilities(), ao_fusionsound_open(), ao_get_capabilities(), ao_jack_open_int(), ao_none_open(), ao_none_open_plugin(), ao_oss_open(), ao_pulse_open(), ao_sndio_open(), ao_sun_open(), ao_sun_open_plugin(), dts_decode_frame(), faad_map_channels(), faad_open_output(), ff_map_channels(), init_codec(), mad_decode_data(), mode2channels(), open_jack_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), open_plugin(), prepare_samples(), test_capabilities(), upmix_mono_port_open(), and upmix_mono_port_put_buffer().

## ◆ AO_CAP_MUTE_VOL

#define AO_CAP_MUTE_VOL 0x00000400 /* driver can mute volume */

Referenced by _opensles_get_capabilities(), ao_alsa_mixer_init(), ao_directx_get_capabilities(), ao_fusionsound_get_capabilities(), ao_sun_open_plugin(), open_jack_plugin(), open_plugin(), open_plugin(), open_plugin(), and open_plugin().

## ◆ AO_CAP_NO_UNPAUSE

#define AO_CAP_NO_UNPAUSE

Value:
0x00008000 /* driver can not resume after pause.
* please resend some frames instead. */

Referenced by ao_alsa_open(), ao_loop(), ao_resend_init(), ao_speed_change_cb(), and open_plugin().

## ◆ AO_CAP_NOCAP

#define AO_CAP_NOCAP 0x00000000 /* driver has no capabilities */

Referenced by _x_ao_channels2mode().

## ◆ AO_CAP_PCM_VOL

#define AO_CAP_PCM_VOL 0x00000200 /* driver supports pcm control */

Referenced by _x_ao_new_port(), ao_alsa_mixer_init(), ao_directx_get_capabilities(), ao_exit(), ao_sun_open_plugin(), open_plugin(), and open_plugin().

## ◆ AO_CTRL_FLUSH_BUFFERS

#define AO_CTRL_FLUSH_BUFFERS 2

Referenced by _opensles_ctrl(), ao_alsa_ctrl(), ao_coreaudio_ctrl(), ao_directx_control(), ao_dx2_control(), ao_esd_ctrl(), ao_file_ctrl(), ao_flush_driver(), ao_fusionsound_control(), ao_jack_ctrl(), ao_none_ctrl(), ao_oss_ctrl(), ao_pulse_ctrl(), ao_speed_change_cb(), and ao_sun_ctrl().

## ◆ AO_CTRL_PLAY_PAUSE

#define AO_CTRL_PLAY_PAUSE 0

Referenced by _opensles_ctrl(), ao_alsa_ctrl(), ao_coreaudio_ctrl(), ao_directx_control(), ao_dx2_control(), ao_esd_ctrl(), ao_file_ctrl(), ao_fusionsound_control(), ao_jack_ctrl(), ao_none_ctrl(), ao_oss_ctrl(), ao_pulse_ctrl(), ao_speed_change_cb(), and ao_sun_ctrl().

## ◆ AO_CTRL_PLAY_RESUME

#define AO_CTRL_PLAY_RESUME 1

Referenced by _opensles_ctrl(), ao_alsa_ctrl(), ao_coreaudio_ctrl(), ao_directx_control(), ao_dx2_control(), ao_esd_ctrl(), ao_file_ctrl(), ao_fusionsound_control(), ao_jack_ctrl(), ao_none_ctrl(), ao_oss_ctrl(), ao_pulse_ctrl(), ao_speed_change_cb(), and ao_sun_ctrl().

## ◆ AO_MAX_GAP

#define AO_MAX_GAP 15000

Referenced by _opensles_get_gap_tolerance(), ao_loop(), and resample_rate_adjust().

## ◆ AO_NUM_PROPERTIES

#define AO_NUM_PROPERTIES 25

## ◆ AO_PROP_AMP

#define AO_PROP_AMP 6 /* amplifier */

Referenced by ao_fusionsound_get_property(), ao_fusionsound_set_property(), ao_get_property(), ao_set_property(), send_audio_amp_event_internal(), xine_get_param(), and xine_set_param().

## ◆ AO_PROP_AMP_MUTE

#define AO_PROP_AMP_MUTE 18 /* amplifier mute */

Referenced by ao_fusionsound_get_property(), ao_fusionsound_set_property(), ao_get_property(), ao_set_property(), send_audio_amp_event_internal(), xine_get_param(), and xine_set_param().

## ◆ AO_PROP_BUFS_FREE

#define AO_PROP_BUFS_FREE 22 /* read-only */

Referenced by _x_query_buffers(), and ao_get_property().

## ◆ AO_PROP_BUFS_IN_FIFO

#define AO_PROP_BUFS_IN_FIFO 5 /* read-only */

Referenced by _x_query_buffer_usage(), _x_query_buffers(), ao_get_property(), and audio_decoder_loop().

## ◆ AO_PROP_BUFS_TOTAL

#define AO_PROP_BUFS_TOTAL 21 /* read-only */

Referenced by _x_query_buffers(), and ao_get_property().

## ◆ AO_PROP_CLOCK_SPEED

#define AO_PROP_CLOCK_SPEED 20 /* inform audio_out that speed has changed */

Referenced by ao_get_property(), ao_set_property(), and set_speed_internal().

## ◆ AO_PROP_CLOSE_DEVICE

#define AO_PROP_CLOSE_DEVICE 17 /* force closing audio device */

Referenced by ao_set_property(), and xine_set_param().

## ◆ AO_PROP_COMPRESSOR

#define AO_PROP_COMPRESSOR 3

Referenced by ao_get_property(), ao_set_property(), xine_get_param(), and xine_set_param().

## ◆ AO_PROP_DISCARD_BUFFERS

#define AO_PROP_DISCARD_BUFFERS 4

Referenced by _x_demux_flush_engine(), ao_get_property(), ao_set_property(), close_internal(), play_internal(), and xine_stop().

## ◆ AO_PROP_DRIVER_DELAY

#define AO_PROP_DRIVER_DELAY 23 /* read-only */

Referenced by ao_get_property().

## ◆ AO_PROP_EQ_1000HZ

#define AO_PROP_EQ_1000HZ 12 /* equalizer */

Referenced by ao_get_property(), and ao_set_property().

## ◆ AO_PROP_EQ_125HZ

#define AO_PROP_EQ_125HZ 9 /* equalizer */

Referenced by ao_get_property(), and ao_set_property().

## ◆ AO_PROP_EQ_16000HZ

#define AO_PROP_EQ_16000HZ 16 /* equalizer */

Referenced by ao_get_property(), and ao_set_property().

## ◆ AO_PROP_EQ_2000HZ

#define AO_PROP_EQ_2000HZ 13 /* equalizer */

Referenced by ao_get_property(), and ao_set_property().

## ◆ AO_PROP_EQ_250HZ

#define AO_PROP_EQ_250HZ 10 /* equalizer */

Referenced by ao_get_property(), and ao_set_property().

## ◆ AO_PROP_EQ_30HZ

#define AO_PROP_EQ_30HZ 7 /* equalizer */

Referenced by ao_get_property(), ao_set_property(), xine_get_param(), and xine_set_param().

## ◆ AO_PROP_EQ_4000HZ

#define AO_PROP_EQ_4000HZ 14 /* equalizer */

Referenced by ao_get_property(), and ao_set_property().

## ◆ AO_PROP_EQ_500HZ

#define AO_PROP_EQ_500HZ 11 /* equalizer */

Referenced by ao_get_property(), and ao_set_property().

## ◆ AO_PROP_EQ_60HZ

#define AO_PROP_EQ_60HZ 8 /* equalizer */

Referenced by ao_get_property(), and ao_set_property().

## ◆ AO_PROP_EQ_8000HZ

#define AO_PROP_EQ_8000HZ 15 /* equalizer */

Referenced by ao_get_property(), and ao_set_property().

## ◆ AO_PROP_MIXER_VOL

#define AO_PROP_MIXER_VOL 0

Referenced by _opensles_get_property(), _opensles_set_property(), _x_ao_new_port(), ao_alsa_get_property(), ao_alsa_set_property(), ao_coreaudio_get_property(), ao_coreaudio_set_property(), ao_directx_set_property(), ao_dx2_get_property(), ao_dx2_set_property(), ao_esd_get_property(), ao_esd_set_property(), ao_exit(), ao_fusionsound_get_property(), ao_fusionsound_set_property(), ao_jack_get_property(), ao_jack_set_property(), ao_oss_get_property(), ao_oss_set_property(), ao_pulse_get_property(), ao_pulse_open(), ao_pulse_set_property(), ao_sndio_get_property(), ao_sndio_set_property(), ao_sun_get_property(), ao_sun_open_plugin(), ao_sun_set_property(), open_plugin(), xine_get_param(), and xine_set_param().

## ◆ AO_PROP_MUTE_VOL

#define AO_PROP_MUTE_VOL 2

Referenced by _opensles_get_property(), _opensles_set_property(), ao_alsa_get_property(), ao_alsa_set_property(), ao_coreaudio_get_property(), ao_coreaudio_set_property(), ao_directx_set_property(), ao_dx2_get_property(), ao_dx2_set_property(), ao_esd_get_property(), ao_esd_set_property(), ao_fusionsound_get_property(), ao_fusionsound_set_property(), ao_jack_get_property(), ao_jack_set_property(), ao_oss_get_property(), ao_oss_set_property(), ao_pulse_get_property(), ao_pulse_set_property(), ao_sndio_get_property(), ao_sndio_set_property(), ao_sun_get_property(), ao_sun_set_property(), xine_get_param(), and xine_set_param().

## ◆ AO_PROP_NUM_STREAMS

#define AO_PROP_NUM_STREAMS 19 /* read-only */

Referenced by ao_get_property(), and audio_decoder_loop().

## ◆ AO_PROP_PCM_VOL

#define AO_PROP_PCM_VOL 1

Referenced by _opensles_get_property(), _opensles_set_property(), _x_ao_new_port(), ao_alsa_get_property(), ao_alsa_set_property(), ao_coreaudio_get_property(), ao_coreaudio_set_property(), ao_directx_set_property(), ao_dx2_get_property(), ao_dx2_set_property(), ao_exit(), ao_jack_get_property(), ao_jack_set_property(), ao_oss_get_property(), ao_oss_set_property(), ao_pulse_get_property(), ao_pulse_set_property(), ao_sun_get_property(), ao_sun_set_property(), and open_plugin().

## ◆ AO_PROP_PTS_IN_FIFO

#define AO_PROP_PTS_IN_FIFO 24 /* read only */

Referenced by ao_get_property(), ao_set_property(), nbc_delay_unpause(), nbc_get_cb(), and nbc_put_cb().

## ◆ AUDIO_OUT_IFACE_VERSION

#define AUDIO_OUT_IFACE_VERSION 9

## ◆ default_audio_driver_class_dispose

#define default_audio_driver_class_dispose (void (*) (audio_driver_class_t *this_gen))free

Referenced by _opensles_init_class(), ao_file_init_class(), ao_none_init_class(), ao_sun_init_class(), init_class(), init_class(), init_class(), init_class(), init_class(), init_class(), init_class(), and init_class().

## Typedef Documentation

## ◆ ao_driver_t

typedef struct ao_driver_s ao_driver_t

## ◆ ao_format_t

typedef struct ao_format_s ao_format_t

## ◆ audio_buffer_t

typedef struct audio_buffer_s audio_buffer_t

## ◆ audio_driver_class_t

typedef struct audio_driver_class_s audio_driver_class_t

## ◆ audio_fifo_t

typedef struct audio_fifo_s audio_fifo_t

## Function Documentation

## ◆ _x_ao_channels2mode()

int _x_ao_channels2mode | ( | int | channels | ) |

References AO_CAP_MODE_4CHANNEL, AO_CAP_MODE_5_1CHANNEL, AO_CAP_MODE_5CHANNEL, AO_CAP_MODE_MONO, AO_CAP_MODE_STEREO, and AO_CAP_NOCAP.

Referenced by dvaudio_decode_data(), flac_decode_data(), lpcm_decode_data(), mpc_decode_data(), nsf_decode_data(), qta_init_driver(), speex_decode_data(), vorbis_decode_data(), w32a_init_audio(), and wavpack_decode_data().

## ◆ _x_ao_mode2channels()

int _x_ao_mode2channels | ( | int | mode | ) |

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, and mode().

Referenced by ao_open(), ao_pulse_open(), ao_update_resample_factor(), fftgraph_port_open(), fftscope_port_open(), fooviz_port_open(), goom_port_open(), oscope_port_open(), stretch_port_put_buffer(), tdaan_port_open(), upmix_mono_port_open(), upmix_port_open(), and vdr_audio_port_open().

## ◆ _x_ao_new_port()

xine_audio_port_t * _x_ao_new_port | ( | xine_t * | xine,
|  | ao_driver_t * | driver,
|  | int | grab_only )

Initialise the audio_out sync routines.

References _, AO_CAP_MIXER_VOL, AO_CAP_PCM_VOL, ao_close(), ao_control(), ao_exit(), ao_flush(), ao_free_fifo_open(), ao_gap_ring_reset(), ao_get_buffer(), ao_get_capabilities(), ao_get_property(), ao_loop(), ao_open(), ao_out_fifo_open(), AO_PROP_MIXER_VOL, AO_PROP_PCM_VOL, ao_put_buffer(), ao_set_property(), ao_speed_change_cb(), ao_status(), ao_streams_open(), ao_ticket_revoked(), ao_update_av_fine_sync_method(), ao_update_av_sync_method(), ao_update_ptoffs(), ao_update_slow_fast(), AUDIO_BUF_SIZE, xine_s::clock, xine_s::config, EI_RING_SIZE, audio_buffer_s::extra_info, ao_driver_s::get_capabilities, ao_driver_s::get_gap_tolerance, audio_buffer_s::mem, audio_buffer_s::mem_size, audio_buffer_s::next, NULL, NUM_AUDIO_BUFFERS, config_values_s::register_bool, config_values_s::register_enum, config_values_s::register_num, config_values_s::register_range, metronom_clock_s::register_speed_change_callback, ao_driver_s::set_property, metronom_clock_s::speed, ao_driver_s::write, xine_free_aligned(), xine_mallocz_aligned(), XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, XINE_VERBOSITY_NONE, and xprintf.

Referenced by xine_new_framegrab_audio_port(), and xine_open_audio_driver().