diff --git a/ext/cairo/gsttextoverlay.c b/ext/cairo/gsttextoverlay.c index c210191ee3..3f4fe3a9bd 100644 --- a/ext/cairo/gsttextoverlay.c +++ b/ext/cairo/gsttextoverlay.c @@ -65,12 +65,14 @@ enum ARG_YPAD, ARG_DELTAX, ARG_DELTAY, + ARG_SILENT, ARG_FONT_DESC }; #define DEFAULT_YPAD 25 #define DEFAULT_XPAD 25 #define DEFAULT_FONT "sans" +#define DEFAULT_SILENT FALSE #define GST_CAIRO_TEXT_OVERLAY_DEFAULT_SCALE 20.0 @@ -201,6 +203,11 @@ gst_text_overlay_class_init (GstCairoTextOverlayClass * klass) "See documentation of " "pango_font_description_from_string" " for syntax.", "", G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); + /* FIXME 0.11: rename to "visible" or "text-visible" or "render-text" */ + g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SILENT, + g_param_spec_boolean ("silent", "silent", + "Whether to render the text string", + DEFAULT_SILENT, G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); } static void @@ -267,6 +274,8 @@ gst_text_overlay_init (GstCairoTextOverlay * overlay, overlay->font = g_strdup (DEFAULT_FONT); gst_text_overlay_font_init (overlay); + overlay->silent = DEFAULT_SILENT; + overlay->fps_n = 0; overlay->fps_d = 1; @@ -410,6 +419,9 @@ gst_text_overlay_set_property (GObject * object, guint prop_id, gst_text_overlay_font_init (overlay); break; } + case ARG_SILENT: + overlay->silent = g_value_get_boolean (value); + break; default:{ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -431,6 +443,11 @@ gst_text_overlay_render_text (GstCairoTextOverlay * overlay, gchar *string; double x, y; + if (overlay->silent) { + GST_DEBUG_OBJECT (overlay, "Silent mode, not rendering"); + return; + } + if (textlen < 0) textlen = strlen (text); diff --git a/ext/cairo/gsttextoverlay.h b/ext/cairo/gsttextoverlay.h index 09cfd724ee..dbb21546ff 100644 --- a/ext/cairo/gsttextoverlay.h +++ b/ext/cairo/gsttextoverlay.h @@ -76,6 +76,7 @@ struct _GstCairoTextOverlay { gint slant; gint weight; gdouble scale; + gboolean silent; }; struct _GstCairoTextOverlayClass {