From ecfaa7b79dcca7666436b0e936a62d25491acc29 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sat, 14 Dec 2019 23:17:21 +1100 Subject: [PATCH] fixed bug where Node::InputTimeAdjustment isn't honored in footage retrieval This bug broke frame retrieval from the decoder when the clip in point was trimmed. This commit fixes it. --- app/render/backend/videorenderworker.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/render/backend/videorenderworker.cpp b/app/render/backend/videorenderworker.cpp index 28729aae4..806fba049 100644 --- a/app/render/backend/videorenderworker.cpp +++ b/app/render/backend/videorenderworker.cpp @@ -67,10 +67,8 @@ void VideoRenderWorker::HashNodeRecursively(QCryptographicHash *hash, const Node NodeInput* input = static_cast(param); // Get time adjustment - TimeRange range = n->InputTimeAdjustment(input, TimeRange(time, time)); - // For a single frame, we only care about one of the times - rational input_time = range.in(); + rational input_time = n->InputTimeAdjustment(input, TimeRange(time, time)).in(); if (input->IsConnected()) { // Traverse down this edge @@ -102,7 +100,7 @@ void VideoRenderWorker::HashNodeRecursively(QCryptographicHash *hash, const Node ImageStreamPtr video_stream = std::static_pointer_cast(stream); // Footage timestamp - hash->addData(QString::number(decoder->GetTimestampFromTime(time)).toUtf8()); + hash->addData(QString::number(decoder->GetTimestampFromTime(input_time)).toUtf8()); // Current colorspace // FIXME: Handle empty colorspace...