summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-ffmpreg/embed/lib.go
blob: b39d7d10e09595c59df2f9d704076ab20643b78c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package embed

import (
	"compress/gzip"
	_ "embed"
	"io"
	"strings"
)

func init() {
	var err error

	// Wrap bytes in reader.
	r := strings.NewReader(s)

	// Create unzipper from reader.
	gz, err := gzip.NewReader(r)
	if err != nil {
		panic(err)
	}

	// Extract gzipped binary.
	b, err := io.ReadAll(gz)
	if err != nil {
		panic(err)
	}

	// Set binary.
	s = string(b)
}

// B returns a copy of
// embedded binary data.
func B() []byte {
	if s == "" {
		panic("binary already dropped from memory")
	}
	return []byte(s)
}

// Free will drop embedded
// binary from runtime mem.
func Free() { s = "" }

//go:embed ffmpreg.wasm.gz
var s string