video: Keep video client from being resized by wl_surface::commit 84/252784/2
authorSeunghun Lee <shiin.lee@samsung.com>
Tue, 2 Feb 2021 07:44:52 +0000 (16:44 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Tue, 2 Feb 2021 08:19:15 +0000 (08:19 +0000)
When video client is displayed on HW overlay, it is wasteful to resize
its evas object. It eventually causes evas rendering to run wastefully.

Plus, evas rendering normally run on idle enterer and
wl_display_flush_clients() which flush its messages for client is
handled on fd handler of ecore event loop.

So, if evas rendering happens because of resize of evas object, then
wl_surface::frame will be delayed depending on it,
even though video contents is not actually rendered by evas.

Change-Id: I44332acf5079a204f8e833f35fe2ef27255bb9dc

src/bin/e_comp_wl.c

index 7b127d751a6c1e15cf687332fb52e5317203aa30..251d16cc7d75ea2c049a269cb9f0442ceba10b9b 100644 (file)
@@ -2632,7 +2632,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
                   e_drag_resize(e_comp_wl->drag,
                                 state->bw, state->bh);
                }
-             else
+             else if (!e_client_video_hw_composition_check(ec))
                {
                   e_client_util_move_resize_without_frame(ec, x, y, ec->w, ec->h);
                }