X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Ffilter%2FExternalMp3Encoder.java;h=a5c6b7c3d2c186e23a8f9865153cb66f9af27a55;hb=e4770209dfde37f9945041d3b21fdf4cf4b51755;hp=1975e361accdfad70a13a3a03c35d48012671779;hpb=865e9a8fce99285dfd6c1efb6a01991076e1a773;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Encoder.java b/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Encoder.java index 1975e36..a5c6b7c 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Encoder.java +++ b/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Encoder.java @@ -17,31 +17,38 @@ package net.pterodactylus.sonitus.data.filter; -import net.pterodactylus.sonitus.data.ConnectException; -import net.pterodactylus.sonitus.data.Metadata; -import net.pterodactylus.sonitus.data.Source; +import static com.google.common.base.Preconditions.checkNotNull; +import static com.google.common.base.Preconditions.checkState; + +import java.io.IOException; -import com.google.common.base.Preconditions; +import net.pterodactylus.sonitus.data.Metadata; /** - * Basic {@link ExternalFilter} implementation that verifies that the connected - * source is PCM-encoded and that returns an MP3-encoded metadata. + * Basic {@link net.pterodactylus.sonitus.data.filter.ExternalFilter} + * implementation that verifies that the connected source is PCM-encoded and + * that returns an MP3-encoded metadata. * * @author David ‘Bombe’ Roden */ public abstract class ExternalMp3Encoder extends ExternalFilter { - @Override - public Metadata metadata() { - return super.metadata().encoding("MP3"); + /** + * Creates a new external MP3 encoder. + * + * @param name + * The name of the filter + */ + protected ExternalMp3Encoder(String name) { + super(name); } @Override - public void connect(Source source) throws ConnectException { - Preconditions.checkNotNull(source, "source must not be null"); - Preconditions.checkState(source.metadata().encoding().equalsIgnoreCase("PCM"), "source must be PCM-encoded"); + public void open(Metadata metadata) throws IOException { + checkNotNull(metadata, "metadata must not be null"); + checkState(metadata.encoding().equalsIgnoreCase("PCM"), "source must be PCM-encoded"); - super.connect(source); + super.open(metadata.encoding("MP3")); } }