* aout_internal.h : internal defines for audio output
*****************************************************************************
* Copyright (C) 2002 VideoLAN
- * $Id: aout_internal.h,v 1.39 2003/03/04 03:27:40 gbazin Exp $
+ * $Id: aout_internal.h,v 1.42 2003/11/16 21:07:30 gbazin Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
/*****************************************************************************
* aout_filter_t : audio output filter
*****************************************************************************/
-typedef struct aout_filter_t
+struct aout_filter_t
{
VLC_COMMON_MEMBERS
struct aout_buffer_t * );
vlc_bool_t b_in_place;
vlc_bool_t b_continuity;
-} aout_filter_t;
+};
/*****************************************************************************
* aout_mixer_t : audio output mixer
/* If b_error == 1, there is no input pipeline. */
vlc_bool_t b_error;
- /* Did we just change the output format ? (expect buffer inconsistencies) */
+
+ /* Did we just change the output format? (expect buffer inconsistencies) */
vlc_bool_t b_changed;
+
+ /* internal caching delay from input */
+ int i_pts_delay;
+ /* desynchronisation delay request by the user */
+ int i_desync;
+
};
/*****************************************************************************
aout_buffer_t * p_buffer );
/* From filters.c : */
-int aout_FiltersCreatePipeline( aout_instance_t * p_aout,
- aout_filter_t ** pp_filters,
- int * pi_nb_filters,
- const audio_sample_format_t * p_input_format,
- const audio_sample_format_t * p_output_format );
-void aout_FiltersDestroyPipeline( aout_instance_t * p_aout,
- aout_filter_t ** pp_filters,
- int i_nb_filters );
-void aout_FiltersHintBuffers( aout_instance_t * p_aout,
- aout_filter_t ** pp_filters,
- int i_nb_filters, aout_alloc_t * p_first_alloc );
-void aout_FiltersPlay( aout_instance_t * p_aout,
- aout_filter_t ** pp_filters,
- int i_nb_filters, aout_buffer_t ** pp_input_buffer );
+VLC_EXPORT( int, aout_FiltersCreatePipeline, ( aout_instance_t * p_aout, aout_filter_t ** pp_filters, int * pi_nb_filters, const audio_sample_format_t * p_input_format, const audio_sample_format_t * p_output_format ) );
+VLC_EXPORT( void, aout_FiltersDestroyPipeline, ( aout_instance_t * p_aout, aout_filter_t ** pp_filters, int i_nb_filters ) );
+VLC_EXPORT( void, aout_FiltersPlay, ( aout_instance_t * p_aout, aout_filter_t ** pp_filters, int i_nb_filters, aout_buffer_t ** pp_input_buffer ) );
+void aout_FiltersHintBuffers( aout_instance_t * p_aout, aout_filter_t ** pp_filters, int i_nb_filters, aout_alloc_t * p_first_alloc );
/* From mixer.c : */
int aout_MixerNew( aout_instance_t * p_aout );