X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Faudio_output%2Fmixer.c;h=519e39596201f5d7bd96eb270e25ec24d7c15c46;hb=e9694509281cd3378759235433f576f2bfdb72ba;hp=972f12e44b0dd196d54bc14ca802aa9380133a23;hpb=9b52a805d106bf9fa8dc9de4d628cecf84c51410;p=vlc diff --git a/src/audio_output/mixer.c b/src/audio_output/mixer.c index 972f12e44b..519e395962 100644 --- a/src/audio_output/mixer.c +++ b/src/audio_output/mixer.c @@ -274,8 +274,13 @@ static int MixBuffer( aout_instance_t * p_aout ) /* Round to the nearest multiple */ i_nb_bytes /= p_aout->mixer.mixer.i_bytes_per_frame; i_nb_bytes *= p_aout->mixer.mixer.i_bytes_per_frame; - - if( i_nb_bytes < 0 ) break; /* FIXME: reset state properly */ + if( i_nb_bytes < 0 ) + { + /* Is it really the best way to do it ? */ + aout_FifoSet( p_aout, &p_aout->output.fifo, 0 ); + aout_DateSet( &exact_start_date, 0 ); + break; + } p_input->p_first_byte_to_mix = p_buffer->p_buffer + i_nb_bytes; }