e_video_hwc: Stop queuing video updates on hwc windows policy 29/258829/7
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 26 May 2021 07:16:53 +0000 (16:16 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Fri, 11 Jun 2021 03:30:39 +0000 (03:30 +0000)
An update for a video surface(the surface associated with
tizen_video_object protocol) has been queued to apply later if it's
created early before previous update is not yet applied to a screen.
It's to ensure applying all video updates to a screen without any frame
drop.
But this operation makes synchronizing updates between video frame and
graphics frame so difficult.
Additionally, the wayland client is able to throttle frames on its own
by using frame callback.

So, this patch is to attempt to disable the queuing video updates
experimentally only on hwc windows policy.

Change-Id: I02bbda8bb51688a227f15bfa93a9991183cba064

src/bin/video/iface/e_video_hwc.c

index 3c77321..53ed8fe 100644 (file)
@@ -762,7 +762,7 @@ _e_video_hwc_buffer_show(E_Video_Hwc *evh, E_Comp_Wl_Video_Buf *vbuf, unsigned i
    if (vbuf->comp_buffer)
      e_comp_wl_buffer_reference(&vbuf->buffer_ref, vbuf->comp_buffer);
 
-   if (evh->committed_vbuf)
+   if ((evh->hwc_policy == E_HWC_POLICY_PLANES) && (evh->committed_vbuf))
      _e_video_hwc_buffer_enqueue(evh, vbuf);
    else
      _e_video_hwc_buffer_commit(evh, vbuf);