From 8c06c85d83dfd3ca7dfc286366d8865e193bac83 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Sat, 29 Aug 2015 16:51:08 +0530 Subject: [PATCH] compositor: variables in clamp_rectangle() should be signed x/y/w/h are signed integers. As can be seen in GstCompositorPad. The prototype for clamp_rectangle was wrong. This commit reverts the change and fixes the prototype. This reverts commit bca444ea4a84c39e9989681f892f6e4cb2033cf9. --- gst/compositor/compositor.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gst/compositor/compositor.c b/gst/compositor/compositor.c index 66927ba3a9..64d05ac180 100644 --- a/gst/compositor/compositor.c +++ b/gst/compositor/compositor.c @@ -351,21 +351,21 @@ is_rectangle_contained (GstVideoRectangle rect1, GstVideoRectangle rect2) } static GstVideoRectangle -clamp_rectangle (guint x, guint y, guint w, guint h, guint outer_width, +clamp_rectangle (gint x, gint y, gint w, gint h, guint outer_width, guint outer_height) { - guint x2 = x + w; - guint y2 = y + h; + gint x2 = x + w; + gint y2 = y + h; GstVideoRectangle clamped; /* Clamp the x/y coordinates of this frame to the output boundaries to cover * the case where (say, with negative xpos/ypos or w/h greater than the output * size) the non-obscured portion of the frame could be outside the bounds of * the video itself and hence not visible at all */ - clamped.x = MIN (x, outer_width); - clamped.y = MIN (y, outer_height); - clamped.w = MIN (x2, outer_width) - clamped.x; - clamped.h = MIN (y2, outer_height) - clamped.y; + clamped.x = CLAMP (x, 0, outer_width); + clamped.y = CLAMP (y, 0, outer_height); + clamped.w = CLAMP (x2, 0, outer_width) - clamped.x; + clamped.h = CLAMP (y2, 0, outer_height) - clamped.y; return clamped; }