AlexxIT/go2rtc · error
streams: preload not found
Error message
streams: preload not found: %s
What it means
DelPreload fails when the named preload does not exist in the preloads registry: the map lookup for name returns nil, so no consumer is removed and the function reports the unknown name. Fires when API callers (apiPreload) request deletion of a stream preload that was never added or was already deleted.
Solutions
- Verify the preload name matches one created earlier with AddPreload
- Check whether the preload was already removed by a prior DelPreload call
- List existing preloads with GetPreloads before deleting
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/streams/preload.go:62 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of AlexxIT/go2rtc@c245815e75 (2026-09-07).
Data as JSON: /api/errors/8fcb2f6f0d8a662d.
Report an issue: GitHub.
Appendix: source
Thrown at internal/streams/preload.go:62
if err = stream.AddConsumer(cons); err != nil {
return err
}
preloads[name] = &Preload{stream: stream, Cons: cons, Query: rawQuery}
return nil
}
func DelPreload(name string) error {
preloadsMu.Lock()
defer preloadsMu.Unlock()
if p := preloads[name]; p != nil {
p.stream.RemoveConsumer(p.Cons)
delete(preloads, name)
return nil
}
return fmt.Errorf("streams: preload not found: %s", name)
}
func GetPreloads() map[string]*Preload {
preloadsMu.Lock()
defer preloadsMu.Unlock()
return maps.Clone(preloads)
}
View on GitHub (pinned to c245815e75)