mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
title-source: Force format with alpha channels out of videotestsrc
Making sure the user can set a background of the title with an alpha channel. Working around https://bugzilla.gnome.org/show_bug.cgi?id=755482 for the 1.6 branch.
This commit is contained in:
parent
f019118ca8
commit
7d1e101072
1 changed files with 10 additions and 3 deletions
|
@ -231,7 +231,8 @@ ges_title_source_set_property (GObject * object,
|
|||
static GstElement *
|
||||
ges_title_source_create_source (GESTrackElement * object)
|
||||
{
|
||||
GstElement *topbin, *background, *text;
|
||||
GstCaps *alphacaps;
|
||||
GstElement *topbin, *background, *text, *capsfilter;
|
||||
GstPad *src, *pad;
|
||||
|
||||
GESTitleSource *self = GES_TITLE_SOURCE (object);
|
||||
|
@ -243,7 +244,11 @@ ges_title_source_create_source (GESTrackElement * object)
|
|||
|
||||
topbin = gst_bin_new ("titlesrc-bin");
|
||||
background = gst_element_factory_make ("videotestsrc", "titlesrc-bg");
|
||||
capsfilter = gst_element_factory_make ("capsfilter", NULL);
|
||||
|
||||
alphacaps =
|
||||
gst_caps_from_string ("video/x-raw, format={AYUV, AYUV64, ARGB, ARGB64}");
|
||||
g_object_set (capsfilter, "caps", alphacaps, NULL);
|
||||
text = gst_element_factory_make ("textoverlay", "titlsrc-text");
|
||||
if (priv->text) {
|
||||
g_object_set (text, "text", priv->text, NULL);
|
||||
|
@ -263,9 +268,11 @@ ges_title_source_create_source (GESTrackElement * object)
|
|||
g_object_set (background, "foreground-color", (guint) self->priv->background,
|
||||
NULL);
|
||||
|
||||
gst_bin_add_many (GST_BIN (topbin), background, text, NULL);
|
||||
gst_bin_add_many (GST_BIN (topbin), background, capsfilter, text, NULL);
|
||||
|
||||
gst_element_link_pads_full (background, "src", text, "video_sink",
|
||||
gst_element_link_pads_full (background, "src", capsfilter, "sink",
|
||||
GST_PAD_LINK_CHECK_NOTHING);
|
||||
gst_element_link_pads_full (capsfilter, "src", text, "video_sink",
|
||||
GST_PAD_LINK_CHECK_NOTHING);
|
||||
|
||||
pad = gst_element_get_static_pad (text, "src");
|
||||
|
|
Loading…
Reference in a new issue