renderer: improved memory management
Clear up more memory when it isn't used for a while.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user