feat: consume frame after added, for reducing memory usage #32
+100
−89
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If we encode a WebP animation with many frames, caching all frames into a Vec and then adding them all to the encoder at once is not a good approach. This could potentially lead to excessive memory usage.
It is better to consume each frames after they are added.
API BREAKING CHANGE
AnimEncoder::add_frame()
should return a Result.(
AnimEncoder::encode
maybe should rename toAnimEncoder::finish
, I'm not sure.)In addition I update the example code to create a more complex and beautiful animation.
BTW, the animation decoder should return a iterator instead of a vector for the same reason.