annotate log.h @ 408:0ce74d34d02e libavutil

use av_log_get/set_level()
author mru
date Wed, 12 Dec 2007 21:48:50 +0000
parents d0f3bb6e367e
children 4b4a3fb11c25
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
1 /*
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
2 * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
3 *
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
4 * This file is part of FFmpeg.
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
5 *
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
8 * License as published by the Free Software Foundation; either
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
10 *
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
14 * Lesser General Public License for more details.
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
15 *
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
19 */
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 88
diff changeset
20
392
d0f3bb6e367e Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 270
diff changeset
21 #ifndef FFMPEG_LOG_H
d0f3bb6e367e Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 270
diff changeset
22 #define FFMPEG_LOG_H
81
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
23
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
24 #include <stdarg.h>
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
25
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
26 /**
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
27 * Used by av_log
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
28 */
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
29 typedef struct AVCLASS AVClass;
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
30 struct AVCLASS {
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
31 const char* class_name;
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
32 const char* (*item_name)(void*); /* actually passing a pointer to an AVCodecContext
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
33 or AVFormatContext, which begin with an AVClass.
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
34 Needed because av_log is in libavcodec and has no visibility
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
35 of AVIn/OutputFormat */
144
daeb1d7eec41 make option field const
bcoudurier
parents: 116
diff changeset
36 const struct AVOption *option;
81
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
37 };
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
38
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
39 /* av_log API */
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
40
233
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
41 #if LIBAVUTIL_VERSION_INT < (50<<16)
81
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
42 #define AV_LOG_QUIET -1
233
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
43 #define AV_LOG_FATAL 0
81
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
44 #define AV_LOG_ERROR 0
233
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
45 #define AV_LOG_WARNING 1
81
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
46 #define AV_LOG_INFO 1
233
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
47 #define AV_LOG_VERBOSE 1
81
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
48 #define AV_LOG_DEBUG 2
233
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
49 #else
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
50 #define AV_LOG_QUIET -8
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
51
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
52 /**
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
53 * something went really wrong and we will crash now
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
54 */
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
55 #define AV_LOG_PANIC 0
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
56
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
57 /**
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
58 * something went wrong and recovery is not possible
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
59 * like no header in a format which depends on it or a combination
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
60 * of parameters which are not allowed
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
61 */
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
62 #define AV_LOG_FATAL 8
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
63
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
64 /**
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
65 * something went wrong and cannot losslessly be recovered
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
66 * but not all future data is affected
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
67 */
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
68 #define AV_LOG_ERROR 16
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
69
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
70 /**
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
71 * something somehow does not look correct / something which may or may not
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
72 * lead to some problems like use of -vstrict -2
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
73 */
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
74 #define AV_LOG_WARNING 24
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
75
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
76 #define AV_LOG_INFO 32
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
77 #define AV_LOG_VERBOSE 40
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
78
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
79 /**
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
80 * stuff which is only useful for libav* developers
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
81 */
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
82 #define AV_LOG_DEBUG 48
0e59652783b7 Increase the av_log() levels, and add some documentation for them
lucabe
parents: 163
diff changeset
83 #endif
408
0ce74d34d02e use av_log_get/set_level()
mru
parents: 392
diff changeset
84
0ce74d34d02e use av_log_get/set_level()
mru
parents: 392
diff changeset
85 #if LIBAVUTIL_VERSION_INT < (50<<16)
88
b39b6310973c removing redundant mess next time we break compatiility
michael
parents: 81
diff changeset
86 extern int av_log_level;
408
0ce74d34d02e use av_log_get/set_level()
mru
parents: 392
diff changeset
87 #endif
81
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
88
270
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
89 /**
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
90 * Send the specified message to the log if the level is less than or equal to
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
91 * the current av_log_level. By default, all logging messages are sent to
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
92 * stderr. This behavior can be altered by setting a different av_vlog callback
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
93 * function.
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
94 *
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
95 * @param avcl A pointer to an arbitrary struct of which the first field is a
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
96 * pointer to an AVClass struct.
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
97 * @param level The importance level of the message, lower values signifying
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
98 * higher importance.
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
99 * @param fmt The format string (printf-compatible) that specifies how
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
100 * subsequent arguments are converted to output.
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
101 * @see av_vlog
55cd41bc50bf Move the unaltered Doxygen docs from the log source code to the accompanying
takis
parents: 233
diff changeset
102 */
81
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
103 #ifdef __GNUC__
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
104 extern void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
105 #else
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
106 extern void av_log(void*, int level, const char *fmt, ...);
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
107 #endif
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
108
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
109 extern void av_vlog(void*, int level, const char *fmt, va_list);
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
110 extern int av_log_get_level(void);
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
111 extern void av_log_set_level(int);
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
112 extern void av_log_set_callback(void (*)(void*, int, const char*, va_list));
163
dfd02ce85c5d Allow to uninstall a custom log callback
gpoirier
parents: 144
diff changeset
113 extern void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl);
81
5cfa773a3bdd Move av_log() & friends to libavutil
lucabe
parents:
diff changeset
114
392
d0f3bb6e367e Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 270
diff changeset
115 #endif /* FFMPEG_LOG_H */