mirror of
https://github.com/navidrome/navidrome.git
synced 2026-08-31 07:30:32 +00:00
The throttle is an implementation detail of mediaStreamer, not a dependency that needs to be injected. Remove it from the constructor and wire providers; create it internally via a singleton. This simplifies the API and keeps Release() unexported.
38 lines
986 B
Go
38 lines
986 B
Go
package core
|
|
|
|
import (
|
|
"github.com/google/wire"
|
|
"github.com/navidrome/navidrome/core/agents"
|
|
"github.com/navidrome/navidrome/core/external"
|
|
"github.com/navidrome/navidrome/core/ffmpeg"
|
|
"github.com/navidrome/navidrome/core/lyrics"
|
|
"github.com/navidrome/navidrome/core/metrics"
|
|
"github.com/navidrome/navidrome/core/playback"
|
|
"github.com/navidrome/navidrome/core/playlists"
|
|
"github.com/navidrome/navidrome/core/scrobbler"
|
|
"github.com/navidrome/navidrome/core/stream"
|
|
)
|
|
|
|
var Set = wire.NewSet(
|
|
stream.NewMediaStreamer,
|
|
stream.GetTranscodingCache,
|
|
NewArchiver,
|
|
NewPlayers,
|
|
NewShare,
|
|
playlists.NewPlaylists,
|
|
NewLibrary,
|
|
NewUser,
|
|
NewMaintenance,
|
|
NewImageUploadService,
|
|
wire.Bind(new(playlists.ImageUploadService), new(ImageUploadService)),
|
|
stream.NewTranscodeDecider,
|
|
agents.GetAgents,
|
|
external.NewProvider,
|
|
wire.Bind(new(external.Agents), new(*agents.Agents)),
|
|
ffmpeg.New,
|
|
scrobbler.GetPlayTracker,
|
|
playback.GetInstance,
|
|
metrics.GetInstance,
|
|
lyrics.NewLyrics,
|
|
)
|