Mercurial > mplayer.hg
view mp_msg.h @ 24131:30028bbcb9e8
Use a single select() for both key and slave input
Previous code used two separate select() calls one after another, so
that whenever it was running select() on one set of fds events in the
other set would go unnoticed until later. Now there's a single select()
which allows reacting immediately to any input source.
The behavior of the new code differs somewhat from the old; for example
multiple fds that stay readable are no longer handled in a round-robin
fashion and the total amount the process sleeps can differ. Some tuning
might be required later.
author | uau |
---|---|
date | Sat, 25 Aug 2007 04:28:11 +0000 |
parents | 3f0d00abc073 |
children | ed0cfc9e60cb |
line wrap: on
line source
#ifndef MP_MSG_H #define MP_MSG_H // defined in mplayer.c and mencoder.c extern int verbose; // verbosity elevel: /* Only messages level MSGL_FATAL-MSGL_STATUS should be translated, * messages level MSGL_V and above should not be translated. */ #define MSGL_FATAL 0 // will exit/abort #define MSGL_ERR 1 // continues #define MSGL_WARN 2 // only warning #define MSGL_HINT 3 // short help message #define MSGL_INFO 4 // -quiet #define MSGL_STATUS 5 // v=0 #define MSGL_V 6 // v=1 #define MSGL_DBG2 7 // v=2 #define MSGL_DBG3 8 // v=3 #define MSGL_DBG4 9 // v=4 #define MSGL_DBG5 10 // v=5 #define MSGL_FIXME 1 // for conversions from printf where the appropriate MSGL is not known; set equal to ERR for obtrusiveness #define MSGT_FIXME 0 // for conversions from printf where the appropriate MSGT is not known; set equal to GLOBAL for obtrusiveness // code/module: #define MSGT_GLOBAL 0 // common player stuff errors #define MSGT_CPLAYER 1 // console player (mplayer.c) #define MSGT_GPLAYER 2 // gui player #define MSGT_VO 3 // libvo #define MSGT_AO 4 // libao #define MSGT_DEMUXER 5 // demuxer.c (general stuff) #define MSGT_DS 6 // demux stream (add/read packet etc) #define MSGT_DEMUX 7 // fileformat-specific stuff (demux_*.c) #define MSGT_HEADER 8 // fileformat-specific header (*header.c) #define MSGT_AVSYNC 9 // mplayer.c timer stuff #define MSGT_AUTOQ 10 // mplayer.c auto-quality stuff #define MSGT_CFGPARSER 11 // cfgparser.c #define MSGT_DECAUDIO 12 // av decoder #define MSGT_DECVIDEO 13 #define MSGT_SEEK 14 // seeking code #define MSGT_WIN32 15 // win32 dll stuff #define MSGT_OPEN 16 // open.c (stream opening) #define MSGT_DVD 17 // open.c (DVD init/read/seek) #define MSGT_PARSEES 18 // parse_es.c (mpeg stream parser) #define MSGT_LIRC 19 // lirc_mp.c and input lirc driver #define MSGT_STREAM 20 // stream.c #define MSGT_CACHE 21 // cache2.c #define MSGT_MENCODER 22 #define MSGT_XACODEC 23 // XAnim codecs #define MSGT_TV 24 // TV input subsystem #define MSGT_OSDEP 25 // OS-dependent parts #define MSGT_SPUDEC 26 // spudec.c #define MSGT_PLAYTREE 27 // Playtree handeling (playtree.c, playtreeparser.c) #define MSGT_INPUT 28 #define MSGT_VFILTER 29 #define MSGT_OSD 30 #define MSGT_NETWORK 31 #define MSGT_CPUDETECT 32 #define MSGT_CODECCFG 33 #define MSGT_SWS 34 #define MSGT_VOBSUB 35 #define MSGT_SUBREADER 36 #define MSGT_AFILTER 37 // Audio filter messages #define MSGT_NETST 38 // Netstream #define MSGT_MUXER 39 // muxer layer #define MSGT_OSD_MENU 40 #define MSGT_IDENTIFY 41 // -identify output #define MSGT_RADIO 42 #define MSGT_ASS 43 // libass messages #define MSGT_LOADER 44 // dll loader messages #define MSGT_STATUSLINE 45 // playback/encoding status line #define MSGT_MAX 64 void mp_msg_init(void); int mp_msg_test(int mod, int lev); #include "config.h" #ifdef TARGET_OS2 // va_start/vsnprintf seems to be broken under OS2 :( #define mp_msg(mod,lev, fmt, args... ) do{if((lev)<=mp_msg_levels[mod]) printf( fmt, ## args );}while(0) #define mp_dbg(mod,lev, args... ) #else #ifdef __GNUC__ void mp_msg(int mod, int lev, const char *format, ... ) __attribute__ ((format (printf, 3, 4))); # ifdef MP_DEBUG # define mp_dbg(mod,lev, args... ) mp_msg(mod, lev, ## args ) # else # define mp_dbg(mod,lev, args... ) /* only useful for developers */ # endif #else // not GNU C void mp_msg(int mod, int lev, const char *format, ... ); # ifdef MP_DEBUG # define mp_dbg(mod,lev, ... ) mp_msg(mod, lev, __VA_ARGS__) # else # define mp_dbg(mod,lev, ... ) /* only useful for developers */ # endif #endif const char* filename_recode(const char* filename); #endif #endif