feat(transcoding): add DevEnableMediaFileProbe config flag

Add DevEnableMediaFileProbe (default true) to allow disabling ffprobe-
based media file probing as a safety fallback. When disabled, the
decider uses tag-based metadata from the scanner instead.
This commit is contained in:
Deluan 2026-03-07 14:19:28 -05:00
parent 3539df0f8a
commit c68dc22784
2 changed files with 6 additions and 0 deletions

View File

@ -139,6 +139,7 @@ type configOptions struct {
DevExternalArtistFetchMultiplier float64
DevOptimizeDB bool
DevPreserveUnicodeInExternalCalls bool
DevEnableMediaFileProbe bool
}
type scannerOptions struct {
@ -763,6 +764,7 @@ func setViperDefaults() {
viper.SetDefault("devexternalartistfetchmultiplier", 1.5)
viper.SetDefault("devoptimizedb", true)
viper.SetDefault("devpreserveunicodeinexternalcalls", false)
viper.SetDefault("devenablemediafileprobe", true)
}
func init() {

View File

@ -9,6 +9,7 @@ import (
"encoding/json"
"github.com/navidrome/navidrome/conf"
"github.com/navidrome/navidrome/core/auth"
"github.com/navidrome/navidrome/core/ffmpeg"
"github.com/navidrome/navidrome/log"
@ -330,6 +331,9 @@ func (s *deciderService) ensureProbed(ctx context.Context, mf *model.MediaFile)
if mf.ProbeData != "" {
return nil
}
if !conf.Server.DevEnableMediaFileProbe {
return nil
}
result, err := s.ff.ProbeAudioStream(ctx, mf.AbsolutePath())
if err != nil {