From b554bd62502c6a822efd7cc98dc6371a6a64616c Mon Sep 17 00:00:00 2001 From: kim Date: Sun, 27 Oct 2024 21:32:20 +0000 Subject: [PATCH] bring back GTS_WAZERO_COMPILATION_CACHE --- go.mod | 2 +- go.sum | 4 ++-- internal/media/ffmpeg/wasm.go | 19 ++++++++++++++++++- .../gruf/go-ffmpreg/wasm/runtime.go | 12 ------------ vendor/modules.txt | 2 +- 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/go.mod b/go.mod index 2dc6f8b1c..505068dde 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( codeberg.org/gruf/go-debug v1.3.0 codeberg.org/gruf/go-errors/v2 v2.3.2 codeberg.org/gruf/go-fastcopy v1.1.3 - codeberg.org/gruf/go-ffmpreg v0.4.1 + codeberg.org/gruf/go-ffmpreg v0.4.2 codeberg.org/gruf/go-iotools v0.0.0-20240710125620-934ae9c654cf codeberg.org/gruf/go-kv v1.6.5 codeberg.org/gruf/go-list v0.0.0-20240425093752-494db03d641f diff --git a/go.sum b/go.sum index a6972ef37..6ed6ee7b3 100644 --- a/go.sum +++ b/go.sum @@ -46,8 +46,8 @@ codeberg.org/gruf/go-fastcopy v1.1.3 h1:Jo9VTQjI6KYimlw25PPc7YLA3Xm+XMQhaHwKnM7x codeberg.org/gruf/go-fastcopy v1.1.3/go.mod h1:GDDYR0Cnb3U/AIfGM3983V/L+GN+vuwVMvrmVABo21s= codeberg.org/gruf/go-fastpath/v2 v2.0.0 h1:iAS9GZahFhyWEH0KLhFEJR+txx1ZhMXxYzu2q5Qo9c0= codeberg.org/gruf/go-fastpath/v2 v2.0.0/go.mod h1:3pPqu5nZjpbRrOqvLyAK7puS1OfEtQvjd6342Cwz56Q= -codeberg.org/gruf/go-ffmpreg v0.4.1 h1:Sy0UKIIeHz5pG0SY6e363CKqIjIr8d69jvSk+sEwXTk= -codeberg.org/gruf/go-ffmpreg v0.4.1/go.mod h1:Ar5nbt3tB2Wr0uoaqV3wDBNwAx+H+AB/mV7Kw7NlZTI= +codeberg.org/gruf/go-ffmpreg v0.4.2 h1:HKkPapm/PWkxsnUdjyQOGpwl5Qoa2EBrUQ09s4R4/FA= +codeberg.org/gruf/go-ffmpreg v0.4.2/go.mod h1:Ar5nbt3tB2Wr0uoaqV3wDBNwAx+H+AB/mV7Kw7NlZTI= codeberg.org/gruf/go-iotools v0.0.0-20240710125620-934ae9c654cf h1:84s/ii8N6lYlskZjHH+DG6jyia8w2mXMZlRwFn8Gs3A= codeberg.org/gruf/go-iotools v0.0.0-20240710125620-934ae9c654cf/go.mod h1:zZAICsp5rY7+hxnws2V0ePrWxE0Z2Z/KXcN3p/RQCfk= codeberg.org/gruf/go-kv v1.6.5 h1:ttPf0NA8F79pDqBttSudPTVCZmGncumeNIxmeM9ztz0= diff --git a/internal/media/ffmpeg/wasm.go b/internal/media/ffmpeg/wasm.go index 5bdb0a670..b23809d93 100644 --- a/internal/media/ffmpeg/wasm.go +++ b/internal/media/ffmpeg/wasm.go @@ -21,6 +21,7 @@ package ffmpeg import ( "context" + "os" ffmpeglib "codeberg.org/gruf/go-ffmpreg/embed/ffmpeg" ffprobelib "codeberg.org/gruf/go-ffmpreg/embed/ffprobe" @@ -89,6 +90,22 @@ func initRuntime(ctx context.Context) (err error) { if runtime != nil { return nil } - runtime, err = wasm.NewRuntime(ctx, nil) + + // Create new runtime config. + cfg := wazero.NewRuntimeConfig() + + if dir := os.Getenv("GTS_WAZERO_COMPILATION_CACHE"); dir != "" { + // Use on-filesystem compilation cache given by env. + cache, err := wazero.NewCompilationCacheWithDir(dir) + if err != nil { + return err + } + + // Update runtime config with cache. + cfg = cfg.WithCompilationCache(cache) + } + + // Initialize new runtime from config. + runtime, err = wasm.NewRuntime(ctx, cfg) return } diff --git a/vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go b/vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go index 110518b0d..328a26193 100644 --- a/vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go +++ b/vendor/codeberg.org/gruf/go-ffmpreg/wasm/runtime.go @@ -2,7 +2,6 @@ package wasm import ( "context" - "os" "github.com/tetratelabs/wazero" "github.com/tetratelabs/wazero/api" @@ -30,17 +29,6 @@ func NewRuntime(ctx context.Context, cfg wazero.RuntimeConfig) (wazero.Runtime, // Set core features ffmpeg compiled with. cfg = cfg.WithCoreFeatures(CoreFeatures) - if dir := os.Getenv("WAZERO_COMPILATION_CACHE"); dir != "" { - // Use on-filesystem compilation cache given by env. - cache, err := wazero.NewCompilationCacheWithDir(dir) - if err != nil { - return nil, err - } - - // Update runtime config with cache. - cfg = cfg.WithCompilationCache(cache) - } - // Instantiate runtime with prepared config. rt := wazero.NewRuntimeWithConfig(ctx, cfg) diff --git a/vendor/modules.txt b/vendor/modules.txt index 4f0d8ffc6..1d13cbf7f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -24,7 +24,7 @@ codeberg.org/gruf/go-fastcopy # codeberg.org/gruf/go-fastpath/v2 v2.0.0 ## explicit; go 1.14 codeberg.org/gruf/go-fastpath/v2 -# codeberg.org/gruf/go-ffmpreg v0.4.1 +# codeberg.org/gruf/go-ffmpreg v0.4.2 ## explicit; go 1.22.0 codeberg.org/gruf/go-ffmpreg/embed/ffmpeg codeberg.org/gruf/go-ffmpreg/embed/ffprobe