diff options
Diffstat (limited to 'src/xine-utils/monitor.h')
-rw-r--r-- | src/xine-utils/monitor.h | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/src/xine-utils/monitor.h b/src/xine-utils/monitor.h new file mode 100644 index 000000000..6f899aaf4 --- /dev/null +++ b/src/xine-utils/monitor.h @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2000-2001 the xine project + * + * This file is part of xine, a unix video player. + * + * xine is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * xine is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * $Id: monitor.h,v 1.1 2001/10/22 00:52:10 guenter Exp $ + * + * debug print and profiling functions + * + */ + +#ifndef HAVE_MONITOR_H +#define HAVE_MONITOR_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include <inttypes.h> + +extern uint32_t xine_debug; + +#define VERBOSE (xine_debug & 0x8000>>1) // 16384 +#define METRONOM (xine_debug & 0x8000>>2) // 8192 +#define AUDIO (xine_debug & 0x8000>>3) // 4096 +#define DEMUX (xine_debug & 0x8000>>4) // 2048 +#define INPUT (xine_debug & 0x8000>>5) // 1024 +#define VIDEO (xine_debug & 0x8000>>6) // 512 +#define VPTS (xine_debug & 0x8000>>7) // 256 +#define MPEG (xine_debug & 0x8000>>8) // 128 +#define VAVI (xine_debug & 0x8000>>9) // 64 +#define AC3 (xine_debug & 0x8000>>10) // 32 +#define LOOP (xine_debug & 0x8000>>11) // 16 +#define GUI (xine_debug & 0x8000>>12) // 8 + +#ifdef __GNUC__ +#define perr(FMT,ARGS...) {fprintf(stderr, FMT, ##ARGS);fflush(stderr);} +#else /* C99 version: */ +#define perr(...) {fprintf(stderr, __VA_ARGS__);fflush(stderr);} +#endif + +#ifdef DEBUG + +/* + * Debug stuff + */ + +//#define perr(FMT,ARGS...) {fprintf(stderr, FMT, ##ARGS);fflush(stderr);} + +#ifdef __GNUC__ +#define xprintf(LVL, FMT, ARGS...) { \ + if(LVL) { \ + printf(FMT, ##ARGS); \ + } \ + } +#else /* C99 version: */ +#define xprintf(LVL, ...) { \ + if(LVL) { \ + printf(__VA_ARGS__); \ + } \ + } +#endif + +/* + * profiling + */ + +void profiler_init (); + +int profiler_allocate_slot (char *label); + +void profiler_start_count (int id); + +void profiler_stop_count (int id); + +void profiler_print_results (); + +#else /* no DEBUG, release version */ + +//#define perr(FMT,ARGS...) + +#ifdef __GNUC__ +#define xprintf(LVL, FMT, ARGS...) +#else /* C99 version: */ +#define xprintf(LVL, ...) +#endif + +#define profiler_init() +#define profiler_allocate_slot(label) (-1) +#define profiler_start_count(id) +#define profiler_stop_count(id) +#define profiler_print_results() + +#endif /* DEBUG*/ + +#ifdef __cplusplus +} +#endif + +#endif /* HAVE_MONITOR_H */ |