# HG changeset patch # User michael # Date 1273351280 0 # Node ID 3ab411c447c4a390ef5e9f7e73f5f63d26731000 # Parent 2860cc0b5562c6546d07742662269b143515df4b Add means to adjust the log level per context. diff -r 2860cc0b5562 -r 3ab411c447c4 avutil.h --- a/avutil.h Wed May 05 21:44:47 2010 +0000 +++ b/avutil.h Sat May 08 20:41:20 2010 +0000 @@ -41,7 +41,7 @@ #define LIBAVUTIL_VERSION_MAJOR 50 #define LIBAVUTIL_VERSION_MINOR 15 -#define LIBAVUTIL_VERSION_MICRO 1 +#define LIBAVUTIL_VERSION_MICRO 2 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ LIBAVUTIL_VERSION_MINOR, \ diff -r 2860cc0b5562 -r 3ab411c447c4 log.c --- a/log.c Wed May 05 21:44:47 2010 +0000 +++ b/log.c Sat May 08 20:41:20 2010 +0000 @@ -89,8 +89,11 @@ void av_log(void* avcl, int level, const char *fmt, ...) { + AVClass* avc= avcl ? *(AVClass**)avcl : NULL; va_list vl; va_start(vl, fmt); + if(avc && avc->version >= (50<<16 | 15<<8 | 2) && avc->log_level_offset_offset && level>=AV_LOG_FATAL) + level += *(int*)(((uint8_t*)avcl) + avc->log_level_offset_offset); av_vlog(avcl, level, fmt, vl); va_end(vl); } diff -r 2860cc0b5562 -r 3ab411c447c4 log.h --- a/log.h Wed May 05 21:44:47 2010 +0000 +++ b/log.h Sat May 08 20:41:20 2010 +0000 @@ -56,6 +56,12 @@ */ int version; + + /** + * Offset in the structure where log_level_offset is stored. + * 0 means there is no such variable + */ + int log_level_offset_offset; } AVClass; /* av_log API */