summaryrefslogtreecommitdiff
path: root/include/gst/validate/gst-validate-enums.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/gst/validate/gst-validate-enums.h')
-rw-r--r--include/gst/validate/gst-validate-enums.h116
1 files changed, 116 insertions, 0 deletions
diff --git a/include/gst/validate/gst-validate-enums.h b/include/gst/validate/gst-validate-enums.h
new file mode 100644
index 0000000000..3dbf994818
--- /dev/null
+++ b/include/gst/validate/gst-validate-enums.h
@@ -0,0 +1,116 @@
+/* GStreamer
+ * Copyright (C) 2014 Mathieu Duponchelle <mathieu.duponchelle@collabora.com>
+ *
+ * gst-validate-enums.h - Validate constants.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_VALIDATE_ENUMS_H__
+#define __GST_VALIDATE_ENUMS_H__
+
+/**
+ * SECTION: gst-validate-enums.h
+ * @title: GstValidate enums
+ */
+
+/**
+ * GstValidateReportingDetails:
+ * @GST_VALIDATE_SHOW_NONE: No debugging level specified or desired. Used to deactivate
+ * debugging output.
+ * @GST_VALIDATE_SHOW_SMART: Sythetic for not fatal issues and detailed for
+ * others
+ * @GST_VALIDATE_SHOW_SYNTHETIC: Summary of the issues found, with no
+ * details.
+ * @GST_VALIDATE_SHOW_SUBCHAIN: If set as the default level, similar
+ * issues can be reported multiple times for different subchains.
+ * If set as the level for a particular object (my_object:subchain), validate
+ * will report the issues where the object is the first to report an issue for
+ * a subchain.
+ * @GST_VALIDATE_SHOW_MONITOR: If set as the default level, all the
+ * distinct issues for all the monitors will be reported.
+ * If set as the level for a particular object, all the distinct issues for this object
+ * will be reported.
+ * Note that if the same issue happens twice on the same object, up until this
+ * level that issue is only reported once.
+ * @GST_VALIDATE_SHOW_ALL: All the issues will be reported, even those
+ * that repeat themselves inside the same object. This can be *very* verbose if
+ * set globally.
+ * @GST_VALIDATE_SHOW_UNKNOWN: No reporting level known,
+ * reporting will default to the global reporting level.
+ *
+ * Setting the reporting level allows to control the way issues are reported
+ * when calling #gst_validate_runner_printf.
+ *
+ * The reporting level can be set through the "GST_VALIDATE_REPORTING_DETAILS"
+ * environment variable, as a comma-separated list of (optional) object categories / names
+ * and levels. No object category / name sets the global level.
+ *
+ * Examples: GST_VALIDATE_REPORTING_DETAILS=synthetic,h264parse:all
+ * GST_VALIDATE_REPORTING_DETAILS=none,h264parse::sink_0:synthetic
+ */
+typedef enum {
+ GST_VALIDATE_SHOW_UNKNOWN = 0,
+ GST_VALIDATE_SHOW_NONE = 1,
+ GST_VALIDATE_SHOW_SYNTHETIC = 2,
+ GST_VALIDATE_SHOW_SUBCHAIN = 3,
+ GST_VALIDATE_SHOW_MONITOR = 4,
+ GST_VALIDATE_SHOW_ALL = 5,
+ GST_VALIDATE_SHOW_SMART = 6,
+ GST_VALIDATE_SHOW_COUNT
+} GstValidateReportingDetails;
+
+/**
+ * GST_VALIDATE_SHOW_DEFAULT:
+ *
+ * Defines the default reporting level to be used with gst-validate. It is normally
+ * set to #GST_VALIDATE_SHOW_SYNTHETIC so only a synthetic report
+ * gets printed.
+ * As it can be configured at compile time, developer builds may chose to
+ * override that though.
+ */
+#ifndef GST_VALIDATE_SHOW_DEFAULT
+#define GST_VALIDATE_SHOW_DEFAULT GST_VALIDATE_SHOW_SMART
+#endif
+
+/**
+ * GstValidateVerbosityFlags:
+ *
+ * Defines the level of verbosity of -validate (ie, printing on stdout).
+ */
+typedef enum
+{
+ GST_VALIDATE_VERBOSITY_NONE = 0,
+ GST_VALIDATE_VERBOSITY_POSITION = 1 << 1,
+ GST_VALIDATE_VERBOSITY_MESSAGES = 1 << 2,
+ GST_VALIDATE_VERBOSITY_PROPS_CHANGES = 1 << 3,
+ GST_VALIDATE_VERBOSITY_NEW_ELEMENTS = 1 << 4,
+ GST_VALIDATE_VERBOSITY_ALL = GST_VALIDATE_VERBOSITY_POSITION | GST_VALIDATE_VERBOSITY_MESSAGES | GST_VALIDATE_VERBOSITY_PROPS_CHANGES | GST_VALIDATE_VERBOSITY_NEW_ELEMENTS
+} GstValidateVerbosityFlags;
+
+/**
+ * GstValidateStructureResolveVariablesFlags:
+ *
+ * Since: 1.20
+ */
+typedef enum {
+ GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_ALL = 0,
+ GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_LOCAL_ONLY = 1 << 0,
+ GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_NO_FAILURE = 1 << 1,
+ GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_NO_EXPRESSION = 1 << 1,
+} GstValidateStructureResolveVariablesFlags;
+
+#endif /* __GST_VALIDATE_ENUMS_H__ */