Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change gif loop behaviour to works like most of the modern browsers #90

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pawlowskim
Copy link

Hello. I was testing YYImage with react-native port (https://www.npmjs.com/package/react-native-yyimage) against loop behaviour. I found out that, library sets infinity loops when there is no loop count (Animation iterations from exiftool) in gif metadata. Other browsers sets default loop count = 1 when no metadata available. I have tested the same looped gifs on android, chrome, safari opera and mozilla FF and iOS. I don't know if you want to change default behaviour of YYImage but for my needs I changed it to works like the same way like on:

  • android
  • chrome
  • safari
  • opera

-if loop meta data is not set, play gif once
-increased loop count by 1 to works the same way like on android, chrome, safari, opera
@dreampiggy
Copy link

This is the GIF in browser behavior, but will break APNG and Animated WebP behavior in browser. You can check that both these set 0 by default to infinity loop in Chrome 59, Safari(Not Animated WebP), firefox.. So a better solution is to set that loop count on your logic level but not the Decoder Level.. You can override that loop count when using GIF.

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.

2 participants