static void
_e_client_video_comp_iface_deinit(E_Client_Video *ecv)
{
+ if (!ecv->iface) return;
+
ecv->iface->destroy(ecv->iface);
ecv->iface = NULL;
}
{
E_Client_Video *ecv;
E_Event_Client_Zone_Set *ev;
+ Eina_Bool res;
ecv = data;
ev = event;
if (ecv->ec != ev->ec)
goto end;
- /* TODO
- * if compositing policy of given E_Zone is changed, de-initialize previous
- * compositing interface and initialize new compositing interface. */
+ _e_client_video_comp_iface_deinit(ecv);
+
+ res = _e_client_video_comp_iface_init(ecv, ev->ec);
+ if (!res)
+ {
+ VER("Failed to initialize the composition interface for video", ev->ec);
+ return ECORE_CALLBACK_PASS_ON;
+ }
end:
return ECORE_CALLBACK_PASS_ON;