diff options
author | Wim <wim@42.be> | 2019-02-27 00:41:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-27 00:41:50 +0100 |
commit | 26a7e35f2777b8424477eef1838125a6ae55fe48 (patch) | |
tree | d48cfdb02bb7a6d0558413cbad906f2ec59cb3a2 /bridge/helper/helper.go | |
parent | d44d2a5f0014fda12ce78d35e416dffab6b7c04a (diff) | |
download | matterbridge-msglm-26a7e35f2777b8424477eef1838125a6ae55fe48.tar.gz matterbridge-msglm-26a7e35f2777b8424477eef1838125a6ae55fe48.tar.bz2 matterbridge-msglm-26a7e35f2777b8424477eef1838125a6ae55fe48.zip |
Add MediaConvertWebPToPNG option (telegram). (#741)
* Add MediaConvertWebPToPNG option (telegram).
When enabled matterbridge will convert .webp files to .png files
before uploading them to the mediaserver of the other bridges.
Fixes #398
Diffstat (limited to 'bridge/helper/helper.go')
-rw-r--r-- | bridge/helper/helper.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/bridge/helper/helper.go b/bridge/helper/helper.go index 3836556f..c336fd13 100644 --- a/bridge/helper/helper.go +++ b/bridge/helper/helper.go @@ -3,6 +3,7 @@ package helper import ( "bytes" "fmt" + "image/png" "io" "net/http" "regexp" @@ -10,6 +11,8 @@ import ( "time" "unicode/utf8" + "golang.org/x/image/webp" + "github.com/42wim/matterbridge/bridge/config" "github.com/sirupsen/logrus" "gitlab.com/golang-commonmark/markdown" @@ -177,3 +180,19 @@ func ParseMarkdown(input string) string { md := markdown.New(markdown.XHTMLOutput(true), markdown.Breaks(true)) return (md.RenderToString([]byte(input))) } + +// ConvertWebPToPNG convert input data (which should be WebP format to PNG format) +func ConvertWebPToPNG(data *[]byte) error { + r := bytes.NewReader(*data) + m, err := webp.Decode(r) + if err != nil { + return err + } + var output []byte + w := bytes.NewBuffer(output) + if err := png.Encode(w, m); err != nil { + return err + } + *data = w.Bytes() + return nil +} |