return GST_PAD_PROBE_OK;
}
- if (!self->no_alpha) {
- g_object_set (mixer_pad, "alpha", meta->alpha, NULL);
+ if (!self->disable_zorder_alpha) {
+ g_object_set (mixer_pad, "alpha", meta->alpha,
+ "zorder", meta->zorder, NULL);
}
g_object_set (mixer_pad, "xpos", meta->posx, "ypos",
- meta->posy, "zorder", meta->zorder, "width", meta->width,
- "height", meta->height, NULL);
+ meta->posy, "width", meta->width, "height", meta->height, NULL);
return GST_PAD_PROBE_OK;
}
GMutex lock;
GstCaps *caps;
- gboolean no_alpha;
+ gboolean disable_zorder_alpha;
gpointer _ges_reserved[GES_PADDING];
};
if (res && self->priv->positionner)
g_object_set (self->priv->positionner, "zorder",
- GES_TIMELINE_ELEMENT_PRIORITY (self), NULL);
+ G_MAXUINT - GES_TIMELINE_ELEMENT_PRIORITY (self), NULL);
return res;
}
/* That positionner will add metadata to buffers according to its
properties, acting like a proxy for our smart-mixer dynamic pads. */
positionner = gst_element_factory_make ("framepositionner", "frame_tagger");
+ g_object_set (positionner, "zorder",
+ G_MAXUINT - GES_TIMELINE_ELEMENT_PRIORITY (self), NULL);
videoscale =
gst_element_factory_make ("videoscale", "track-element-videoscale");
mixer = ges_smart_mixer_new (NULL);
g_assert (mixer);
- GES_SMART_MIXER (mixer)->no_alpha = TRUE;
+ GES_SMART_MIXER (mixer)->disable_zorder_alpha = TRUE;
gst_bin_add (GST_BIN (topbin), mixer);
priv->mixer_sinka =