11package lavalink.server.config
22
3+ import com.sedmelluq.discord.lavaplayer.container.MediaContainerProbe
4+ import com.sedmelluq.discord.lavaplayer.container.MediaContainerRegistry
35import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager
46import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager
57import com.sedmelluq.discord.lavaplayer.source.AudioSourceManager
@@ -42,7 +44,8 @@ class AudioPlayerConfiguration {
4244 serverConfig : ServerConfig ,
4345 routePlanner : AbstractRoutePlanner ? ,
4446 audioSourceManagers : Collection <AudioSourceManager >,
45- audioPlayerManagerConfigurations : Collection <AudioPlayerManagerConfiguration >
47+ audioPlayerManagerConfigurations : Collection <AudioPlayerManagerConfiguration >,
48+ mediaContainerProbes : Collection <MediaContainerProbe >
4649 ): AudioPlayerManager {
4750 val audioPlayerManager = DefaultAudioPlayerManager ()
4851
@@ -61,6 +64,8 @@ class AudioPlayerConfiguration {
6164 audioPlayerManager.frameBufferDuration = bufferDuration
6265 }
6366
67+ val mcr: MediaContainerRegistry = MediaContainerRegistry .extended(* mediaContainerProbes.toTypedArray())
68+
6469 if (sources.isYoutube) {
6570 val youtube = YoutubeAudioSourceManager (serverConfig.isYoutubeSearchEnabled)
6671 if (routePlanner != null ) {
@@ -109,7 +114,7 @@ class AudioPlayerConfiguration {
109114 if (sources.isTwitch) audioPlayerManager.registerSourceManager(TwitchStreamAudioSourceManager ())
110115 if (sources.isVimeo) audioPlayerManager.registerSourceManager(VimeoAudioSourceManager ())
111116 if (sources.isMixer) audioPlayerManager.registerSourceManager(BeamAudioSourceManager ())
112- if (sources.isLocal) audioPlayerManager.registerSourceManager(LocalAudioSourceManager ())
117+ if (sources.isLocal) audioPlayerManager.registerSourceManager(LocalAudioSourceManager (mcr ))
113118
114119 audioSourceManagers.forEach {
115120 audioPlayerManager.registerSourceManager(it)
@@ -126,7 +131,7 @@ class AudioPlayerConfiguration {
126131
127132 // This must be loaded last
128133 if (sources.isHttp) {
129- val httpAudioSourceManager = HttpAudioSourceManager ()
134+ val httpAudioSourceManager = HttpAudioSourceManager (mcr )
130135
131136 serverConfig.httpConfig?.let { httpConfig ->
132137 httpAudioSourceManager.configureBuilder {
0 commit comments