X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Fsource%2FStreamSource.java;h=8b0c518896440e0e058d559331acab2c51d51e7c;hb=eacf380129e247dd03f7d054d67e34cb43658959;hp=dc6e4d0e48255fd78e67bf55bff7bc0eb0dca518;hpb=b464acd1f117fa1310c8551f572ce986a575cf94;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java b/src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java index dc6e4d0..8b0c518 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java +++ b/src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java @@ -27,12 +27,13 @@ import java.util.List; import java.util.Map; import java.util.logging.Logger; -import net.pterodactylus.sonitus.data.AbstractControlledComponent; +import net.pterodactylus.sonitus.data.AbstractFilter; import net.pterodactylus.sonitus.data.ContentMetadata; import net.pterodactylus.sonitus.data.Controller; +import net.pterodactylus.sonitus.data.DataPacket; +import net.pterodactylus.sonitus.data.Filter; import net.pterodactylus.sonitus.data.FormatMetadata; import net.pterodactylus.sonitus.data.Metadata; -import net.pterodactylus.sonitus.data.Source; import net.pterodactylus.sonitus.io.MetadataStream; import com.google.common.base.Optional; @@ -40,14 +41,14 @@ import com.google.common.collect.Maps; import com.google.common.primitives.Ints; /** - * {@link Source} implementation that can download an audio stream from a + * {@link Filter} implementation that can download an audio stream from a * streaming server. *

* Currently only “audio/mpeg” (aka MP3) streams are supported. * * @author David ‘Bombe’ Roden */ -public class StreamSource extends AbstractControlledComponent implements Source { +public class StreamSource extends AbstractFilter { /** The logger. */ private static final Logger logger = Logger.getLogger(StreamSource.class.getName()); @@ -66,8 +67,6 @@ public class StreamSource extends AbstractControlledComponent implements Source * the response header for vital information (sampling frequency, number of * channels, etc.). * - * @param eventBus - * The event bus * @param streamUrl * The URL of the stream * @throws IOException @@ -127,7 +126,7 @@ public class StreamSource extends AbstractControlledComponent implements Source } // - // CONTROLLED METHODS + // FILTER METHODS // @Override @@ -140,10 +139,6 @@ public class StreamSource extends AbstractControlledComponent implements Source return Collections.emptyList(); } - // - // SOURCE METHODS - // - @Override public Metadata metadata() { Optional streamMetadata = metadataStream.getContentMetadata(); @@ -155,10 +150,15 @@ public class StreamSource extends AbstractControlledComponent implements Source } @Override - public byte[] get(int bufferSize) throws IOException { + public void open(Metadata metadata) throws IOException { + /* ignore metadata when opening. */ + } + + @Override + public DataPacket get(int bufferSize) throws IOException { byte[] buffer = new byte[bufferSize]; metadataStream.read(buffer); - return buffer; + return new DataPacket(metadata(), buffer); } //