Index: gstinfo.c
===================================================================
RCS file: /cvs/gstreamer/gstreamer/gst/gstinfo.c,v
retrieving revision 1.122
diff -u -u -r1.122 gstinfo.c
--- gstinfo.c	6 Apr 2006 11:27:24 -0000	1.122
+++ gstinfo.c	4 May 2006 19:11:08 -0000
@@ -355,6 +355,16 @@
   __gst_in_valgrind ();
 }
 
+static void
+gst_strace_log_mark (const gchar *cat, const gchar *msg) {
+  gchar *str;
+
+  str = g_strdup_printf ("MARK: %s: %s", cat, msg);
+  access (str, F_OK);
+  g_free (str);
+} 
+
+
 /* we can't do this further above, because we initialize the GST_CAT_DEFAULT struct */
 #define GST_CAT_DEFAULT _GST_CAT_DEBUG
 
@@ -555,6 +565,7 @@
   gchar *color = NULL;
   gchar *clear;
   gchar *obj = NULL;
+  const gchar *msg, *cat;
   gchar pidcolor[10];
   gint pid;
   GTimeVal now;
@@ -589,12 +600,16 @@
 
   g_get_current_time (&now);
   elapsed = GST_TIMEVAL_TO_TIME (now) - start_time;
+  msg = gst_debug_message_get (message);
+  cat = gst_debug_category_get_name (category);
   g_printerr ("%s (%p - %" GST_TIME_FORMAT
       ") %s%20s%s(%s%5d%s) %s%s(%d):%s:%s%s %s\n",
       gst_debug_level_get_name (level), g_thread_self (),
       GST_TIME_ARGS (elapsed), color,
-      gst_debug_category_get_name (category), clear, pidcolor, pid, clear,
-      color, file, line, function, obj, clear, gst_debug_message_get (message));
+      cat, clear, pidcolor, pid, clear,
+      color, file, line, function, obj, clear, msg);
+
+  gst_strace_log_mark (cat, msg);
 
   if (free_color)
     g_free (color);
@@ -1223,6 +1238,8 @@
 #endif /* GST_DISABLE_GST_DEBUG */
 
 
+/*** STACK TRACES *************************************************************/
+
 #ifdef GST_ENABLE_FUNC_INSTRUMENTATION
 /* FIXME make this thread specific */
 static GSList *stack_trace = NULL;
