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,
p_aout->output.fifo.pp_last = &p_aout->output.fifo.p_first;
}
if ( !b_can_sleek &&
( (p_buffer->i_pts - start_date > AOUT_PTS_TOLERANCE)
|| (start_date - p_buffer->i_pts > AOUT_PTS_TOLERANCE) ) )
if( !b_can_sleek )
{
/* Try to compensate the drift by doing some resampling. */
int i;
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 );
aout_unlock_output_fifo( p_aout );
aout_lock_input_fifos( p_aout );
for ( i = 0; i < p_aout->i_nb_inputs; i++ )
if( difference > AOUT_PTS_TOLERANCE
|| difference < -AOUT_PTS_TOLERANCE )
{
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_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;
}
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