mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 00:38:39 +09:00
Issue #2073 - m-c 523950: Discard decoded frames of very large GIF animations (squashed)
Controlled by image.animated.decode-on-demand.threshold-kb, default 256MB Includes squashed bugfixes/regressions: - m-c 1444537: Shutting down the decode pool should make animated decoders bail early - m-c 1628606: Make sure to mark the surface cache entry available before sending the frame complete notification - m-c 1502275: Skip recreating the decoder after redecode errors if an animated image is reset - m-c 1443232: Don't insert frames into our AnimationFrameBuffer that we consider in error and unusable
This commit is contained in:
parent
eac8afce35
commit
e96122ede2
25 changed files with 925 additions and 63 deletions
|
|
@ -92,6 +92,7 @@ public:
|
|||
* @param aDecoderFlags Flags specifying the behavior of this decoder.
|
||||
* @param aSurfaceFlags Flags specifying the type of output this decoder
|
||||
* should produce.
|
||||
* @param aCurrentFrame The current frame the decoder should auto advance to.
|
||||
*/
|
||||
static already_AddRefed<IDecodingTask>
|
||||
CreateAnimationDecoder(DecoderType aType,
|
||||
|
|
@ -99,7 +100,17 @@ public:
|
|||
NotNull<SourceBuffer*> aSourceBuffer,
|
||||
const gfx::IntSize& aIntrinsicSize,
|
||||
DecoderFlags aDecoderFlags,
|
||||
SurfaceFlags aSurfaceFlags);
|
||||
SurfaceFlags aSurfaceFlags,
|
||||
size_t aCurrentFrame);
|
||||
|
||||
/**
|
||||
* Creates and initializes a decoder for animated images, cloned from the
|
||||
* given decoder.
|
||||
*
|
||||
* @param aDecoder Decoder to clone.
|
||||
*/
|
||||
static already_AddRefed<Decoder>
|
||||
CloneAnimationDecoder(Decoder* aDecoder);
|
||||
|
||||
/**
|
||||
* Creates and initializes a metadata decoder of type @aType. This decoder
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue