| 1 | /* |
| 2 | * This file is part of MPlayer. |
| 3 | * |
| 4 | * MPlayer is free software; you can redistribute it and/or modify |
| 5 | * it under the terms of the GNU General Public License as published by |
| 6 | * the Free Software Foundation; either version 2 of the License, or |
| 7 | * (at your option) any later version. |
| 8 | * |
| 9 | * MPlayer is distributed in the hope that it will be useful, |
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 12 | * GNU General Public License for more details. |
| 13 | * |
| 14 | * You should have received a copy of the GNU General Public License along |
| 15 | * with MPlayer; if not, write to the Free Software Foundation, Inc., |
| 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
| 17 | */ |
| 18 | |
| 19 | #ifndef MPLAYER_MP_MSG_H |
| 20 | #define MPLAYER_MP_MSG_H |
| 21 | |
| 22 | #include <stdarg.h> |
| 23 | |
| 24 | // defined in mplayer.c and mencoder.c |
| 25 | extern int verbose; |
| 26 | |
| 27 | // verbosity elevel: |
| 28 | |
| 29 | /* Only messages level MSGL_FATAL-MSGL_STATUS should be translated, |
| 30 | * messages level MSGL_V and above should not be translated. */ |
| 31 | |
| 32 | #define MSGL_FATAL 0 // will exit/abort |
| 33 | #define MSGL_ERR 1 // continues |
| 34 | #define MSGL_WARN 2 // only warning |
| 35 | #define MSGL_HINT 3 // short help message |
| 36 | #define MSGL_INFO 4 // -quiet |
| 37 | #define MSGL_STATUS 5 // v=0 |
| 38 | #define MSGL_V 6 // v=1 |
| 39 | #define MSGL_DBG2 7 // v=2 |
| 40 | #define MSGL_DBG3 8 // v=3 |
| 41 | #define MSGL_DBG4 9 // v=4 |
| 42 | #define MSGL_DBG5 10 // v=5 |
| 43 | |
| 44 | #define MSGL_FIXME 1 // for conversions from printf where the appropriate MSGL is not known; set equal to ERR for obtrusiveness |
| 45 | #define MSGT_FIXME 0 // for conversions from printf where the appropriate MSGT is not known; set equal to GLOBAL for obtrusiveness |
| 46 | |
| 47 | // code/module: |
| 48 | |
| 49 | #define MSGT_GLOBAL 0 // common player stuff errors |
| 50 | #define MSGT_CPLAYER 1 // console player (mplayer.c) |
| 51 | #define MSGT_GPLAYER 2 // gui player |
| 52 | |
| 53 | #define MSGT_VO 3 // libvo |
| 54 | #define MSGT_AO 4 // libao |
| 55 | |
| 56 | #define MSGT_DEMUXER 5 // demuxer.c (general stuff) |
| 57 | #define MSGT_DS 6 // demux stream (add/read packet etc) |
| 58 | #define MSGT_DEMUX 7 // fileformat-specific stuff (demux_*.c) |
| 59 | #define MSGT_HEADER 8 // fileformat-specific header (*header.c) |
| 60 | |
| 61 | #define MSGT_AVSYNC 9 // mplayer.c timer stuff |
| 62 | #define MSGT_AUTOQ 10 // mplayer.c auto-quality stuff |
| 63 | |
| 64 | #define MSGT_CFGPARSER 11 // cfgparser.c |
| 65 | |
| 66 | #define MSGT_DECAUDIO 12 // av decoder |
| 67 | #define MSGT_DECVIDEO 13 |
| 68 | |
| 69 | #define MSGT_SEEK 14 // seeking code |
| 70 | #define MSGT_WIN32 15 // win32 dll stuff |
| 71 | #define MSGT_OPEN 16 // open.c (stream opening) |
| 72 | #define MSGT_DVD 17 // open.c (DVD init/read/seek) |
| 73 | |
| 74 | #define MSGT_PARSEES 18 // parse_es.c (mpeg stream parser) |
| 75 | #define MSGT_LIRC 19 // lirc_mp.c and input lirc driver |
| 76 | |
| 77 | #define MSGT_STREAM 20 // stream.c |
| 78 | #define MSGT_CACHE 21 // cache2.c |
| 79 | |
| 80 | #define MSGT_MENCODER 22 |
| 81 | |
| 82 | #define MSGT_XACODEC 23 // XAnim codecs |
| 83 | |
| 84 | #define MSGT_TV 24 // TV input subsystem |
| 85 | |
| 86 | #define MSGT_OSDEP 25 // OS-dependent parts |
| 87 | |
| 88 | #define MSGT_SPUDEC 26 // spudec.c |
| 89 | |
| 90 | #define MSGT_PLAYTREE 27 // Playtree handeling (playtree.c, playtreeparser.c) |
| 91 | |
| 92 | #define MSGT_INPUT 28 |
| 93 | |
| 94 | #define MSGT_VFILTER 29 |
| 95 | |
| 96 | #define MSGT_OSD 30 |
| 97 | |
| 98 | #define MSGT_NETWORK 31 |
| 99 | |
| 100 | #define MSGT_CPUDETECT 32 |
| 101 | |
| 102 | #define MSGT_CODECCFG 33 |
| 103 | |
| 104 | #define MSGT_SWS 34 |
| 105 | |
| 106 | #define MSGT_VOBSUB 35 |
| 107 | #define MSGT_SUBREADER 36 |
| 108 | |
| 109 | #define MSGT_AFILTER 37 // Audio filter messages |
| 110 | |
| 111 | #define MSGT_NETST 38 // Netstream |
| 112 | |
| 113 | #define MSGT_MUXER 39 // muxer layer |
| 114 | |
| 115 | #define MSGT_OSD_MENU 40 |
| 116 | |
| 117 | #define MSGT_IDENTIFY 41 // -identify output |
| 118 | |
| 119 | #define MSGT_RADIO 42 |
| 120 | |
| 121 | #define MSGT_ASS 43 // libass messages |
| 122 | |
| 123 | #define MSGT_LOADER 44 // dll loader messages |
| 124 | |
| 125 | #define MSGT_STATUSLINE 45 // playback/encoding status line |
| 126 | |
| 127 | #define MSGT_TELETEXT 46 // Teletext decoder |
| 128 | |
| 129 | #define MSGT_MAX 64 |
| 130 | |
| 131 | |
| 132 | extern char *ff_mp_msg_charset; |
| 133 | extern int ff_mp_msg_color; |
| 134 | extern int ff_mp_msg_module; |
| 135 | |
| 136 | extern int ff_mp_msg_levels[MSGT_MAX]; |
| 137 | extern int ff_mp_msg_level_all; |
| 138 | |
| 139 | |
| 140 | void ff_mp_msg_init(void); |
| 141 | int ff_mp_msg_test(int mod, int lev); |
| 142 | |
| 143 | #include "config.h" |
| 144 | |
| 145 | void ff_mp_msg_va(int mod, int lev, const char *format, va_list va); |
| 146 | #ifdef __GNUC__ |
| 147 | void ff_mp_msg(int mod, int lev, const char *format, ... ) __attribute__ ((format (printf, 3, 4))); |
| 148 | # ifdef MP_DEBUG |
| 149 | # define mp_dbg(mod,lev, args... ) ff_mp_msg(mod, lev, ## args ) |
| 150 | # else |
| 151 | // only useful for developers, disable but check syntax |
| 152 | # define mp_dbg(mod,lev, args... ) do { if (0) ff_mp_msg(mod, lev, ## args ); } while (0) |
| 153 | # endif |
| 154 | #else // not GNU C |
| 155 | void ff_mp_msg(int mod, int lev, const char *format, ... ); |
| 156 | # ifdef MP_DEBUG |
| 157 | # define mp_dbg(mod,lev, ... ) ff_mp_msg(mod, lev, __VA_ARGS__) |
| 158 | # else |
| 159 | // only useful for developers, disable but check syntax |
| 160 | # define mp_dbg(mod,lev, ... ) do { if (0) ff_mp_msg(mod, lev, __VA_ARGS__); } while (0) |
| 161 | # endif |
| 162 | #endif /* __GNUC__ */ |
| 163 | |
| 164 | const char* ff_filename_recode(const char* filename); |
| 165 | |
| 166 | #endif /* MPLAYER_MP_MSG_H */ |