From 33607c9d47bd9c68fd95b1938ff8e2e73f2815ae Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Tue, 1 Feb 2022 10:39:09 +0100 Subject: 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); -- cgit v1.2.1