mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[chore] media pipeline improvements (#3110)
* don't set emoji / media image paths on failed download, migrate FileType from string to integer * fix incorrect uses of util.PtrOr, fix returned frontend media * fix migration not setting arguments correctly in where clause * fix not providing default with not null column * whoops * ensure a default gets set for media attachment file type * remove the exclusive flag from writing files in disk storage * rename PtrOr -> PtrOrZero, and rename PtrValueOr -> PtrOrValue to match * slight wording changes * use singular / plural word forms (no parentheses), is better for screen readers * update testmodels with unknown media type to have unset file details, update attachment focus handling converting to frontend, update tests * store first instance in ffmpeg wasm pool, fill remaining with closed instances
This commit is contained in:
@@ -34,14 +34,33 @@ type wasmInstancePool struct {
|
||||
}
|
||||
|
||||
func (p *wasmInstancePool) Init(ctx context.Context, sz int) error {
|
||||
p.pool = make(chan *wasm.Instance, sz)
|
||||
for i := 0; i < sz; i++ {
|
||||
inst, err := p.inst.New(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
p.pool <- inst
|
||||
// Initialize for first time
|
||||
// to preload module into the
|
||||
// wazero compilation cache.
|
||||
inst, err := p.inst.New(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Clamp to 1.
|
||||
if sz <= 0 {
|
||||
sz = 1
|
||||
}
|
||||
|
||||
// Allocate new pool instance channel.
|
||||
p.pool = make(chan *wasm.Instance, sz)
|
||||
|
||||
// Store only one
|
||||
// open instance
|
||||
// at init time.
|
||||
p.pool <- inst
|
||||
|
||||
// Fill reminaing with closed
|
||||
// instances for later opening.
|
||||
for i := 0; i < sz-1; i++ {
|
||||
p.pool <- new(wasm.Instance)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user