decoder/renderer: no longer index automatically as part of the retrieve

functions

Indexing is a lengthy process and had a high chance of getting RenderWorkers
stuck doing it rather than being responsive to cache requests. This commit
introduces a system where workers never index media, but instead signal that
media is not ready to their RenderBackends which ensure that the media gets
indexed and re-queues the affected frames when those indexes are ready.
This commit is contained in:
itsmattkc
2020-02-19 11:44:29 +11:00
parent 5e75e9b3b0
commit 03bdf01357
28 changed files with 461 additions and 197 deletions
+2 -3
View File
@@ -37,12 +37,11 @@ public:
virtual bool Open() override;
virtual FramePtr RetrieveVideo(const rational &timecode, const QAtomicInt* cancelled) override;
virtual RetrieveState GetRetrieveState(const rational &time) override;
virtual FramePtr RetrieveVideo(const rational &timecode) override;
virtual void Close() override;
virtual int64_t GetTimestampFromTime(const rational &time, const QAtomicInt* cancelled) override;
virtual bool SupportsVideo() override;
private: