video: Move video update job to E_MAIN_HOOK_POST_CLIENT_IDLER_BEFORE 54/285654/1 accepted/tizen/unified/20221219.024726
authorSeunghun Lee <shiin.lee@samsung.com>
Thu, 15 Dec 2022 08:16:10 +0000 (17:16 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 16 Dec 2022 05:01:34 +0000 (14:01 +0900)
commit7cafd567362e08075a741db549cc4c7f64d9fd2d
tree633db87672d3af0b6b1562df9d5c19138b59429a
parent4b92e47107c133597de7be9a6d325584139a92a3
video: Move video update job to E_MAIN_HOOK_POST_CLIENT_IDLER_BEFORE

This patch is to change the order of jobs like this:

Old:
  video update job -> e_client_idler_before() -> hwc commit job

New:
  e_client_idler_before() -> video update job -> hwc commit job

The problem with the old way is that if the E_Client for video gets
updated for some reason in the process of e_client_idler_before(), then
video update job couldn't get a chance to be up to date with it and hwc
commit job would end up getting done without the update.

It would be obviously better if we could commit all changes to onscreen
at once as far as possible. And this patch is made to achieve it.

It is necessaty to add a new hook point called
E_MAIN_HOOK_POST_CLIENT_IDLER_BEFORE in e_main, because there is no way
to insert a video update job handler between e_client_idler_before() and
hwc commt job,

The callbacks associated with the hook point will be called right after
the call e_client_idler_before().

This way, video update job will be able to get a chance to be up to date
with changes which might be made in the process of
e_client_idler_before().

Change-Id: I857e0efcb12e7a06c18921bdfc6e6077fd5f521d
src/bin/e_main.c
src/bin/e_main.h
src/bin/video/iface/e_video_hwc.c
src/bin/video/iface/e_video_hwc.h