gl/eagl: Fix resize condition check in draw_cb to not get called unnecessarily

A CGSize contains CGFloat values (a typedef to double or float), which means
that the values aren't equal, despite it being equal after they are cast to
int by assigning them to window_height/width private members. This leads to
excessive gst_gl_window_resize calls on each frame, at least if the CGFloat
value has a .5 decimal value, e.g. 103.5.
Fix it by storing them as CGFloat instead of gint.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/945>
This commit is contained in:
Mart Raudsepp 2020-11-26 14:45:05 +02:00 committed by GStreamer Merge Bot
parent d4ff62700d
commit 8ffea3afb5

View file

@ -57,7 +57,7 @@ struct _GstGLWindowEaglPrivate
gpointer external_view;
gpointer internal_view;
gpointer layer;
gint window_width, window_height;
CGFloat window_width, window_height;
gint preferred_width, preferred_height;
gpointer gl_queue;
GMutex draw_lock;