[FFmpeg-cvslog] r25117 - trunk/libavutil/log.c
michael
subversion
Tue Sep 14 02:17:58 CEST 2010
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);
return;
More information about the ffmpeg-cvslog
mailing list