project: replaced proxy with pre-cache

Removed proxy task and replaced with a true honest-to-god pre-cache for
footage. This footage is pre-cached to a sequence and therefore 100% ready
for use in it once the task is done.
This commit is contained in:
itsmattkc
2020-06-08 23:17:51 +10:00
parent 50b4c1e456
commit 9095dfa463
31 changed files with 223 additions and 665 deletions
+3 -1
View File
@@ -52,7 +52,9 @@ void AudioPlaybackCache::SetParameters(const AudioParams &params)
// Our current audio cache is unusable, so we truncate it automatically
TimeRange invalidate_range(0, NoLockGetLength());
NoLockInvalidate(invalidate_range);
if (invalidate_range.in() != invalidate_range.out()) {
NoLockInvalidate(invalidate_range);
}
locker.unlock();
+1 -2
View File
@@ -41,8 +41,7 @@ void OpenGLWorker::TextureToFrame(const QVariant &texture, FramePtr frame, const
NodeValue OpenGLWorker::FrameToTexture(DecoderPtr decoder, StreamPtr stream, const TimeRange &range) const
{
FramePtr frame = decoder->RetrieveVideo(range.in(),
video_params().divider(),
render_mode() == RenderMode::kOffline);
video_params().divider());
NodeValue value;
+1 -1
View File
@@ -127,7 +127,7 @@ QFuture<QList<QByteArray> > RenderBackend::Hash(const QList<rational> &times)
hasher.addData(reinterpret_cast<const char*>(&video_params_.format()), sizeof(PixelFormat::Format));
hasher.addData(reinterpret_cast<const char*>(&render_mode_), sizeof(RenderMode::Mode));
copied_viewer_node_->Hash(hasher, t);
copied_viewer_node_->texture_input()->get_connected_node()->Hash(hasher, t);
hashes.append(hasher.result());
}
+2 -2
View File
@@ -62,6 +62,8 @@ public:
void ClearVideoQueue();
void ProcessUpdateQueue();
/**
* @brief Asynchronously generate a hash at a given time
*/
@@ -98,8 +100,6 @@ private:
void RunNextJob();
void ProcessUpdateQueue();
ViewerOutput* viewer_node_;
// VIDEO MEMBERS