From 7259a3289464606aba65f89deb0574756314530a Mon Sep 17 00:00:00 2001 From: Benau Date: Mon, 23 Aug 2021 15:39:16 +0800 Subject: [PATCH] Add optional libtgsconverter --- bridge/helper/libtgsconverter.go | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 bridge/helper/libtgsconverter.go diff --git a/bridge/helper/libtgsconverter.go b/bridge/helper/libtgsconverter.go new file mode 100644 index 00000000..80b76b96 --- /dev/null +++ b/bridge/helper/libtgsconverter.go @@ -0,0 +1,34 @@ +// +build cgo + +package helper + +import ( + "fmt" + "github.com/Benau/tgsconverter/libtgsconverter" + "github.com/sirupsen/logrus" +) + +func CanConvertTgsToX() error { + return nil +} + +// ConvertTgsToX convert input data (which should be tgs format) to any format supported by libtgsconverter +func ConvertTgsToX(data *[]byte, outputFormat string, logger *logrus.Entry) error { + options := libtgsconverter.NewConverterOptions() + options.SetExtension(outputFormat) + blob, err := libtgsconverter.ImportFromData(*data, options) + if err != nil { + return fmt.Errorf("Failed to run libtgsconverter.ImportFromData: %s", err.Error()) + } + + *data = blob + return nil +} + +func SupportsFormat(format string) bool { + return libtgsconverter.SupportsExtension(format) +} + +func LottieBackend() string { + return "libtgsconverter" +}