renderer: use a dedicated decoder per thread

This commit is contained in:
itsmattkc
2020-04-11 13:18:31 +10:00
parent f5a9dee139
commit 0c3ce03348
14 changed files with 22 additions and 34 deletions
+1 -1
View File
@@ -46,7 +46,7 @@ bool AudioBackend::InitInternal()
// Initiate one thread per CPU core
for (int i=0;i<threads().size();i++) {
// Create one processor object for each thread
AudioWorker* processor = new AudioWorker(decoder_cache(), &copy_map_);
AudioWorker* processor = new AudioWorker(&copy_map_);
processor->SetParameters(params());
processors_.append(processor);
}
+2 -2
View File
@@ -22,8 +22,8 @@
OLIVE_NAMESPACE_ENTER
AudioWorker::AudioWorker(DecoderCache* decoder_cache, QHash<Node *, Node *> *copy_map, QObject *parent) :
AudioRenderWorker(decoder_cache, copy_map, parent)
AudioWorker::AudioWorker(QHash<Node *, Node *> *copy_map, QObject *parent) :
AudioRenderWorker(copy_map, parent)
{
}
+1 -1
View File
@@ -28,7 +28,7 @@ OLIVE_NAMESPACE_ENTER
class AudioWorker : public AudioRenderWorker
{
public:
AudioWorker(DecoderCache* decoder_cache, QHash<Node*, Node*>* copy_map, QObject* parent = nullptr);
AudioWorker(QHash<Node*, Node*>* copy_map, QObject* parent = nullptr);
protected:
virtual void FrameToValue(DecoderPtr decoder, StreamPtr stream, const TimeRange &range, NodeValueTable* table) override;