renderer: improve thread safety

Since we share render backends between the viewer and cache tasks now, we
should ensure the render backend is thread safe.
This commit is contained in:
itsmattkc
2020-07-07 13:16:25 +10:00
parent a45f514f68
commit 919314cce8
6 changed files with 17 additions and 19 deletions
+2 -2
View File
@@ -139,7 +139,7 @@ RenderTicketPtr RenderBackend::RenderFrame(const rational &time)
render_queue_.push_back(ticket);
RunNextJob();
QMetaObject::invokeMethod(this, "RunNextJob", Qt::QueuedConnection);
return ticket;
}
@@ -155,7 +155,7 @@ RenderTicketPtr RenderBackend::RenderAudio(const TimeRange &r)
render_queue_.push_back(ticket);
RunNextJob();
QMetaObject::invokeMethod(this, "RunNextJob", Qt::QueuedConnection);
return ticket;
}
+2 -2
View File
@@ -115,8 +115,6 @@ private:
Node *CopyNodeConnections(Node *src_node);
void CopyNodeMakeConnection(NodeInput *src_input, NodeInput *dst_input);
void RunNextJob();
ViewerOutput* viewer_node_;
// VIDEO MEMBERS
@@ -150,6 +148,8 @@ private:
private slots:
void WorkerFinished();
void RunNextJob();
};
OLIVE_NAMESPACE_EXIT