blender/extern/audaspace/include/sequence
Aras Pranckevicius 72f59a9506 Fix #155719: VSE crashes with retimed sound strips
A bug in Audaspace that looks to be since Blender 3.6 (upstream commit db2ff58077):

1. Sound strips that are retimed use AnimateableProperty::writeConstantRange
  to write their section of pitch property values.
2. However, unlike AnimateableProperty::write, the writeConstantRange
  was not updating or handling "unknown" ranges of the animated values!
  So they ended up being completely uninitialized/garbage.
3. Now later on, when pitch value is read through
  AnimateableProperty::read, it does a cubic filter. Which means one of
  the filter taps can read from the "unknown" portion of the buffer,
  with whatever garbage value happened to be there.
4. As a result, effective pitch can end up being "anything", including
  values really close to zero, or values really close to infinities.
5. The JOS resample reader is not particularly safe against overflowing
  integers when it divides by ratios derived from this garbage pitch.
  So it ends up having "how much to read" being e.g. "4 billion" due
  to integer overflows.
6. Hilarity ensues!

From what I can tell, the problem is that the writeConstantRange did
not have the bit that fills in unknown parts of the buffer to have
something sensible.

Audaspace upstream PR https://github.com/neXyon/audaspace/pull/73
has been merged already.

Pull Request: https://projects.blender.org/blender/blender/pulls/159091
2026-05-27 11:20:46 +02:00
..
AnimateableProperty.h
Double.h
DoubleReader.h
PingPong.h
Sequence.h
SequenceData.h
SequenceEntry.h
SequenceReader.h
Superpose.h
SuperposeReader.h