Commit | Line | Data |
---|---|---|
04d7f601 DB |
1 | /* |
2 | * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at> | |
3 | * | |
b78e7197 DB |
4 | * This file is part of FFmpeg. |
5 | * | |
6 | * FFmpeg is free software; you can redistribute it and/or | |
04d7f601 DB |
7 | * modify it under the terms of the GNU Lesser General Public |
8 | * License as published by the Free Software Foundation; either | |
b78e7197 | 9 | * version 2.1 of the License, or (at your option) any later version. |
04d7f601 | 10 | * |
b78e7197 | 11 | * FFmpeg is distributed in the hope that it will be useful, |
04d7f601 DB |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 | * Lesser General Public License for more details. | |
15 | * | |
16 | * You should have received a copy of the GNU Lesser General Public | |
b78e7197 | 17 | * License along with FFmpeg; if not, write to the Free Software |
04d7f601 DB |
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
19 | */ | |
20 | ||
4b45de0e LA |
21 | #ifndef LOG_H |
22 | #define LOG_H | |
23 | ||
24 | #include <stdarg.h> | |
25 | ||
26 | /** | |
27 | * Used by av_log | |
28 | */ | |
29 | typedef struct AVCLASS AVClass; | |
30 | struct AVCLASS { | |
31 | const char* class_name; | |
32 | const char* (*item_name)(void*); /* actually passing a pointer to an AVCodecContext | |
33 | or AVFormatContext, which begin with an AVClass. | |
34 | Needed because av_log is in libavcodec and has no visibility | |
35 | of AVIn/OutputFormat */ | |
3666f75d | 36 | const struct AVOption *option; |
4b45de0e LA |
37 | }; |
38 | ||
39 | /* av_log API */ | |
40 | ||
41 | #define AV_LOG_QUIET -1 | |
42 | #define AV_LOG_ERROR 0 | |
43 | #define AV_LOG_INFO 1 | |
44 | #define AV_LOG_DEBUG 2 | |
918a4591 | 45 | extern int av_log_level; |
4b45de0e LA |
46 | |
47 | #ifdef __GNUC__ | |
48 | extern void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); | |
49 | #else | |
50 | extern void av_log(void*, int level, const char *fmt, ...); | |
51 | #endif | |
52 | ||
918a4591 | 53 | #if LIBAVUTIL_VERSION_INT < (50<<16) |
4b45de0e LA |
54 | extern void av_vlog(void*, int level, const char *fmt, va_list); |
55 | extern int av_log_get_level(void); | |
56 | extern void av_log_set_level(int); | |
57 | extern void av_log_set_callback(void (*)(void*, int, const char*, va_list)); | |
411983c1 | 58 | extern void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl); |
918a4591 MN |
59 | #else |
60 | extern void (*av_vlog)(void*, int, const char*, va_list); | |
61 | #endif | |
4b45de0e LA |
62 | |
63 | #endif /* LOG_H */ |