Note that AnimationSurfaceProvider will override these methods to give a proper implementation in a later patch in this series. For now, they are mostly stubbed, using the default implementation from ISurfaceProvider. They focus on the main operations we perform on an animation: 1) Progressing through the animation, e.g. advancing a frame. If we don't decode the whole animation up front, we need to know at the decoder level where we are in the display of the animation. 2) Restarting an animation from the beginning. This is a specialized case of the above, where we want to skip explicitly advancing through the remaining frames and instead restart at the beginning. The decoder may have already discarded the earliest frames and must start redecoding them. 3) Knowing whether or not the decoder is still active, e.g. can we be missing frames.
39 KiB
39 KiB