Skip to content

Added support for fixed-length sequence loops to ThumbSequenceCreator.

First off, could someone please confirm that the way I'm using the KIO slave metadata in this commit is correct? It seems to work but maybe there's something I missed or misunderstood.

This adds a new method ThumbSequenceCreator::sequenceIndexWraparoundPoint() that allows thumb sequence creators to specify when their sequence loops. Useful for e.g. video files, where a set number of frames are used as previews, and the sequence then repeats from the first chosen frame.

I intend to use it in Dolphin, where I am currently adding support for such thumb sequences when the user hovers over e.g. a video file. It will call ThumbSequenceCreator::setSequenceIndex() and then ThumbSequenceCreator::create() with increasing indices over time as long as the user hovers. Without this change, I don't know at which point the thumbs start looping, so I would need to keep requesting new thumbs indefinitely. With this change, I can stop as soon as I reach the wraparound point, which saves both processing time and memory. By default, the method returns a negative index, which keeps the old behavior where you're never sure if or when the thumbs loop. That should make it backwards-compatible. I am not aware of a single existing implementation of ThumbSequenceCreator other than the one I'm developing right now though.

I will open a separate MR at kio-extras (EDIT: Here it is), where the new method is called and added to the KIO slave metadata.

Edited by David Lerch

Merge request reports