diff options
Diffstat (limited to 'gst/legacyresample/debug.c')
-rw-r--r-- | gst/legacyresample/debug.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/gst/legacyresample/debug.c b/gst/legacyresample/debug.c new file mode 100644 index 00000000..27877277 --- /dev/null +++ b/gst/legacyresample/debug.c @@ -0,0 +1,65 @@ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <glib.h> +#include <stdio.h> +#include <debug.h> + +static const char *resample_debug_level_names[] = { + "NONE", + "ERROR", + "WARNING", + "INFO", + "DEBUG", + "LOG" +}; + +static int resample_debug_level = RESAMPLE_LEVEL_ERROR; + +void +resample_debug_log (int level, const char *file, const char *function, + int line, const char *format, ...) +{ +#ifndef GLIB_COMPAT + va_list varargs; + char *s; + + if (level > resample_debug_level) + return; + + va_start (varargs, format); + s = g_strdup_vprintf (format, varargs); + va_end (varargs); + + fprintf (stderr, "RESAMPLE: %s: %s(%d): %s: %s\n", + resample_debug_level_names[level], file, line, function, s); + g_free (s); +#else + va_list varargs; + char s[1000]; + + if (level > resample_debug_level) + return; + + va_start (varargs, format); + vsnprintf (s, 999, format, varargs); + va_end (varargs); + + fprintf (stderr, "RESAMPLE: %s: %s(%d): %s: %s\n", + resample_debug_level_names[level], file, line, function, s); +#endif +} + +void +resample_debug_set_level (int level) +{ + resample_debug_level = level; +} + +int +resample_debug_get_level (void) +{ + return resample_debug_level; +} |