* aout_internal.h : internal defines for audio output
*****************************************************************************
* Copyright (C) 2002 VideoLAN
- * $Id: aout_internal.h,v 1.33 2002/11/13 20:51:04 sam Exp $
+ * $Id: aout_internal.h,v 1.40 2003/03/06 23:10:11 gbazin Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
struct aout_buffer_t *,
struct aout_buffer_t * );
vlc_bool_t b_in_place;
- vlc_bool_t b_reinit;
+ vlc_bool_t b_continuity;
} aout_filter_t;
/*****************************************************************************
void (* pf_do_work)( struct aout_instance_t *,
struct aout_buffer_t * );
- /* If b_error == 1, there is no mixer nor audio output pipeline. */
+ /* If b_error == 1, there is no mixer. */
vlc_bool_t b_error;
/* Multiplier used to raise or lower the volume of the sound in
* software. Beware, this creates sound distortion and should be avoided
/* Current volume for the output - it's just a placeholder, the plug-in
* may or may not use it. */
audio_volume_t i_volume;
+
+ /* If b_error == 1, there is no audio output pipeline. */
+ vlc_bool_t b_error;
} aout_output_t;
/*****************************************************************************
/* Output plug-in */
aout_output_t output;
+
+ int i_pts_delay; /* internal caching */
};
/*****************************************************************************
/* From mixer.c : */
int aout_MixerNew( aout_instance_t * p_aout );
-int aout_MixerDelete( aout_instance_t * p_aout );
+void aout_MixerDelete( aout_instance_t * p_aout );
void aout_MixerRun( aout_instance_t * p_aout );
int aout_MixerMultiplierSet( aout_instance_t * p_aout, float f_multiplier );
int aout_MixerMultiplierGet( aout_instance_t * p_aout, float * pf_multiplier );
VLC_EXPORT( aout_buffer_t *, aout_OutputNextBuffer, ( aout_instance_t *, mtime_t, vlc_bool_t ) );
/* From common.c : */
-VLC_EXPORT( int, aout_FormatNbChannels, ( audio_sample_format_t * p_format ) );
+VLC_EXPORT( unsigned int, aout_FormatNbChannels, ( const audio_sample_format_t * p_format ) );
VLC_EXPORT( void, aout_FormatPrepare, ( audio_sample_format_t * p_format ) );
VLC_EXPORT( void, aout_FormatPrint, ( aout_instance_t * p_aout, const char * psz_text, const audio_sample_format_t * p_format ) );
VLC_EXPORT( void, aout_FormatsPrint, ( aout_instance_t * p_aout, const char * psz_text, const audio_sample_format_t * p_format1, const audio_sample_format_t * p_format2 ) );
+VLC_EXPORT( const char *, aout_FormatPrintChannels, ( const audio_sample_format_t * ) );
void aout_FifoInit( aout_instance_t *, aout_fifo_t *, uint32_t );
mtime_t aout_FifoNextStart( aout_instance_t *, aout_fifo_t * );
void aout_FifoPush( aout_instance_t *, aout_fifo_t *, aout_buffer_t * );