video: Keep video client from being resized by wl_surface::commit 82/252782/3
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:33:13 +0000 (08:33 +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 fe3352937f641e9d73ef4f745a78c31c8d200e99..9086152885cbaa603cf3058cb01b1975cf999964 100644 (file)
@@ -2586,7 +2586,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);
                }