From 1dbd8353cd4e75e67c111198e17b0ee5fc4c2aa7 Mon Sep 17 00:00:00 2001
From: Thibault Saunier <tsaunier@igalia.com>
Date: Fri, 6 Dec 2024 11:13:52 -0300
Subject: [PATCH] gst-inspect: Document tracer properties

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>
---
 subprojects/gstreamer/tools/gst-inspect.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/subprojects/gstreamer/tools/gst-inspect.c b/subprojects/gstreamer/tools/gst-inspect.c
index 41e8a02c7f..52c802b102 100644
--- a/subprojects/gstreamer/tools/gst-inspect.c
+++ b/subprojects/gstreamer/tools/gst-inspect.c
@@ -452,6 +452,7 @@ print_object_properties_info (GObject * obj, GObjectClass * obj_class,
   guint num_properties, i;
   gboolean readable;
   gboolean first_flag;
+  gboolean is_tracer = GST_IS_TRACER (obj);
 
   property_specs = g_object_class_list_properties (obj_class, &num_properties);
   g_sort_array (property_specs, num_properties, sizeof (gpointer),
@@ -472,6 +473,10 @@ print_object_properties_info (GObject * obj, GObjectClass * obj_class,
             || owner_type == GST_TYPE_OBJECT || owner_type == GST_TYPE_PAD))
       continue;
 
+    if (is_tracer && !g_strcmp0 (param->name, "params")) {
+      continue;
+    }
+
     g_value_init (&value, param->value_type);
 
     n_print ("%s%-20s%s: %s%s%s\n", PROP_NAME_COLOR,
@@ -1938,6 +1943,15 @@ print_tracer_info (GstPluginFeature * feature, gboolean print_names)
 
   print_hierarchy (G_OBJECT_TYPE (tracer), 0, &maxlevel);
   print_interfaces (G_OBJECT_TYPE (tracer));
+  print_object_properties_info (G_OBJECT (tracer),
+      G_OBJECT_GET_CLASS (tracer), "Tracer Properties");
+
+  n_print ("\n%sNOTE: those properties can be set using the `GST_TRACERS`"
+      " environment variable as follow:%s"
+      "\n\n    $ %sGST_TRACERS%s=\"%s%s%s(%sproperty1-name%s=value1,%sproperty2-name%s=value2));....\"",
+      HEADING_COLOR, RESET_COLOR, DATATYPE_COLOR, RESET_COLOR,
+      HEADING_COLOR, GST_OBJECT_NAME (factory), RESET_COLOR,
+      PROP_NAME_COLOR, RESET_COLOR, PROP_NAME_COLOR, RESET_COLOR);
 
   /* TODO: list what hooks it registers
    * - the data is available in gsttracerutils, we need to iterate the