summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2022-02-01 10:39:09 +0100
committerBastien Nocera <hadess@hadess.net>2022-02-04 11:23:56 +0100
commit33607c9d47bd9c68fd95b1938ff8e2e73f2815ae (patch)
tree6f47e655ee3ae8a58e6b0eecf85c0b78768e7d06
parentc474471539a527202dee6734620b1f8d3c1869cf (diff)
downloadtotem-33607c9d47bd9c68fd95b1938ff8e2e73f2815ae.tar.gz
backend: Add FPS display when using FPS_DISPLAY=1
-rw-r--r--src/backend/bacon-video-widget.c19
1 files changed, 18 insertions, 1 deletions
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
@@ -5257,6 +5257,16 @@ element_make_or_warn (const char *plugin,
}
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,
GError **error)
@@ -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);