video: Keep video client from being resized by wl_surface::commit 86/252786/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:31 +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 48f6ff3b2224035a3f92b3380edcfabd6fe4bd55..70307ab72e2e4615b5f2d37ec4d6ed9fadf4e131 100644 (file)
@@ -2609,7 +2609,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);
                }