From 464dfb9be029761af74f00a5e2e31cf528b560ce Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Mon, 6 Jan 2020 16:16:36 +1100 Subject: [PATCH] fixed audio renderer with new speed system --- app/render/backend/audiorenderworker.cpp | 6 ++++-- app/render/backend/videorenderworker.cpp | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/render/backend/audiorenderworker.cpp b/app/render/backend/audiorenderworker.cpp index cf8978f5b..3589be63f 100644 --- a/app/render/backend/audiorenderworker.cpp +++ b/app/render/backend/audiorenderworker.cpp @@ -52,10 +52,12 @@ NodeValueTable AudioRenderWorker::RenderBlock(const TrackOutput *track, const Ti if (!samples_from_this_block.isEmpty()) { // Stretch samples here - if (b->speed() != 1) { + rational abs_speed = qAbs(b->speed()); + + if (abs_speed != 1) { QByteArray speed_adjusted_samples; - double clip_speed = b->speed().toDouble(); + double clip_speed = abs_speed.toDouble(); int sample_count = audio_params_.bytes_to_samples(samples_from_this_block.size()); diff --git a/app/render/backend/videorenderworker.cpp b/app/render/backend/videorenderworker.cpp index 86745d8c6..138c054bb 100644 --- a/app/render/backend/videorenderworker.cpp +++ b/app/render/backend/videorenderworker.cpp @@ -81,10 +81,6 @@ void VideoRenderWorker::HashNodeRecursively(QCryptographicHash *hash, const Node if (param->type() == NodeParam::kInput) { NodeInput* input = static_cast(param); - // Get time adjustment - // For a single frame, we only care about one of the times - rational input_time = n->InputTimeAdjustment(input, TimeRange(time, time)).in(); - if (n->IsBlock()) { const Block* b = static_cast(n); @@ -96,6 +92,10 @@ void VideoRenderWorker::HashNodeRecursively(QCryptographicHash *hash, const Node } } + // Get time adjustment + // For a single frame, we only care about one of the times + rational input_time = n->InputTimeAdjustment(input, TimeRange(time, time)).in(); + if (input->IsConnected()) { // Traverse down this edge HashNodeRecursively(hash, input->get_connected_node(), input_time);