updated exporter to work with new frame flow

This commit is contained in:
itsmattkc
2020-01-08 02:27:47 +11:00
parent c8baf4aa3e
commit b8aabb7e01
15 changed files with 232 additions and 43 deletions
+12 -7
View File
@@ -29,6 +29,7 @@
#include "render/pixelformat.h"
#include "render/rendermodes.h"
#include "videorenderframecache.h"
#include "videorenderworker.h"
/**
* @brief A multithreaded OpenGL based renderer for node systems
@@ -53,10 +54,16 @@ public:
*/
void SetParameters(const VideoRenderingParams &params);
void SetExportMode(bool enabled);
void SetOperatingMode(const VideoRenderWorker::OperatingMode& mode);
void SetOnlySignalLastFrameRequested(bool enabled);
bool IsRendered(const rational& time) const;
VideoRenderFrameCache* frame_cache();
const VideoRenderingParams& params() const;
protected:
/**
* @brief Allocate and start the multithreaded backend
@@ -85,10 +92,6 @@ protected:
virtual TimeRange PopNextFrameFromQueue() override;
VideoRenderFrameCache* frame_cache();
const VideoRenderingParams& params() const;
/**
* @brief Internal function for generating the cache ID
*/
@@ -98,9 +101,9 @@ protected:
virtual void ConnectWorkerToThis(RenderWorker* processor) override;
virtual void EmitCachedFrameReady(const QList<rational> &times, const QVariant& value, qint64 job_time) = 0;
virtual void EmitCachedFrameReady(const rational &time, const QVariant& value, qint64 job_time) = 0;
bool export_mode_;
VideoRenderWorker::OperatingMode operating_mode_;
signals:
void CachedFrameReady(const rational& time, QVariant value, qint64 job_time);
@@ -121,6 +124,8 @@ private:
rational last_time_requested_;
bool only_signal_last_frame_requested_;
private slots:
void ThreadCompletedFrame(NodeDependency path, qint64 job_time, QByteArray hash, QVariant value);
void ThreadCompletedDownload(NodeDependency dep, qint64 job_time, QByteArray hash);