---------- Forwarded message --------- От: Андрей Рандрианасулу <rand...@mail.ru> Date: пн, 14 нояб. 2022 г., 04:37 Subject: oh, my fix for nested edl undo crash regressed video! To: randrianasulu <randrianas...@gmail.com>
better (?) fix (tested with video this time) -- Андрей Рандрианасулу
From f8ffcc027f3c54dbb755b7fb0dc53ec21c7fd600 Mon Sep 17 00:00:00 2001 From: Andrew Randrianasulu <randrianasulu@gmail.com> Date: Sun, 13 Nov 2022 17:49:11 +0300 Subject: [PATCH 1/2] EXPERIMENTAL better fix for nested edl load/undo? --- cinelerra-5.1/cinelerra/cache.C | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cinelerra-5.1/cinelerra/cache.C b/cinelerra-5.1/cinelerra/cache.C index a93f1e1b..7c640d9e 100644 --- a/cinelerra-5.1/cinelerra/cache.C +++ b/cinelerra-5.1/cinelerra/cache.C @@ -117,11 +117,14 @@ File* CICache::check_out(Asset *asset, EDL *edl, int block) // cache deleted during checkout, destroy this if( users == 1 ) { - remove_user(); + current->Garbage::remove_user(); + total_lock->unlock(); return 0; } - remove_user(); + //printf("users: %i \n", users ); + + current->Garbage::remove_user(); total_lock->unlock(); //printf("check out %p %lx %s\n", current, tid, asset->path); return current ? current->file : 0; -- 2.30.4
From c4c4c4bf1b4431fb4f013085e8ac07d454861ede Mon Sep 17 00:00:00 2001 From: Andrew Randrianasulu <randrianasulu@gmail.com> Date: Mon, 14 Nov 2022 07:04:30 +0300 Subject: [PATCH 2/2] EXPERIMENTAL fix speed of normal video playback --- cinelerra-5.1/cinelerra/cache.C | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cinelerra-5.1/cinelerra/cache.C b/cinelerra-5.1/cinelerra/cache.C index 7c640d9e..cf352282 100644 --- a/cinelerra-5.1/cinelerra/cache.C +++ b/cinelerra-5.1/cinelerra/cache.C @@ -117,14 +117,16 @@ File* CICache::check_out(Asset *asset, EDL *edl, int block) // cache deleted during checkout, destroy this if( users == 1 ) { - current->Garbage::remove_user(); + remove_user(); total_lock->unlock(); return 0; } //printf("users: %i \n", users ); + EDL *parent = edl->parent_edl; + if(parent) + remove_user(); - current->Garbage::remove_user(); total_lock->unlock(); //printf("check out %p %lx %s\n", current, tid, asset->path); return current ? current->file : 0; -- 2.30.4
-- Cin mailing list Cin@lists.cinelerra-gg.org https://lists.cinelerra-gg.org/mailman/listinfo/cin