mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-07-08 07:54:04 +00:00
Convert .tgs with go libraries (and cgo) (telegram) (#1569)
This commit adds support for go/cgo tgs conversion when building with the -tags `cgo` The default binaries are still "pure" go and uses the old way of converting. * Move lottie_convert.py conversion code to its own file * Add optional libtgsconverter * Update vendor * Apply suggestions from code review * Update bridge/helper/libtgsconverter.go Co-authored-by: Wim <wim@42.be>
This commit is contained in:
40
vendor/github.com/Benau/tgsconverter/libtgsconverter/imagewriter.go
generated
vendored
Normal file
40
vendor/github.com/Benau/tgsconverter/libtgsconverter/imagewriter.go
generated
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
package libtgsconverter
|
||||
|
||||
import "image"
|
||||
|
||||
type imageWriter interface {
|
||||
init(w uint, h uint, options ConverterOptions)
|
||||
SupportsAnimation() bool
|
||||
AddFrame(image *image.RGBA, fps uint) error
|
||||
Result() []byte
|
||||
}
|
||||
|
||||
func sameImage(a *image.RGBA, b *image.RGBA) bool {
|
||||
if len(a.Pix) != len(b.Pix) {
|
||||
return false
|
||||
}
|
||||
for i, v := range a.Pix {
|
||||
if v != b.Pix[i] {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func newImageWriter(extension string, w uint, h uint, options ConverterOptions) imageWriter {
|
||||
var writer imageWriter
|
||||
switch extension {
|
||||
case "apng":
|
||||
writer = &toapng{}
|
||||
case "gif":
|
||||
writer = &togif{}
|
||||
case "png":
|
||||
writer = &topng{}
|
||||
case "webp":
|
||||
writer = &towebp{}
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
writer.init(w, h, options)
|
||||
return writer
|
||||
}
|
Reference in New Issue
Block a user