return;
}
+ ecv->iface->destroy(ecv->iface);
+ ecv->iface = new_iface;
+
/* workaround:
* For redrawing compositor's canvas for video buffer. */
buffer = e_pixmap_resource_get(ecv->ec->pixmap);
buffer->type = E_COMP_WL_BUFFER_TYPE_TBM;
e_comp_wl_surface_commit(ecv->ec);
}
-
- ecv->iface->destroy(ecv->iface);
- ecv->iface = new_iface;
}
static Eina_Bool
static Eina_Bool _e_video_hwc_render(E_Video_Hwc *evh, const char *func);
static void _e_video_hwc_buffer_show(E_Video_Hwc *evh, E_Comp_Wl_Video_Buf *vbuf, unsigned int transform);
static void _e_video_hwc_buffer_commit(E_Video_Hwc *evh, E_Comp_Wl_Video_Buf *vbuf);
-static void _e_video_hwc_del(E_Video_Hwc *evh);
static void
_coord_move_to_axis(int x_axis, int y_axis, int *ox, int *oy)
if (evh->deleted)
{
VIN("Delete HWC interface", evh->ec);
- _e_video_hwc_del(evh);
+ evh->backend.destroy(evh);
}
}
}
}
static void
-_e_video_hwc_del(E_Video_Hwc *evh)
+_e_video_hwc_iface_destroy(E_Video_Comp_Iface *iface)
{
E_Comp_Wl_Video_Buf *vbuf;
Eina_List *l = NULL, *ll = NULL;
+ IFACE_ENTRY;
+
_e_video_hwc_hide(evh);
EINA_LIST_FOREACH_SAFE(evh->input_buffer_list, l, ll, vbuf)
E_FREE_FUNC(evh->render.job, ecore_job_del);
- evh->backend.destroy(evh);
-}
-
-static void
-_e_video_hwc_iface_destroy(E_Video_Comp_Iface *iface)
-{
- IFACE_ENTRY;
-
if (evh->render_fail.walking)
{
evh->deleted = EINA_TRUE;
return;
}
- _e_video_hwc_del(evh);
+ evh->backend.destroy(evh);
}
static Eina_Bool