[gegl] bin: use gegl_buffer_open instead of gegl_buffer_load



commit 1b9049a16ba85c692262a006a3124d1514fd5da4
Author: Øyvind Kolås <pippin gimp org>
Date:   Wed May 29 01:31:21 2019 +0200

    bin: use gegl_buffer_open instead of gegl_buffer_load
    
    in frame-cache, this should be the most efficient later if we
    store mipmap tiles in the buffers as well.

 bin/gegl.c    |  2 ++
 bin/ui-core.c | 22 +++++++++++-----------
 2 files changed, 13 insertions(+), 11 deletions(-)
---
diff --git a/bin/gegl.c b/bin/gegl.c
index e48fcdc02..85c1a1b68 100644
--- a/bin/gegl.c
+++ b/bin/gegl.c
@@ -432,6 +432,8 @@ int gegl_str_has_video_suffix (char *path)
   return g_str_has_suffix (path, ".avi") ||
          g_str_has_suffix (path, ".AVI") ||
          g_str_has_suffix (path, ".mp4") ||
+         g_str_has_suffix (path, ".mov") ||
+         g_str_has_suffix (path, ".MOV") ||
          g_str_has_suffix (path, ".dv") ||
          g_str_has_suffix (path, ".DV") ||
          g_str_has_suffix (path, ".mp3") ||
diff --git a/bin/ui-core.c b/bin/ui-core.c
index c680a7aa0..fed6141cf 100644
--- a/bin/ui-core.c
+++ b/bin/ui-core.c
@@ -826,7 +826,7 @@ static GeglBuffer *_gegl_buffer_load (const char *path)
   GeglNode *gegl, *load, *sink;
   if (!strcmp (frame_ext, ".geglbuffer"))
   {
-    buffer = gegl_buffer_load (path);
+    buffer = gegl_buffer_open (path);
   }
   else
   {
@@ -1015,7 +1015,6 @@ static gboolean renderer_task (gpointer data)
   if (prev_complete_ms == 0)
     prev_complete_ms = mrg_ms (o->mrg);
 
-
   switch (o->renderer_state)
   {
     case TASK_BASE:
@@ -1064,15 +1063,6 @@ static gboolean renderer_task (gpointer data)
       }
       else
       {
-        if (thumb_queue)
-        {
-          o->renderer_state = TASK_THUMB;
-        }
-      else
-        {
-          g_usleep (500);
-          o->renderer_state = TASK_BASE;
-        }
 
         /* if it has been more than 1/3s since a queued
            redraw - and the currently cached cairo_surface of the GeglBuffer is
@@ -1083,6 +1073,16 @@ static gboolean renderer_task (gpointer data)
           mrg_gegl_dirty (o->mrg);
           mrg_queue_draw (o->mrg, NULL);
         }
+
+        if (thumb_queue)
+        {
+          o->renderer_state = TASK_THUMB;
+        }
+      else
+        {
+          g_usleep (500);
+          o->renderer_state = TASK_BASE;
+        }
       }
 
       if (o->renderer_state == TASK_RENDER)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]