Merge remote-tracking branch 'upstream/master' into tizen
[platform/upstream/gstreamer.git] / gst / gstinfo.c
index 913fe42..525c9f0 100644 (file)
@@ -280,6 +280,16 @@ dladdr (void *address, Dl_info * dl)
 #endif /* __sgi__ */
 #endif
 
+#if defined(USE_DLOG)
+#include <dlog.h>
+
+#define GST_SLOGW(fmt, arg...) \
+       ({ do { \
+               __dlog_print(LOG_ID_SYSTEM, DLOG_WARN, "GST_LOG", fmt, ##arg); \
+       } while (0); })
+
+#endif
+
 static void gst_debug_reset_threshold (gpointer category, gpointer unused);
 static void gst_debug_reset_all_thresholds (void);
 
@@ -1276,7 +1286,9 @@ gst_debug_log_default (GstDebugCategory * category, GstDebugLevel level,
   gchar *obj = NULL;
   GstDebugColorMode color_mode;
   const gchar *message_str;
+#if defined(G_OS_WIN32) || !defined(USE_DLOG)
   FILE *log_file = user_data ? user_data : stderr;
+#endif
 #ifdef G_OS_WIN32
 #define FPRINTF_DEBUG _gst_debug_fprintf
 /* _gst_debug_fprintf will do fflush if it's required */
@@ -1316,12 +1328,20 @@ gst_debug_log_default (GstDebugCategory * category, GstDebugLevel level,
       levelcolor = levelcolormap[level];
 
 #define PRINT_FMT " %s"PID_FMT"%s "PTR_FMT" %s%s%s %s"CAT_FMT"%s %s\n"
+#if defined(USE_DLOG)
+    GST_SLOGW("%" GST_TIME_FORMAT "%s "PTR_FMT" %s%s%s %s"CAT_FMT"%s %s\n", GST_TIME_ARGS (elapsed),
+        clear, g_thread_self (), levelcolor,
+        gst_debug_level_get_name (level), clear, color,
+        gst_debug_category_get_name (category), file, line, function, obj,
+        clear, message_str);
+#else
       FPRINTF_DEBUG (log_file, "%" GST_TIME_FORMAT PRINT_FMT,
           GST_TIME_ARGS (elapsed), pidcolor, pid, clear, g_thread_self (),
           levelcolor, gst_debug_level_get_name (level), clear, color,
           gst_debug_category_get_name (category), file, line, function, obj,
           clear, message_str);
       FFLUSH_DEBUG (log_file);
+#endif
 #undef PRINT_FMT
       g_free (color);
 #ifdef G_OS_WIN32
@@ -1357,12 +1377,19 @@ gst_debug_log_default (GstDebugCategory * category, GstDebugLevel level,
 #endif
   } else {
     /* no color, all platforms */
+#if defined(USE_DLOG) && !defined(G_OS_WIN32)
+    GST_SLOGW("%" GST_TIME_FORMAT " "PTR_FMT" %s "CAT_FMT" %s\n", GST_TIME_ARGS (elapsed),
+        g_thread_self (), gst_debug_level_get_name (level),
+        gst_debug_category_get_name (category), file, line, function, obj,
+        message_str);
+#else
     FPRINTF_DEBUG (log_file, "%" GST_TIME_FORMAT NOCOLOR_PRINT_FMT,
         GST_TIME_ARGS (elapsed), pid, g_thread_self (),
         gst_debug_level_get_name (level),
         gst_debug_category_get_name (category), file, line, function, obj,
         message_str);
     FFLUSH_DEBUG (log_file);
+#endif
   }
 
   if (object != NULL)