renderer: improved code flow

This commit is contained in:
itsmattkc
2021-09-21 19:10:03 -07:00
parent 751b5f6c44
commit 677277c16d
17 changed files with 401 additions and 345 deletions
+8 -3
View File
@@ -85,7 +85,7 @@ bool Decoder::Open(const CodecStream &stream)
}
}
FramePtr Decoder::RetrieveVideo(const rational &timecode, const RetrieveVideoParams &divider)
FramePtr Decoder::RetrieveVideo(const rational &timecode, const RetrieveVideoParams &divider, const QAtomicInt *cancelled)
{
QMutexLocker locker(&mutex_);
@@ -101,7 +101,11 @@ FramePtr Decoder::RetrieveVideo(const rational &timecode, const RetrieveVideoPar
return nullptr;
}
return RetrieveVideoInternal(timecode, divider);
if (cancelled && *cancelled) {
return nullptr;
}
return RetrieveVideoInternal(timecode, divider, cancelled);
}
Decoder::RetrieveAudioData Decoder::RetrieveAudio(const TimeRange &range, const AudioParams &params, const QString& cache_path, Footage::LoopMode loop_mode, RenderMode::Mode mode)
@@ -248,10 +252,11 @@ int64_t Decoder::GetImageSequenceIndex(const QString &filename)
return number_only.toLongLong();
}
FramePtr Decoder::RetrieveVideoInternal(const rational &timecode, const RetrieveVideoParams &divider)
FramePtr Decoder::RetrieveVideoInternal(const rational &timecode, const RetrieveVideoParams &divider, const QAtomicInt *cancelled)
{
Q_UNUSED(timecode)
Q_UNUSED(divider)
Q_UNUSED(cancelled)
return nullptr;
}