exporttask: make copy of project

Fixes #2037
This commit is contained in:
itsmattkc
2022-11-05 12:37:38 -07:00
parent 1057020d4f
commit 3853ef023e
2 changed files with 9 additions and 2 deletions
+6 -2
View File
@@ -28,10 +28,14 @@ namespace olive {
ExportTask::ExportTask(ViewerOutput *viewer_node,
ColorManager* color_manager,
const EncodingParams& params) :
color_manager_(color_manager),
params_(params)
{
set_viewer(viewer_node);
// Create a copy of the project
copier_ = new ProjectCopier(this);
copier_->SetProject(viewer_node->project());
set_viewer(copier_->GetCopy(viewer_node));
color_manager_ = copier_->GetCopy(color_manager);
// Adjust video params to have no divider
VideoParams vp = viewer_node->GetVideoParams();
+3
View File
@@ -24,6 +24,7 @@
#include "codec/encoder.h"
#include "node/output/viewer/viewer.h"
#include "render/colorprocessor.h"
#include "render/projectcopier.h"
#include "task/render/render.h"
#include "task/task.h"
@@ -52,6 +53,8 @@ protected:
private:
bool WriteAudioLoop(const TimeRange &time, const SampleBuffer &samples);
ProjectCopier *copier_;
QHash<rational, FramePtr> time_map_;
QHash<TimeRange, SampleBuffer> audio_map_;