Commit 9b67ddf0 authored by Cyril Deguet's avatar Cyril Deguet

* alsa.c: pass next_date=0 to aout_OutputNextBuffer if

   snd_pcm_status_get_tstamp() returns zero. I hope someone has a better
   fix because in fact it is not perfect (there are "clicks" with DVDs)
parent f13993e1
...@@ -758,9 +758,15 @@ static void ALSAFill( aout_instance_t * p_aout ) ...@@ -758,9 +758,15 @@ static void ALSAFill( aout_instance_t * p_aout )
snd_pcm_status_get_tstamp( p_status, &ts_next ); snd_pcm_status_get_tstamp( p_status, &ts_next );
next_date = (mtime_t)ts_next.tv_sec * 1000000 + ts_next.tv_usec; next_date = (mtime_t)ts_next.tv_sec * 1000000 + ts_next.tv_usec;
/* With screwed drivers the timestamp is always zero; then we
* pass a null next_date to aout_OutputNextBuffer to ignore
* resampling */
if( next_date )
{
next_date += (mtime_t)snd_pcm_status_get_delay(p_status) next_date += (mtime_t)snd_pcm_status_get_delay(p_status)
* 1000000 / p_aout->output.output.i_rate; * 1000000 / p_aout->output.output.i_rate;
} }
}
p_buffer = aout_OutputNextBuffer( p_aout, next_date, p_buffer = aout_OutputNextBuffer( p_aout, next_date,
(p_aout->output.output.i_format == (p_aout->output.output.i_format ==
......
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