Skip to content

Fix memory leak in HEIF image decoder#85

Open
graysky2 wants to merge 1 commit intoxbmc:Omegafrom
graysky2:Omega
Open

Fix memory leak in HEIF image decoder#85
graysky2 wants to merge 1 commit intoxbmc:Omegafrom
graysky2:Omega

Conversation

@graysky2
Copy link

The HeifPicture class was reusing the same heif::Context object across multiple image loads, causing it to accumulate image data without ever releasing previous images. This resulted in unbounded memory growth when viewing multiple HEIF images in sequence.

The fix creates a fresh heif::Context for each image load in both ReadTag() and LoadImageFromMemory(), ensuring that old image data is properly released when the previous unique_ptr is reset.

This resolves the memory balloon issue where memory usage would grow continuously as users browsed through HEIF image galleries.

The HeifPicture class was reusing the same heif::Context object across
multiple image loads, causing it to accumulate image data without ever
releasing previous images. This resulted in unbounded memory growth when
viewing multiple HEIF images in sequence.

The fix creates a fresh heif::Context for each image load in both
ReadTag() and LoadImageFromMemory(), ensuring that old image data is
properly released when the previous unique_ptr is reset.

This resolves the memory balloon issue where memory usage would grow
continuously as users browsed through HEIF image galleries.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant