#ifndef RENDERERDOWNLOADTHREAD_H #define RENDERERDOWNLOADTHREAD_H #include "rendererthreadbase.h" class RendererDownloadThread : public RendererThreadBase { Q_OBJECT public: RendererDownloadThread(QOpenGLContext* share_ctx, const int& width, const int& height, const olive::PixelFormat& format, const olive::RenderMode& mode); void Queue(RenderTexturePtr texture, const QString &fn); protected: virtual void ProcessLoop() override; private: GLuint read_buffer_; QVector texture_queue_; QVector download_filenames_; QMutex texture_queue_lock_; }; using RendererDownloadThreadPtr = std::shared_ptr; #endif // RENDERERDOWNLOADTHREAD_H