From: Antoine Cellerier Date: Fri, 17 Jul 2009 12:57:00 +0000 (+0200) Subject: Fix video delay when using alsa or oss as slaves X-Git-Tag: 1.1.0-ff~4938 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=3d9fc4219740a4f826c77d37db4ed2688c5ef73d;p=vlc Fix video delay when using alsa or oss as slaves Decrease poll delay from 0.5 to 0.01 seconds in alsa in oss, else the audio input would block the video input when used as an input slave. Other accesses likely to be used as input slaves might need to be changed. An easier solution (module-wise, harder core wise) would be to run each slave in its own thread. --- diff --git a/modules/access/alsa.c b/modules/access/alsa.c index 69b7e7fde3..67b5afa5d0 100644 --- a/modules/access/alsa.c +++ b/modules/access/alsa.c @@ -312,7 +312,7 @@ static int Demux( demux_t *p_demux ) } /* Wait for data */ - int i_wait = snd_pcm_wait( p_sys->p_alsa_pcm, 500 ); + int i_wait = snd_pcm_wait( p_sys->p_alsa_pcm, 10 ); /* See poll() comment in oss.c */ switch( i_wait ) { case 1: diff --git a/modules/access/oss.c b/modules/access/oss.c index 4d8c746d52..7ef664d574 100644 --- a/modules/access/oss.c +++ b/modules/access/oss.c @@ -272,7 +272,7 @@ static int Demux( demux_t *p_demux ) } /* Wait for data */ - if( poll( &fd, 1, 500 ) ) /* Timeout after 0.5 seconds since I don't know if pf_demux can be blocking. */ + if( poll( &fd, 1, 10 ) ) /* Timeout after 0.01 seconds. Bigger delays are an issue when used with/as an input-slave since all the inputs run in the same thread. */ { if( fd.revents & (POLLIN|POLLPRI) ) {