[vlc-devel] [PATCH] input/stream_demux: pace control

Frédéric Yhuel yhuelf at gmail.com
Sat Oct 27 11:22:58 CEST 2012


On Sat, Oct 27, 2012 at 11:14 AM, Frédéric Yhuel <yhuelf at gmail.com> wrote:
> ---
>  src/input/stream_demux.c |    7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/src/input/stream_demux.c b/src/input/stream_demux.c
> index 5f05217..169c874 100644
> --- a/src/input/stream_demux.c
> +++ b/src/input/stream_demux.c
> @@ -25,8 +25,10 @@
>  # include "config.h"
>  #endif
>  #include <limits.h>
> +#include <assert.h>
>
>  #include "demux.h"
> +#include "es_out.h"
>  #include <libvlc.h>
>  #include <vlc_codec.h>
>
> @@ -313,6 +315,7 @@ static void* DStreamThread( void *obj )
>      stream_t *s = (stream_t *)obj;
>      stream_sys_t *p_sys = s->p_sys;
>      demux_t *p_demux;
> +    mtime_t i_delta = 0;
>
>      /* Create the demuxer */
>      p_demux = demux_New( s, s->p_input, "", p_sys->psz_name, "", s, p_sys->out,
> @@ -350,6 +353,10 @@ static void* DStreamThread( void *obj )
>              next_update = mdate() + (CLOCK_FREQ / 4);
>          }
>
> +        i_delta = es_out_GetWakeup( p_demux->out ) - mdate();
> +        if( i_delta >= VLC_HARD_MIN_SLEEP )
> +            msleep( i_delta );
> +
>          if( demux_Demux( p_demux ) <= 0 )
>              break;
>      }
> --
> 1.7.9.5

Hello,

I doubt this patch will be accepted, but it solves the pace control
problem we've been discuss on this ML, with Rémi and Denis (cf thread
"How to slow down the demuxer?")

In anticipation of your reviews,

Frédéric



More information about the vlc-devel mailing list