cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=365f79b7eea393bdecf3c20f60ccb5945919da74

commit 365f79b7eea393bdecf3c20f60ccb5945919da74
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Tue Dec 6 16:23:59 2016 -0800

    evas: use emile and evas new infrastructure to interrupt decoding of JPEG 
early.
---
 src/modules/evas/image_loaders/jpeg/evas_image_load_jpeg.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/image_loaders/jpeg/evas_image_load_jpeg.c 
b/src/modules/evas/image_loaders/jpeg/evas_image_load_jpeg.c
index 6813358..b749638 100644
--- a/src/modules/evas/image_loaders/jpeg/evas_image_load_jpeg.c
+++ b/src/modules/evas/image_loaders/jpeg/evas_image_load_jpeg.c
@@ -84,6 +84,14 @@ evas_image_load_file_head_jpeg(void *loader_data,
    return ret;
 }
 
+static Eina_Bool
+_evas_image_load_jpeg_cancelled(void *data EINA_UNUSED,
+                                Emile_Image *image EINA_UNUSED,
+                                Emile_Action action EINA_UNUSED)
+{
+   return evas_module_task_cancelled();
+}
+
 Eina_Bool
 evas_image_load_file_data_jpeg(void *loader_data,
                               Evas_Image_Property *prop,
@@ -94,6 +102,9 @@ evas_image_load_file_data_jpeg(void *loader_data,
    Emile_Image_Load_Error image_error;
    Eina_Bool ret;
 
+   emile_image_register(loader->image,
+                        _evas_image_load_jpeg_cancelled,
+                        EMILE_ACTION_CANCELLED, NULL);
    ret = emile_image_data(loader->image,
                           prop, sizeof (*prop),
                           pixels,
@@ -142,4 +153,3 @@ EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, 
image_loader, jpeg);
 #ifndef EVAS_STATIC_BUILD_JPEG
 EVAS_EINA_MODULE_DEFINE(image_loader, jpeg);
 #endif
-

-- 


Reply via email to