Commit 97c0744f authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

aout: do not compute the same difference three times

parent bce9264e
...@@ -341,30 +341,27 @@ aout_buffer_t * aout_OutputNextBuffer( aout_instance_t * p_aout, ...@@ -341,30 +341,27 @@ aout_buffer_t * aout_OutputNextBuffer( aout_instance_t * p_aout,
p_aout->output.fifo.pp_last = &p_aout->output.fifo.p_first; p_aout->output.fifo.pp_last = &p_aout->output.fifo.p_first;
} }
if ( !b_can_sleek && if( !b_can_sleek )
( (p_buffer->i_pts - start_date > AOUT_PTS_TOLERANCE)
|| (start_date - p_buffer->i_pts > AOUT_PTS_TOLERANCE) ) )
{ {
/* Try to compensate the drift by doing some resampling. */
int i;
mtime_t difference = start_date - p_buffer->i_pts; mtime_t difference = start_date - p_buffer->i_pts;
msg_Warn( p_aout, "output date isn't PTS date, requesting "
"resampling (%"PRId64")", difference );
aout_FifoMoveDates( p_aout, &p_aout->output.fifo, difference ); if( difference > AOUT_PTS_TOLERANCE
aout_unlock_output_fifo( p_aout ); || difference < -AOUT_PTS_TOLERANCE )
aout_lock_input_fifos( p_aout );
for ( i = 0; i < p_aout->i_nb_inputs; i++ )
{ {
aout_fifo_t * p_fifo = &p_aout->pp_inputs[i]->mixer.fifo; /* Try to compensate the drift by doing some resampling. */
msg_Warn( p_aout, "output date isn't PTS date, requesting "
"resampling (%"PRId64")", difference );
aout_FifoMoveDates( p_aout, &p_aout->output.fifo, difference );
aout_unlock_output_fifo( p_aout );
aout_lock_input_fifos( p_aout );
aout_fifo_t *p_fifo = &p_aout->pp_inputs[0]->mixer.fifo;
aout_FifoMoveDates( p_aout, p_fifo, difference ); aout_FifoMoveDates( p_aout, p_fifo, difference );
aout_unlock_input_fifos( p_aout );
return p_buffer;
} }
aout_unlock_input_fifos( p_aout );
} }
else aout_unlock_output_fifo( p_aout );
aout_unlock_output_fifo( p_aout );
return p_buffer; return p_buffer;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment