summaryrefslogtreecommitdiffstats
path: root/bridge/helper/libtgsconverter.go
diff options
context:
space:
mode:
authorBenau <Benau@users.noreply.github.com>2021-08-25 04:32:50 +0800
committerGitHub <noreply@github.com>2021-08-24 22:32:50 +0200
commit53cafa9f3d0c8be33821fc7338b1da97e91d9cc6 (patch)
tree964a225219099a1a1c282e27913767da588191b4 /bridge/helper/libtgsconverter.go
parentd4195deb3a6305c49c50ff30e8af978c7f1bdd92 (diff)
downloadmatterbridge-msglm-53cafa9f3d0c8be33821fc7338b1da97e91d9cc6.tar.gz
matterbridge-msglm-53cafa9f3d0c8be33821fc7338b1da97e91d9cc6.tar.bz2
matterbridge-msglm-53cafa9f3d0c8be33821fc7338b1da97e91d9cc6.zip
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>
Diffstat (limited to 'bridge/helper/libtgsconverter.go')
-rw-r--r--bridge/helper/libtgsconverter.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/bridge/helper/libtgsconverter.go b/bridge/helper/libtgsconverter.go
new file mode 100644
index 00000000..7181da90
--- /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"
+}