X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Ffilter%2FMultiSourceFilter.java;h=d62ba973b743e67803c44debcef504fde7970921;hb=de77b3e10c648a8ea35a690c02aeab1d1d6ca950;hp=6092a4eb995c4d6f6327e21acb9c599466f390e2;hpb=20dfb0aa85c6f8b60959e754deb26744fe2da2c3;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 6092a4e..d62ba97 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java +++ b/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java @@ -63,7 +63,12 @@ public class MultiSourceFilter implements Filter, ReusableSink { @Override public byte[] get(int bufferSize) throws EOFException, IOException { - return source.get().get(bufferSize); + try { + return source.get().get(bufferSize); + } catch (EOFException eofe1) { + eventBus.post(new SourceFinishedEvent(source.get())); + throw eofe1; + } } @Override @@ -75,8 +80,6 @@ public class MultiSourceFilter implements Filter, ReusableSink { checkArgument(oldSource.metadata().channels() == source.metadata().channels(), "source’s channel count must equal existing source’s channel count"); checkArgument(oldSource.metadata().frequency() == source.metadata().frequency(), "source’s frequency must equal existing source’s frequency"); checkArgument(oldSource.metadata().encoding().equalsIgnoreCase(source.metadata().encoding()), "source’s encoding must equal existing source’s encoding"); - - eventBus.post(new SourceFinishedEvent(oldSource)); } }