renderer: improved memory management

Clear up more memory when it isn't used for a while.
This commit is contained in:
itsmattkc
2020-08-09 14:03:11 +10:00
parent 4fac083799
commit 901f1001af
3 changed files with 57 additions and 15 deletions
+11
View File
@@ -38,6 +38,8 @@ class RenderWorker : public QObject, public NodeTraverser
public:
RenderWorker(RenderBackend* parent);
virtual ~RenderWorker() override;
bool IsAvailable() const
{
return available_;
@@ -169,7 +171,9 @@ private:
QMatrix4x4 video_download_matrix_;
QMutex decoder_lock_;
DecoderCache decoder_cache_;
QHash<Stream*, qint64> decoder_age_;
TimeRange audio_render_time_;
bool available_;
@@ -182,6 +186,13 @@ private:
RenderMode::Mode render_mode_;
QTimer* cleanup_timer_;
static const int kMaxDecoderLife;
private slots:
void ClearOldDecoders();
};
OLIVE_NAMESPACE_EXIT