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
image/gif: support non-looping animated gifs (LoopCount=-1) #23761
Conversation
The Netscape looping application extension encodes how many times the animation should restart, and if it's present there is no way to signal that a GIF should play only once. Use LoopCount=-1 to signal when a decoded GIF had no looping extension, and update the encoder to omit that extension block when LoopCount=-1. Fixes golang#15768
This PR (HEAD: 0c3ef0a) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/#/c/go/+/93076 to see it. Tip: You can toggle comments from me using the |
Gobot Gobot has posted review comments at golang.org/cl/93076. |
Brad Fitzpatrick has posted review comments at golang.org/cl/93076. |
This PR (HEAD: 9c51c7d) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/#/c/go/+/93076 to see it. Tip: You can toggle comments from me using the |
Andrew Bonventre has posted review comments at golang.org/cl/93076. |
Message from Gobot Gobot: Patch Set 1: Congratulations on opening your first change. Thank you for your contribution! Next steps: Most changes in the Go project go through a few rounds of revision. This can be During May-July and Nov-Jan the Go project is in a code freeze, during which Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
Message from Brad Fitzpatrick: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
Message from Andrew Bonventre: Patch Set 2: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
This PR (HEAD: 249744f) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/#/c/go/+/93076 to see it. Tip: You can toggle comments from me using the |
Message from Peter Teichman: Patch Set 3: (3 comments)
Still figuring out the workflow here w/gerritbot.. All good suggestions, thanks! Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
Message from Gobot Gobot: Patch Set 1: Congratulations on opening your first change. Thank you for your contribution! Next steps: Most changes in the Go project go through a few rounds of revision. This can be During May-July and Nov-Jan the Go project is in a code freeze, during which Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
Message from Brad Fitzpatrick: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
Message from Andrew Bonventre: Patch Set 2: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
Message from Peter Teichman: Patch Set 3: (3 comments)
Still figuring out the workflow here w/gerritbot.. All good suggestions, thanks! Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
Apologies for the barrage of duplicate posts on this. Working out some kinks. |
@andybons No worries, happy to help iron them out. |
Message from Andrew Bonventre: Patch Set 3: Code-Review+1 adding nigel for a final look. Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
Message from Andrew Bonventre: Patch Set 3: Run-TryBot+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
Message from Gobot Gobot: Patch Set 3: TryBots beginning. Status page: https://farmer.golang.org/try?commit=226d4eef Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
Message from Gobot Gobot: Patch Set 3: TryBot-Result+1 TryBots are happy. Please don’t reply on this GitHub thread. Visit golang.org/cl/93076. |
The Netscape looping application extension encodes how many times the animation should restart, and if it's present there is no way to signal that a GIF should play only once. Use LoopCount=-1 to signal when a decoded GIF had no looping extension, and update the encoder to omit that extension block when LoopCount=-1. Fixes #15768 GitHub-Last-Rev: 249744f GitHub-Pull-Request: #23761 Change-Id: Ic915268505bf12bdad690b59148983a7d78d693b Reviewed-on: https://go-review.googlesource.com/93076 Reviewed-by: Andrew Bonventre <andybons@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This PR is being closed because golang.org/cl/93076 has been merged. |
The Netscape looping application extension encodes how many times the animation should restart, and if it's present there is no way to signal that a GIF should play only once. Use LoopCount=-1 to signal when a decoded GIF had no looping extension, and update the encoder to omit that extension block when LoopCount=-1. Fixes #15768 GitHub-Last-Rev: 249744f0e28ef8907aa876070a102cb5493f5084 GitHub-Pull-Request: golang/go#23761 Change-Id: Ic915268505bf12bdad690b59148983a7d78d693b Reviewed-on: https://go-review.googlesource.com/93076 Reviewed-by: Andrew Bonventre <andybons@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
The Netscape looping application extension encodes how many
times the animation should restart, and if it's present
there is no way to signal that a GIF should play only once.
Use LoopCount=-1 to signal when a decoded GIF had no looping
extension, and update the encoder to omit that extension
block when LoopCount=-1.
Fixes #15768