Skip to content

Commit 8419f7b

Browse files
committed
Merge remote-tracking branch 'origin/dev' into dev
2 parents 34ec546 + 0036849 commit 8419f7b

3 files changed

Lines changed: 12 additions & 4 deletions

File tree

api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
<dependency>
100100
<groupId>io.undertow</groupId>
101101
<artifactId>undertow-core</artifactId>
102-
<version>2.2.3.Final</version>
102+
<version>2.2.7.Final</version>
103103
</dependency>
104104
</dependencies>
105105
</project>

player/src/main/java/xyz/gianlu/librespot/player/PlayerConfiguration.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public final class PlayerConfiguration {
3737
// Output
3838
public final AudioOutput output;
3939
public final String outputClass;
40+
public final Object[] outputClassParams;
4041
public final File outputPipe;
4142
public final File metadataPipe;
4243
public final String[] mixerSearchKeywords;
@@ -52,7 +53,7 @@ public final class PlayerConfiguration {
5253
public final File localFilesPath;
5354

5455
private PlayerConfiguration(AudioQuality preferredQuality, boolean enableNormalisation, float normalisationPregain, boolean autoplayEnabled, int crossfadeDuration, boolean preloadEnabled,
55-
AudioOutput output, String outputClass, File outputPipe, File metadataPipe, String[] mixerSearchKeywords, boolean logAvailableMixers, int releaseLineDelay,
56+
AudioOutput output, String outputClass, Object[] outputClassParams, File outputPipe, File metadataPipe, String[] mixerSearchKeywords, boolean logAvailableMixers, int releaseLineDelay,
5657
int initialVolume, int volumeSteps, boolean bypassSinkVolume, File localFilesPath) {
5758
this.preferredQuality = preferredQuality;
5859
this.enableNormalisation = enableNormalisation;
@@ -61,6 +62,7 @@ private PlayerConfiguration(AudioQuality preferredQuality, boolean enableNormali
6162
this.crossfadeDuration = crossfadeDuration;
6263
this.output = output;
6364
this.outputClass = outputClass;
65+
this.outputClassParams = outputClassParams;
6466
this.outputPipe = outputPipe;
6567
this.metadataPipe = metadataPipe;
6668
this.mixerSearchKeywords = mixerSearchKeywords;
@@ -89,6 +91,7 @@ public final static class Builder {
8991
// Output
9092
private AudioOutput output = AudioOutput.MIXER;
9193
private String outputClass;
94+
private Object[] outputClassParams;
9295
private File outputPipe;
9396
private File metadataPipe;
9497
private String[] mixerSearchKeywords;
@@ -141,6 +144,11 @@ public Builder setOutputClass(String outputClass) {
141144
return this;
142145
}
143146

147+
public Builder setOutputClassParams(Object[] outputClassParams) {
148+
this.outputClassParams = outputClassParams;
149+
return this;
150+
}
151+
144152
public Builder setOutputPipe(File outputPipe) {
145153
this.outputPipe = outputPipe;
146154
return this;
@@ -200,7 +208,7 @@ public Builder setLocalFilesPath(File localFilesPath) {
200208
@Contract(value = " -> new", pure = true)
201209
public @NotNull PlayerConfiguration build() {
202210
return new PlayerConfiguration(preferredQuality, enableNormalisation, normalisationPregain, autoplayEnabled, crossfadeDuration, preloadEnabled,
203-
output, outputClass, outputPipe, metadataPipe, mixerSearchKeywords, logAvailableMixers, releaseLineDelay,
211+
output, outputClass, outputClassParams, outputPipe, metadataPipe, mixerSearchKeywords, logAvailableMixers, releaseLineDelay,
204212
initialVolume, volumeSteps, bypassSinkVolume, localFilesPath);
205213
}
206214
}

player/src/main/java/xyz/gianlu/librespot/player/mixing/AudioSink.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public AudioSink(@NotNull PlayerConfiguration conf, @NotNull Listener listener)
6161
if (conf.outputClass == null || conf.outputClass.isEmpty())
6262
throw new IllegalArgumentException("Custom output sink class not configured!");
6363

64-
output = initCustomOutputSink(conf.outputClass);
64+
output = initCustomOutputSink(conf.outputClass, conf.outputClassParams);
6565
break;
6666
default:
6767
throw new IllegalArgumentException("Unknown output: " + conf.output);

0 commit comments

Comments
 (0)