libs: surface: ensure composite overlay is not bigger

Ensure the composition overlay rectangle (subtitles) is not bigger than
the surface where it is going to be composited and rendered.

https://bugzilla.gnome.org/show_bug.cgi?id=766978
This commit is contained in:
Víctor Manuel Jáquez Leal 2016-09-07 17:34:08 +02:00
parent c67edea4ab
commit 574ff693a5

View file

@ -1016,6 +1016,10 @@ gst_vaapi_surface_set_subpictures_from_composition (GstVaapiSurface * surface,
(gint *) & sub_rect.x, (gint *) & sub_rect.y, (gint *) & sub_rect.x, (gint *) & sub_rect.y,
&sub_rect.width, &sub_rect.height); &sub_rect.width, &sub_rect.height);
/* ensure that the overlay is not bigger than the surface */
sub_rect.y = MIN (sub_rect.y, surface->height);
sub_rect.width = MIN (sub_rect.width, surface->width);
if (!gst_vaapi_surface_associate_subpicture (surface, subpicture, if (!gst_vaapi_surface_associate_subpicture (surface, subpicture,
NULL, &sub_rect)) { NULL, &sub_rect)) {
GST_WARNING ("could not render overlay rectangle %p", rect); GST_WARNING ("could not render overlay rectangle %p", rect);