diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2016-03-11 13:15:03 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2016-03-11 13:15:53 +0000 |
commit | 241fcaa64567489ab592f391da66af71528ce373 (patch) | |
tree | 661bafe8108ea8b455ed2feb28472b752f94c262 | |
parent | 747bf129592de4efe12b53c303295aaeea9189ac (diff) | |
download | gstreamer-plugins-base-241fcaa64567489ab592f391da66af71528ce373.tar.gz |
Revert "textoverlay: Do not limit positioning to video area."
This reverts commit a48daf6dd8cb69b4260a03aa7f3cdf227d4f1602.
This changed behaviour in a way that's not always
backwards-compatible.
https://bugzilla.gnome.org/show_bug.cgi?id=761251
-rw-r--r-- | ext/pango/gstbasetextoverlay.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/pango/gstbasetextoverlay.c b/ext/pango/gstbasetextoverlay.c index af61e3bac..669b0c231 100644 --- a/ext/pango/gstbasetextoverlay.c +++ b/ext/pango/gstbasetextoverlay.c @@ -445,8 +445,8 @@ gst_base_text_overlay_class_init (GstBaseTextOverlayClass * klass) */ g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_XPOS, g_param_spec_double ("xpos", "horizontal position", - "Horizontal position when using position alignment", -G_MAXDOUBLE, - G_MAXDOUBLE, DEFAULT_PROP_XPOS, + "Horizontal position when using position alignment", 0, 1.0, + DEFAULT_PROP_XPOS, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS)); /** * GstBaseTextOverlay:ypos: @@ -455,8 +455,8 @@ gst_base_text_overlay_class_init (GstBaseTextOverlayClass * klass) */ g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_YPOS, g_param_spec_double ("ypos", "vertical position", - "Vertical position when using position alignment", -G_MAXDOUBLE, - G_MAXDOUBLE, DEFAULT_PROP_YPOS, + "Vertical position when using position alignment", 0, 1.0, + DEFAULT_PROP_YPOS, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_WRAP_MODE, g_param_spec_enum ("wrap-mode", "wrap mode", @@ -1492,6 +1492,9 @@ gst_base_text_overlay_get_pos (GstBaseTextOverlay * overlay, break; case GST_BASE_TEXT_OVERLAY_HALIGN_POS: *xpos += (gint) (overlay->width * overlay->xpos) - width / 2; + *xpos = CLAMP (*xpos, 0, overlay->width - overlay->ink_rect.width); + if (*xpos < 0) + *xpos = 0; break; default: *xpos = 0; @@ -1516,6 +1519,7 @@ gst_base_text_overlay_get_pos (GstBaseTextOverlay * overlay, break; case GST_BASE_TEXT_OVERLAY_VALIGN_POS: *ypos = (gint) (overlay->height * overlay->ypos) - height / 2; + *ypos = CLAMP (*ypos, 0, overlay->height - overlay->ink_rect.height); break; case GST_BASE_TEXT_OVERLAY_VALIGN_CENTER: *ypos = (overlay->height - height) / 2; |