[totem/wip/hadess/glsink: 18/21] backend: Add FPS display when using FPS_DISPLAY=1




commit bfaab7461ecd48e6f1cd954b7e5983cf6a6fbe35
Author: Bastien Nocera <hadess hadess net>
Date:   Tue Feb 1 10:39:09 2022 +0100

    backend: Add FPS display when using FPS_DISPLAY=1

 src/backend/bacon-video-widget.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)
---
diff --git a/src/backend/bacon-video-widget.c b/src/backend/bacon-video-widget.c
index 967eaa2ac..4b4aa2a09 100644
--- a/src/backend/bacon-video-widget.c
+++ b/src/backend/bacon-video-widget.c
@@ -5256,6 +5256,16 @@ element_make_or_warn (const char *plugin,
   return element;
 }
 
+static gboolean
+is_feature_enabled (const char *env)
+{
+  const char *value;
+
+  g_return_val_if_fail (env != NULL, FALSE);
+  value = g_getenv (env);
+  return g_strcmp0 (value, "1") == 0;
+}
+
 static gboolean
 bacon_video_widget_initable_init (GInitable     *initable,
                                  GCancellable  *cancellable,
@@ -5345,7 +5355,14 @@ bacon_video_widget_initable_init (GInitable     *initable,
   gtk_container_add (GTK_CONTAINER (bvw), bvw->stack);
   gtk_widget_show (bvw->stack);
 
-  g_object_set (glsinkbin, "sink", bvw->video_sink, NULL);
+  if (is_feature_enabled ("FPS_DISPLAY")) {
+    GstElement *fps;
+    fps = gst_element_factory_make ("fpsdisplaysink", "fpsdisplaysink");
+    g_object_set (glsinkbin, "sink", fps, NULL);
+    g_object_set (fps, "video-sink", bvw->video_sink, NULL);
+  } else {
+    g_object_set (glsinkbin, "sink", bvw->video_sink, NULL);
+  }
   g_object_get (bvw->video_sink, "widget", &tmp, NULL);
   gtk_stack_add_named (GTK_STACK (bvw->stack), tmp, "video");
   gtk_widget_show (tmp);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]