Fix #119456, #119493: VSE adjustment/text strips do not update in some cases

As part of PR #118396 the "generator" effect strips (color, text,
adjustment) also started to put their "raw" images into the cache.
However, seq_cache_timeline_frame_to_frame_index that has optimization
that tries to use only one cache entry based on how many frames are
present in the strip was not expecting to see effect strips, ever.

As a result, something like adjustment layer would effectively just
cache a single frame, since it has no "source frames" to speak of.

Fixed that by only doing this optimization for non-effect strips.
This commit is contained in:
Aras Pranckevicius 2024-03-15 10:37:30 +02:00
parent 0b9ef9ee2a
commit 6826efdb02

View file

@ -133,7 +133,8 @@ static float seq_cache_timeline_frame_to_frame_index(Scene *scene,
/* With raw images, map timeline_frame to strip input media frame range. This means that static
* images or extended frame range of movies will only generate one cache entry. No special
* treatment in converting frame index to timeline_frame is needed. */
if (ELEM(type, SEQ_CACHE_STORE_RAW, SEQ_CACHE_STORE_THUMBNAIL)) {
bool is_effect = seq->type & SEQ_TYPE_EFFECT;
if (!is_effect && ELEM(type, SEQ_CACHE_STORE_RAW, SEQ_CACHE_STORE_THUMBNAIL)) {
return SEQ_give_frame_index(scene, seq, timeline_frame);
}