X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Faudio_output.h;h=71309dd2a1094609c354ecd0d3db81b8756ede0f;hb=4f551c2bf0d189405e96cbbb8234ed3edd9d6d3e;hp=acde929a4824fb574126ab82b1376a0598e3616b;hpb=d719269bc12e17e076163f9ebcf96926b0a7e41f;p=vlc diff --git a/include/audio_output.h b/include/audio_output.h index acde929a48..71309dd2a1 100644 --- a/include/audio_output.h +++ b/include/audio_output.h @@ -2,9 +2,9 @@ * audio_output.h : audio output thread interface ***************************************************************************** * Copyright (C) 1999, 2000 VideoLAN + * $Id: audio_output.h,v 1.31 2001/03/21 13:42:33 sam Exp $ * - * Authors: - * Michel Kaempf + * Authors: Michel Kaempf * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -49,7 +49,7 @@ * order to avoid rounding problems and heavy computations, as the function * that handles this structure only uses additions. *****************************************************************************/ -typedef struct +typedef struct aout_increment_s { /* The remainder is used to keep track of the fractional part of the * index. */ @@ -73,11 +73,12 @@ typedef struct /***************************************************************************** * aout_fifo_t *****************************************************************************/ -typedef struct +typedef struct aout_fifo_s { /* See the fifo types below */ int i_type; boolean_t b_die; + int i_fifo; /* Just to keep track of the fifo index */ int i_channels; boolean_t b_stereo; @@ -120,16 +121,13 @@ typedef struct /***************************************************************************** * aout_thread_t : audio output thread descriptor *****************************************************************************/ -typedef int (aout_sys_open_t) ( p_aout_thread_t p_aout ); -typedef int (aout_sys_reset_t) ( p_aout_thread_t p_aout ); -typedef int (aout_sys_setformat_t) ( p_aout_thread_t p_aout ); -typedef int (aout_sys_setchannels_t) ( p_aout_thread_t p_aout ); -typedef int (aout_sys_setrate_t) ( p_aout_thread_t p_aout ); -typedef long (aout_sys_getbufinfo_t) ( p_aout_thread_t p_aout, - long l_buffer_limit ); -typedef void (aout_sys_playsamples_t) ( p_aout_thread_t p_aout, - byte_t *buffer, int i_size ); -typedef void (aout_sys_close_t) ( p_aout_thread_t p_aout ); +typedef int (aout_open_t) ( p_aout_thread_t p_aout ); +typedef int (aout_setformat_t) ( p_aout_thread_t p_aout ); +typedef long (aout_getbufinfo_t) ( p_aout_thread_t p_aout, + long l_buffer_limit ); +typedef void (aout_play_t) ( p_aout_thread_t p_aout, + byte_t *buffer, int i_size ); +typedef void (aout_close_t) ( p_aout_thread_t p_aout ); typedef struct aout_thread_s { @@ -140,15 +138,13 @@ typedef struct aout_thread_s vlc_mutex_t fifos_lock; aout_fifo_t fifo[ AOUT_MAX_FIFOS ]; - /* Plugins */ - aout_sys_open_t * p_sys_open; - aout_sys_reset_t * p_sys_reset; - aout_sys_setformat_t * p_sys_setformat; - aout_sys_setchannels_t * p_sys_setchannels; - aout_sys_setrate_t * p_sys_setrate; - aout_sys_getbufinfo_t * p_sys_getbufinfo; - aout_sys_playsamples_t * p_sys_playsamples; - aout_sys_close_t * p_sys_close; + /* Plugin used and shortcuts to access its capabilities */ + struct module_s * p_module; + aout_open_t * pf_open; + aout_setformat_t * pf_setformat; + aout_getbufinfo_t * pf_getbufinfo; + aout_play_t * pf_play; + aout_close_t * pf_close; void * buffer; /* The s32 buffer is used to mix all the audio fifos together before @@ -197,18 +193,21 @@ typedef struct aout_thread_s #define AOUT_FMT_U16_LE 0x00000080 /* Little endian U16 */ #define AOUT_FMT_U16_BE 0x00000100 /* Big endian U16 */ -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define AOUT_FMT_S16_NE AOUT_FMT_S16_LE -#elif __BYTE_ORDER == __BIG_ENDIAN +#ifdef WORDS_BIGENDIAN #define AOUT_FMT_S16_NE AOUT_FMT_S16_BE +#else +#define AOUT_FMT_S16_NE AOUT_FMT_S16_LE #endif /***************************************************************************** * Prototypes *****************************************************************************/ aout_thread_t * aout_CreateThread ( int *pi_status ); -void aout_DestroyThread ( aout_thread_t *p_aout, int *pi_status ); +void aout_DestroyThread ( aout_thread_t *p_aout, + int *pi_status ); - -aout_fifo_t * aout_CreateFifo ( aout_thread_t *p_aout, aout_fifo_t *p_fifo ); +aout_fifo_t * aout_CreateFifo ( aout_thread_t *p_aout, + aout_fifo_t *p_fifo ); void aout_DestroyFifo ( aout_fifo_t *p_fifo ); +void aout_FreeFifo ( aout_fifo_t *p_fifo ); +