X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Ffilter%2FMultiSourceFilter.java;h=a6566ed251df76d3b375f3c21be2fde41f54e9b2;hb=ab9e62794abd0430bf2c79ecd41e311675d8b7c4;hp=704324dc9cfe29eed29b5895aef3971e3cce782b;hpb=c10b4f2fdb1e55b1c9dbb996ecee4a306d1481b0;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java b/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java index 704324d..a6566ed 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java +++ b/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java @@ -59,9 +59,6 @@ public class MultiSourceFilter implements Filter, ReusableSink { /** The connection. */ private Connection connection; - /** The format. */ - private Format format; - @Inject public MultiSourceFilter(EventBus eventBus) { this.eventBus = eventBus; @@ -69,7 +66,9 @@ public class MultiSourceFilter implements Filter, ReusableSink { @Override public Format format() { - return format; + synchronized (syncObject) { + return connection.source.format(); + } } @Override @@ -86,10 +85,8 @@ public class MultiSourceFilter implements Filter, ReusableSink { @Override public void connect(Source source) throws ConnectException { checkNotNull(source, "source must not be null"); - if (format != null) { - checkArgument(format.equals(source.format()), "source’s format must equal this sink’s format"); - } else { - format = source.format(); + if ((connection != null) && (connection.source != null)) { + checkArgument(connection.source.format().equals(source.format()), "source’s format must equal this sink’s format"); } if (connection == null) {