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:
@@ -52,7 +52,9 @@ void AudioPlaybackCache::SetParameters(const AudioParams ¶ms)
|
||||
|
||||
// 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();
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ QFuture<QList<QByteArray> > RenderBackend::Hash(const QList<rational> ×)
|
||||
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());
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user