waylandsink: call gst_video_sink_center_rect with a destination rectangle that starts from (0,0)

The intention of this code is to find the center rectangle relative
to (0,0), since subsurface coordinates are relative to the parent
surface.

The old code used to work but was wrong and broken by
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/gst-libs/gst/video/gstvideosink.c?id=ff57f6913456ec1991e55517cf1f239e80eeddef
This commit is contained in:
George Kiagiadakis 2015-11-18 12:56:06 +01:00
parent fb2d3abca8
commit c51fe83d42

View file

@ -238,12 +238,15 @@ static void
gst_wl_window_resize_video_surface (GstWlWindow * window, gboolean commit)
{
GstVideoRectangle src = { 0, };
GstVideoRectangle dst = { 0, };
GstVideoRectangle res;
/* center the video_subsurface inside area_subsurface */
src.w = window->video_width;
src.h = window->video_height;
gst_video_sink_center_rect (src, window->render_rectangle, &res, TRUE);
dst.w = window->render_rectangle.w;
dst.h = window->render_rectangle.h;
gst_video_sink_center_rect (src, dst, &res, TRUE);
wl_subsurface_set_position (window->video_subsurface, res.x, res.y);
wl_viewport_set_destination (window->video_viewport, res.w, res.h);