* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+
+#if !defined( __LIBVLC__ )
+ #error You are not libvlc or one of its plugins. You cannot include this file
+#endif
+
#ifndef _VLC_AOUT_H
#define _VLC_AOUT_H 1
size_t i_size, i_nb_bytes;
unsigned int i_nb_samples;
mtime_t start_date, end_date;
+ vlc_bool_t b_discontinuity; /* Set on discontinuity (for non pcm stream) */
struct aout_buffer_t * p_next;
void (*pf_release)( aout_buffer_t * );
};
-#define aout_BufferFree( p_buffer ) \
+#define aout_BufferFree( p_buffer ) do { \
if( p_buffer != NULL && (p_buffer)->i_alloc_type == AOUT_ALLOC_HEAP ) \
{ \
free( p_buffer ); \
} \
- p_buffer = NULL;
+ p_buffer = NULL; } while(0)
/* Size of a frame for S/PDIF output. */
#define AOUT_SPDIF_SIZE 6144
/* Number of samples in an A/52 frame. */
#define A52_FRAME_NB 1536
+/* Max input rate factor (1/4 -> 4) */
+#define AOUT_MAX_INPUT_RATE (4)
+
/** date incrementation helper structure without long-term
* rounding errors
*/
/* Mixer information */
byte_t * p_first_byte_to_mix;
+ audio_replay_gain_t replay_gain;
+ float f_multiplier;
/* If b_restart == 1, the input pipeline will be re-created. */
vlc_bool_t b_restart;
/* Did we just change the output format? (expect buffer inconsistencies) */
vlc_bool_t b_changed;
+ /* last rate from input */
+ int i_last_input_rate;
/* internal caching delay from input */
int i_pts_delay;
/* desynchronisation delay request by the user */
VLC_EXPORT( int, __aout_VolumeDown, ( vlc_object_t *, int, audio_volume_t * ) );
#define aout_VolumeMute(a, b) __aout_VolumeMute(VLC_OBJECT(a), b)
VLC_EXPORT( int, __aout_VolumeMute, ( vlc_object_t *, audio_volume_t * ) );
-VLC_EXPORT( int, aout_Restart, ( aout_instance_t * p_aout ) );
VLC_EXPORT( int, aout_FindAndRestart, ( vlc_object_t *, const char *, vlc_value_t, vlc_value_t, void * ) );
VLC_EXPORT( int, aout_ChannelsRestart, ( vlc_object_t *, const char *, vlc_value_t, vlc_value_t, void * ) );