- Timeline composition no longer mutates cached clip frames (fixes trails/ghosting).

- Clip updates via ApplyJsonDiff now also clear clip cache (not just timeline/reader ranges).
- Added regressions for cache invalidation + no cached-frame mutation; kept paused preroll/cache-bar behavior intact.
This commit is contained in:
Jonathan Thomas
2026-03-01 14:19:27 -06:00
parent c74b07a21e
commit 4387f8b394
8 changed files with 208 additions and 7 deletions

View File

@@ -94,6 +94,8 @@ namespace openshot
if (new_speed != 0) {
last_speed.store(new_speed);
last_dir.store(new_speed > 0 ? 1 : -1);
// Leaving paused/scrub context: resume normal cache behavior.
scrub_active.store(false);
}
speed.store(new_speed);
}
@@ -168,6 +170,9 @@ namespace openshot
should_clear_cache = true;
}
else if (cache) {
if (cache_contains) {
cache->Remove(new_position);
}
new_cached_count = cache->Count();
}
entering_scrub = true;