* aout_pcm.c: PCM audio output functions
*****************************************************************************
* Copyright (C) 1999-2002 VideoLAN
- * $Id: aout_pcm.c,v 1.6 2002/05/18 17:47:47 sam Exp $
+ * $Id: aout_pcm.c,v 1.7 2002/05/19 00:34:54 massiot Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Cyril Deguet <asmax@via.ecp.fr>
/* Biggest difference allowed between scheduled playing date and actual date
(in microseconds) */
-#define MAX_DELTA 10000
+#define MAX_DELTA 50000
/*****************************************************************************
* Local prototypes
case AOUT_FMT_S8:
i_units = p_aout->pf_getbufinfo( p_aout, i_buffer_limit );
- p_aout->date = mdate() + ((((mtime_t)((i_units + 4 *
+ p_aout->date = mdate() + ((((mtime_t)((i_units +
p_aout->i_latency) / p_aout->i_channels)) * 1000000) /
((mtime_t)p_aout->i_rate)) + p_main->i_desync;
case AOUT_FMT_S16_BE:
i_units = p_aout->pf_getbufinfo( p_aout, i_buffer_limit * 2 ) / 2;
- p_aout->date = mdate() + ((((mtime_t)((i_units + 4 *
- p_aout->i_latency) / (2 * p_aout->i_channels))) * 1000000) /
+ p_aout->date = mdate() + ((((mtime_t)((i_units +
+ p_aout->i_latency / 2) / p_aout->i_channels)) * 1000000) /
((mtime_t)p_aout->i_rate)) + p_main->i_desync;
p_aout->pf_play( p_aout, (byte_t *)p_aout->buffer,
if( i_units > (i_buffer_limit/2) )
msleep( (i_units - i_buffer_limit/2) * AOUT_BUFFER_DURATION
/ i_buffer_limit );
-
}
vlc_mutex_lock( &p_aout->fifos_lock );
mtime_t aout_date )
{
int i_units, i_units_dist, i_rate;
- u64 i_delta;
+ mtime_t i_delta;
/* We take the lock */
vlc_mutex_lock( &p_fifo->data_lock );