summaryrefslogtreecommitdiff
path: root/teleirc/matterbridge/bridge/helper/libtgsconverter.go
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-11-02 15:27:18 +0800
committerMistivia <i@mistivia.com>2025-11-02 15:27:18 +0800
commite9c24f4af7ed56760f6db7941827d09f6db9020b (patch)
tree62128c43b883ce5e3148113350978755779bb5de /teleirc/matterbridge/bridge/helper/libtgsconverter.go
parent58d5e7cfda4781d8a57ec52aefd02983835c301a (diff)
add matterbridge
Diffstat (limited to 'teleirc/matterbridge/bridge/helper/libtgsconverter.go')
-rw-r--r--teleirc/matterbridge/bridge/helper/libtgsconverter.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/teleirc/matterbridge/bridge/helper/libtgsconverter.go b/teleirc/matterbridge/bridge/helper/libtgsconverter.go
new file mode 100644
index 0000000..3069b34
--- /dev/null
+++ b/teleirc/matterbridge/bridge/helper/libtgsconverter.go
@@ -0,0 +1,35 @@
+//go:build cgolottie
+
+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"
+}