glimagesink: Fix render rect assertion

Whenever the surface is resized before the stream is negotiated, we endup
with an assertion in libgstvideo.

  gst_video_center_rect: assertion 'src->h != 0' failed

This fixes it, by following the style aready in place, which is to ensure
surfaces have a minimum size of 1x1.

Fixes #1139

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3467>
This commit is contained in:
Nicolas Dufresne 2022-11-25 10:01:06 -05:00 committed by GStreamer Marge Bot
parent dec3aa55e9
commit b985c8eadd

View file

@ -2298,6 +2298,10 @@ gst_glimage_sink_on_resize (GstGLImageSink * gl_sink, gint width, gint height)
src.h = GST_VIDEO_SINK_HEIGHT (gl_sink); src.h = GST_VIDEO_SINK_HEIGHT (gl_sink);
} }
/* The stream may not be negotiated yet */
src.w = MAX (1, src.w);
src.h = MAX (1, src.h);
dst.x = 0; dst.x = 0;
dst.y = 0; dst.y = 0;
dst.w = width; dst.w = width;