summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-03-10 01:59:49 +0100
commit3ac1ee16f377d31a0fb80c8dae28b6239ac4229e (patch)
treef61faa581feaaeaba2542b9f2b8234a590684413 /vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go
parent[chore] update URLs to forked source (diff)
downloadgotosocial-3ac1ee16f377d31a0fb80c8dae28b6239ac4229e.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go')
-rw-r--r--vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go67
1 files changed, 0 insertions, 67 deletions
diff --git a/vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go b/vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go
deleted file mode 100644
index 328a26193..000000000
--- a/vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go
+++ /dev/null
@@ -1,67 +0,0 @@
-package wasm
-
-import (
- "context"
-
- "github.com/tetratelabs/wazero"
- "github.com/tetratelabs/wazero/api"
- "github.com/tetratelabs/wazero/imports/wasi_snapshot_preview1"
-)
-
-// CoreFeatures are the WebAssembly Core specification
-// features our embedded binaries are compiled with.
-const CoreFeatures = api.CoreFeatureSIMD |
- api.CoreFeatureBulkMemoryOperations |
- api.CoreFeatureNonTrappingFloatToIntConversion |
- api.CoreFeatureMutableGlobal |
- api.CoreFeatureReferenceTypes |
- api.CoreFeatureSignExtensionOps
-
-// NewRuntime returns a new WebAssembly wazero.Runtime compatible with go-ffmpreg.
-func NewRuntime(ctx context.Context, cfg wazero.RuntimeConfig) (wazero.Runtime, error) {
- var err error
-
- if cfg == nil {
- // Ensure runtime config is set.
- cfg = wazero.NewRuntimeConfig()
- }
-
- // Set core features ffmpeg compiled with.
- cfg = cfg.WithCoreFeatures(CoreFeatures)
-
- // Instantiate runtime with prepared config.
- rt := wazero.NewRuntimeWithConfig(ctx, cfg)
-
- // Prepare default "env" host module.
- env := rt.NewHostModuleBuilder("env")
-
- // Register setjmp host function.
- env = env.NewFunctionBuilder().
- WithGoModuleFunction(
- api.GoModuleFunc(setjmp),
- []api.ValueType{api.ValueTypeI32},
- []api.ValueType{api.ValueTypeI32},
- ).Export("setjmp")
-
- // Register longjmp host function.
- env = env.NewFunctionBuilder().
- WithGoModuleFunction(
- api.GoModuleFunc(longjmp),
- []api.ValueType{api.ValueTypeI32, api.ValueTypeI32},
- []api.ValueType{},
- ).Export("longjmp")
-
- // Instantiate "env" module.
- _, err = env.Instantiate(ctx)
- if err != nil {
- return nil, err
- }
-
- // Instantiate the wasi snapshot preview 1 in runtime.
- _, err = wasi_snapshot_preview1.Instantiate(ctx, rt)
- if err != nil {
- return nil, err
- }
-
- return rt, nil
-}