|
|
|
@ -504,9 +504,10 @@ static __inline__ int NextFrame( aout_thread_t * p_aout, aout_fifo_t * p_fifo/*, |
|
|
|
{ |
|
|
|
*/ |
|
|
|
/*
|
|
|
|
if ( p_fifo->date[p_fifo->l_next_frame] - p_fifo->date[p_fifo->l_start_frame] > 1000000 ) |
|
|
|
if ( (p_fifo->date[p_fifo->l_next_frame] - p_fifo->date[p_fifo->l_start_frame] > 1000000) || (p_fifo->date[p_fifo->l_next_frame] <= p_fifo->date[p_fifo->l_start_frame]) ) |
|
|
|
{ |
|
|
|
p_fifo->date[p_fifo->l_start_frame] = p_fifo->date[p_fifo->l_next_frame] - ((1000000 * AOUT_FRAME_SIZE * ((mtime_t)((p_fifo->l_next_frame - p_fifo->l_start_frame) & AOUT_FIFO_SIZE)) >> p_fifo->b_stereo) / ((mtime_t)p_fifo->l_rate)); |
|
|
|
fprintf( stderr, "aout debug: p_fifo->l_rate == %li\n", p_fifo->l_rate ); |
|
|
|
p_fifo->date[p_fifo->l_start_frame] = p_fifo->date[p_fifo->l_next_frame] - ((1000000 * ((mtime_t)(p_fifo->l_frame_size * ((p_fifo->l_next_frame - p_fifo->l_start_frame) & AOUT_FIFO_SIZE))) >> p_fifo->b_stereo) / ((mtime_t)p_fifo->l_rate)); |
|
|
|
} |
|
|
|
*/ |
|
|
|
p_fifo->b_next_frame = 1; |
|
|
|
@ -540,6 +541,7 @@ static __inline__ int NextFrame( aout_thread_t * p_aout, aout_fifo_t * p_fifo/*, |
|
|
|
|
|
|
|
l_rate = (long)( ((mtime_t)l_units * 1000000) |
|
|
|
/ (p_fifo->date[p_fifo->l_next_frame] - p_fifo->date[p_fifo->l_start_frame]) ); |
|
|
|
// fprintf( stderr, "aout debug: l_rate == %li\n", l_rate );
|
|
|
|
|
|
|
|
InitializeIncrement( &p_fifo->unit_increment, l_rate, p_aout->dsp.l_rate ); |
|
|
|
|
|
|
|
|