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:
@@ -101,9 +101,9 @@ void ViewerOutput::InvalidateCache(const rational &start_range, const rational &
|
||||
Node::InvalidateCache(start_range, end_range, from);
|
||||
|
||||
if (from == texture_input()) {
|
||||
emit VideoChangedBetween(start_range, end_range);
|
||||
emit VideoChangedBetween(TimeRange(start_range, end_range));
|
||||
} else if (from == samples_input()) {
|
||||
emit AudioChangedBetween(start_range, end_range);
|
||||
emit AudioChangedBetween(TimeRange(start_range, end_range));
|
||||
} else if (from == length_input()) {
|
||||
emit LengthChanged(Length());
|
||||
}
|
||||
|
||||
@@ -84,9 +84,9 @@ protected:
|
||||
signals:
|
||||
void TimebaseChanged(const rational&);
|
||||
|
||||
void VideoChangedBetween(const rational&, const rational&);
|
||||
void VideoChangedBetween(const TimeRange& range);
|
||||
|
||||
void AudioChangedBetween(const rational&, const rational&);
|
||||
void AudioChangedBetween(const TimeRange& range);
|
||||
|
||||
void VisibleInvalidated();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user