2024-11-06 13:38:13 +00:00
|
|
|
package embed
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"compress/gzip"
|
|
|
|
|
_ "embed"
|
|
|
|
|
"io"
|
2025-09-25 16:38:19 +02:00
|
|
|
"strings"
|
2024-11-06 13:38:13 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
// Wrap bytes in reader.
|
2025-09-25 16:38:19 +02:00
|
|
|
r := strings.NewReader(s)
|
2024-11-06 13:38:13 +00:00
|
|
|
|
|
|
|
|
// Create unzipper from reader.
|
2025-09-25 16:38:19 +02:00
|
|
|
gz, err := gzip.NewReader(r)
|
2024-11-06 13:38:13 +00:00
|
|
|
if err != nil {
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Extract gzipped binary.
|
2025-09-25 16:38:19 +02:00
|
|
|
b, err := io.ReadAll(gz)
|
2024-11-06 13:38:13 +00:00
|
|
|
if err != nil {
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
2025-09-25 16:38:19 +02:00
|
|
|
|
|
|
|
|
// Set binary.
|
|
|
|
|
s = string(b)
|
2024-11-06 13:38:13 +00:00
|
|
|
}
|
|
|
|
|
|
2025-09-25 16:38:19 +02:00
|
|
|
// 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 = "" }
|
|
|
|
|
|
2024-11-06 13:38:13 +00:00
|
|
|
//go:embed ffmpreg.wasm.gz
|
2025-09-25 16:38:19 +02:00
|
|
|
var s string
|