mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-19 00:01:23 +00:00
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:
parent
fb2d3abca8
commit
c51fe83d42
1 changed files with 4 additions and 1 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue