Revert "basetextoverlay: segfault when xpos >= video size"

This is not right, even if it might avoid a crash. We don't
want to just set xpos/ypos to 0 in those cases. Clipping
should be done properly, see bug #739281 for that.

This reverts commit 900d0267d511e9553eec44d948d7e33ead7dc903.

https://bugzilla.gnome.org/show_bug.cgi?id=738984
https://bugzilla.gnome.org/show_bug.cgi?id=739281
This commit is contained in:
Tim-Philipp Müller 2014-11-05 21:46:47 +00:00
parent 5339e4507a
commit a003423bc3

View File

@ -1349,7 +1349,7 @@ gst_base_text_overlay_get_pos (GstBaseTextOverlay * overlay,
gint width, height; gint width, height;
GstBaseTextOverlayVAlign valign; GstBaseTextOverlayVAlign valign;
GstBaseTextOverlayHAlign halign; GstBaseTextOverlayHAlign halign;
*ypos = 0;
width = overlay->image_width; width = overlay->image_width;
height = overlay->image_height; height = overlay->image_height;
@ -1378,9 +1378,8 @@ gst_base_text_overlay_get_pos (GstBaseTextOverlay * overlay,
*xpos = 0; *xpos = 0;
} }
*xpos += overlay->deltax; *xpos += overlay->deltax;
if (*xpos > overlay->width || *xpos < 0) { if (*xpos > overlay->width) {
/* Clip text if out of frame */ /* Clip text if out of frame */
*xpos = 0;
overlay->silent = TRUE; overlay->silent = TRUE;
} else { } else {
if (overlay->use_vertical_render) if (overlay->use_vertical_render)
@ -1410,9 +1409,8 @@ gst_base_text_overlay_get_pos (GstBaseTextOverlay * overlay,
break; break;
} }
*ypos += overlay->deltay; *ypos += overlay->deltay;
if (*ypos > overlay->height || *ypos < 0) { if (*ypos > overlay->height) {
/* Clip text if out of frame */ /* Clip text if out of frame */
*ypos = 0;
overlay->silent = TRUE; overlay->silent = TRUE;
} }
} }