mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
tiger: add a 'silent' property to skip rendering
https://bugzilla.gnome.org/show_bug.cgi?id=662857
This commit is contained in:
parent
4275a70cb5
commit
ab27c0da8e
2 changed files with 17 additions and 2 deletions
|
@ -121,7 +121,8 @@ enum
|
||||||
ARG_DEFAULT_BACKGROUND_RED,
|
ARG_DEFAULT_BACKGROUND_RED,
|
||||||
ARG_DEFAULT_BACKGROUND_GREEN,
|
ARG_DEFAULT_BACKGROUND_GREEN,
|
||||||
ARG_DEFAULT_BACKGROUND_BLUE,
|
ARG_DEFAULT_BACKGROUND_BLUE,
|
||||||
ARG_DEFAULT_BACKGROUND_ALPHA
|
ARG_DEFAULT_BACKGROUND_ALPHA,
|
||||||
|
ARG_SILENT
|
||||||
};
|
};
|
||||||
|
|
||||||
static GstStaticPadTemplate kate_sink_factory =
|
static GstStaticPadTemplate kate_sink_factory =
|
||||||
|
@ -294,6 +295,12 @@ gst_kate_tiger_class_init (GstKateTigerClass * klass)
|
||||||
"Default background color (alpha component, between 0 and 255) to render text with",
|
"Default background color (alpha component, between 0 and 255) to render text with",
|
||||||
0, 255, 255, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
0, 255, 255, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
|
/* FIXME 0.11: rename to "visible" or "text-visible" or "render-text" */
|
||||||
|
g_object_class_install_property (gobject_class, ARG_SILENT,
|
||||||
|
g_param_spec_boolean ("silent", "silent",
|
||||||
|
"Whether to render the stream",
|
||||||
|
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
gstelement_class->change_state =
|
gstelement_class->change_state =
|
||||||
GST_DEBUG_FUNCPTR (gst_kate_tiger_change_state);
|
GST_DEBUG_FUNCPTR (gst_kate_tiger_change_state);
|
||||||
}
|
}
|
||||||
|
@ -353,6 +360,7 @@ gst_kate_tiger_init (GstKateTiger * tiger, GstKateTigerClass * gclass)
|
||||||
tiger->default_background_g = 0;
|
tiger->default_background_g = 0;
|
||||||
tiger->default_background_b = 0;
|
tiger->default_background_b = 0;
|
||||||
tiger->default_background_a = 0;
|
tiger->default_background_a = 0;
|
||||||
|
tiger->silent = FALSE;
|
||||||
|
|
||||||
tiger->video_width = 0;
|
tiger->video_width = 0;
|
||||||
tiger->video_height = 0;
|
tiger->video_height = 0;
|
||||||
|
@ -488,6 +496,9 @@ gst_kate_tiger_set_property (GObject * object, guint prop_id,
|
||||||
tiger->default_background_a = g_value_get_int (value);
|
tiger->default_background_a = g_value_get_int (value);
|
||||||
gst_kate_tiger_update_default_background_color (tiger);
|
gst_kate_tiger_update_default_background_color (tiger);
|
||||||
break;
|
break;
|
||||||
|
case ARG_SILENT:
|
||||||
|
tiger->silent = g_value_get_boolean (value);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
|
@ -542,6 +553,9 @@ gst_kate_tiger_get_property (GObject * object, guint prop_id,
|
||||||
case ARG_DEFAULT_BACKGROUND_ALPHA:
|
case ARG_DEFAULT_BACKGROUND_ALPHA:
|
||||||
g_value_set_int (value, tiger->default_background_a);
|
g_value_set_int (value, tiger->default_background_a);
|
||||||
break;
|
break;
|
||||||
|
case ARG_SILENT:
|
||||||
|
g_value_set_boolean (value, tiger->silent);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
if (!gst_kate_util_decoder_base_get_property (&tiger->decoder, object,
|
if (!gst_kate_util_decoder_base_get_property (&tiger->decoder, object,
|
||||||
prop_id, value, pspec)) {
|
prop_id, value, pspec)) {
|
||||||
|
@ -767,7 +781,7 @@ gst_kate_tiger_video_chain (GstPad * pad, GstBuffer * buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if there nothing to draw, we can just push the video buffer as is */
|
/* if there nothing to draw, we can just push the video buffer as is */
|
||||||
if (ret > 0)
|
if (ret > 0 || tiger->silent)
|
||||||
goto pass;
|
goto pass;
|
||||||
|
|
||||||
/* there is something to draw, so first make the buffer writable */
|
/* there is something to draw, so first make the buffer writable */
|
||||||
|
|
|
@ -88,6 +88,7 @@ struct _GstKateTiger
|
||||||
guchar default_background_g;
|
guchar default_background_g;
|
||||||
guchar default_background_b;
|
guchar default_background_b;
|
||||||
guchar default_background_a;
|
guchar default_background_a;
|
||||||
|
gboolean silent;
|
||||||
|
|
||||||
gint video_width;
|
gint video_width;
|
||||||
gint video_height;
|
gint video_height;
|
||||||
|
|
Loading…
Reference in a new issue