tee: Check for the removed pad flag also in the slow pushing path
[platform/upstream/gstreamer.git] / gst / gstdebugutils.h
index 4b10197..3808fc6 100644 (file)
@@ -1,7 +1,7 @@
 /* GStreamer
  * Copyright (C) 2007 Stefan Kost <ensonic@users.sf.net>
  *
- * gstdebugutils.h: debugging and analysis utillities
+ * gstdebugutils.h: debugging and analysis utilities
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -33,26 +33,41 @@ G_BEGIN_DECLS
  * GstDebugGraphDetails:
  * @GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE: show caps-name on edges
  * @GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS: show caps-details on edges
- * @GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS: show modified parameters on elements
+ * @GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS: show modified parameters on
+ *                                           elements
  * @GST_DEBUG_GRAPH_SHOW_STATES: show element states
- * @GST_DEBUG_GRAPH_SHOW_ALL: show all details
+ * @GST_DEBUG_GRAPH_SHOW_FULL_PARAMS: show full element parameter values even
+ *                                    if they are very long
+ * @GST_DEBUG_GRAPH_SHOW_ALL: show all the typical details that one might want
+ * @GST_DEBUG_GRAPH_SHOW_VERBOSE: show all details regardless of how large or
+ *                                verbose they make the resulting output
  *
  * Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE()
  * and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS().
  */
+/* FIXME: For GST_DEBUG_GRAPH_SHOW_VERBOSE ~0 -> 0xffffffff see
+ * https://bugzilla.gnome.org/show_bug.cgi?id=732633
+*/
 typedef enum {
   GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE         = (1<<0),
   GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS       = (1<<1),
   GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS = (1<<2),
   GST_DEBUG_GRAPH_SHOW_STATES             = (1<<3),
-  GST_DEBUG_GRAPH_SHOW_ALL                = ((1<<4)-1)
+  GST_DEBUG_GRAPH_SHOW_FULL_PARAMS        = (1<<4),
+  GST_DEBUG_GRAPH_SHOW_ALL                = ((1<<4)-1),
+  GST_DEBUG_GRAPH_SHOW_VERBOSE            = (gint) (0xffffffff)
 } GstDebugGraphDetails;
 
 
 /********** pipeline graphs **********/
 
+GST_API
 gchar * gst_debug_bin_to_dot_data (GstBin *bin, GstDebugGraphDetails details);
+
+GST_API
 void gst_debug_bin_to_dot_file (GstBin *bin, GstDebugGraphDetails details, const gchar *file_name);
+
+GST_API
 void gst_debug_bin_to_dot_file_with_ts (GstBin *bin, GstDebugGraphDetails details, const gchar *file_name);
 
 #ifndef GST_DISABLE_GST_DEBUG
@@ -66,14 +81,16 @@ void gst_debug_bin_to_dot_file_with_ts (GstBin *bin, GstDebugGraphDetails detail
  *
  * To aid debugging applications one can use this method to write out the whole
  * network of gstreamer elements that form the pipeline into an dot file.
- * This file can be processed with graphviz to get an image.
- * <informalexample><programlisting>
+ * This file can be processed with graphviz to get an image, like this:
+ * |[
  *  dot -Tpng -oimage.png graph_lowlevel.dot
- * </programlisting></informalexample>
+ * ]|
+ * There is also a utility called xdot which allows you to view the dot file
+ * directly without converting it first.
  *
- * The macro is only active if gstreamer is configured with
- * &quot;--gst-enable-gst-debug&quot; and the environment variable
- * GST_DEBUG_DUMP_DOT_DIR is set to a basepath (e.g. /tmp).
+ * The macro is only active if the environment variable GST_DEBUG_DUMP_DOT_DIR
+ * is set to a basepath (e.g. /tmp), and the GStreamer debugging subsystem is
+ * enabled (i.e., no use of `./configure --disable-gst-debug')
  */
 #define GST_DEBUG_BIN_TO_DOT_FILE(bin, details, file_name) gst_debug_bin_to_dot_file (bin, details, file_name)