diff --git a/app/node/block/transition/crossdissolve/crossdissolvetransition.cpp b/app/node/block/transition/crossdissolve/crossdissolvetransition.cpp index 89ef31790..28264a446 100644 --- a/app/node/block/transition/crossdissolve/crossdissolvetransition.cpp +++ b/app/node/block/transition/crossdissolve/crossdissolvetransition.cpp @@ -70,9 +70,9 @@ void CrossDissolveTransition::SampleJobEvent(const SampleBuffer &from_samples, c if (to_samples.is_allocated()) { // Offset input samples from the end - int in_index = i - (out_samples.sample_count() - to_samples.sample_count()); - - if (in_index >= 0) { + size_t remain = (out_samples.sample_count() - to_samples.sample_count()); + if (i >= remain) { + qint64 in_index = i - remain; out_samples.data(j)[i] += to_samples.data(j)[in_index] * TransformCurve(progress); } } diff --git a/app/render/renderprocessor.cpp b/app/render/renderprocessor.cpp index 92d61c041..426b0a9ed 100644 --- a/app/render/renderprocessor.cpp +++ b/app/render/renderprocessor.cpp @@ -558,7 +558,7 @@ void RenderProcessor::ProcessSamples(SampleBuffer &destination, const Node *node const AudioParams& audio_params = GetCacheAudioParams(); - for (int i=0;i(i) / static_cast(audio_params.sample_rate());