[FFmpeg-cvslog] r25117 - trunk/libavutil/log.c

Måns Rullgård mans
Tue Sep 14 02:28:19 CEST 2010


michael <subversion at mplayerhq.hu> writes:

> Author: michael
> Date: Tue Sep 14 02:17:58 2010
> New Revision: 25117
>
> Log:
> Limit av_log repeat detection to terminals so as to avoid filling files with
> lots of mess.
>
> Modified:
>    trunk/libavutil/log.c
>
> Modified: trunk/libavutil/log.c
> ==============================================================================
> --- trunk/libavutil/log.c	Tue Sep 14 00:09:28 2010	(r25116)
> +++ trunk/libavutil/log.c	Tue Sep 14 02:17:58 2010	(r25117)
> @@ -85,6 +85,7 @@ void av_log_default_callback(void* ptr, 
>      static int print_prefix=1;
>      static int count;
>      static char line[1024], prev[1024];
> +    static int detect_repeats;
>      AVClass* avc= ptr ? *(AVClass**)ptr : NULL;
>      if(level>av_log_level)
>          return;
> @@ -103,7 +104,12 @@ void av_log_default_callback(void* ptr, 
>      vsnprintf(line + strlen(line), sizeof(line) - strlen(line), fmt, vl);
>
>      print_prefix= line[strlen(line)-1] == '\n';
> -    if(print_prefix && !strcmp(line, prev)){
> +
> +#if HAVE_ISATTY
> +    if(!detect_repeats) detect_repeats= isatty(2) ? 1 : -1;
> +#endif
> +
> +    if(print_prefix && detect_repeats==1 && !strcmp(line, prev)){
>          count++;
>          fprintf(stderr, "    Last message repeated %d times\r", count);

This disables the repeat detection entirely for non-terminals.  I want
the behaviour immediately before r24573.  I don't care about whatever
that commit was supposed to fix.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-cvslog mailing list