X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Fsource%2FStreamSource.java;h=4cb47e19e5758ba951ab71e7690d8311f6adb72d;hb=87436ac0b103a112722c1df835e11ec928e57d38;hp=9a624e0457f5e8a01d24027b7c9523caec9ac881;hpb=f554e51504f7e39e658a84d79c041e0b0d8a6393;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 9a624e0..4cb47e1 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java +++ b/src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java @@ -26,15 +26,18 @@ import java.util.Collections; import java.util.List; import java.util.Map; +import net.pterodactylus.sonitus.data.AbstractControlledComponent; import net.pterodactylus.sonitus.data.ContentMetadata; import net.pterodactylus.sonitus.data.Controller; import net.pterodactylus.sonitus.data.FormatMetadata; import net.pterodactylus.sonitus.data.Metadata; import net.pterodactylus.sonitus.data.Source; +import net.pterodactylus.sonitus.data.event.MetadataUpdated; import net.pterodactylus.sonitus.io.MetadataStream; import com.google.common.base.Optional; import com.google.common.collect.Maps; +import com.google.common.eventbus.EventBus; import com.google.common.primitives.Ints; /** @@ -45,7 +48,10 @@ import com.google.common.primitives.Ints; * * @author David ‘Bombe’ Roden */ -public class StreamSource implements Source { +public class StreamSource extends AbstractControlledComponent implements Source { + + /** The event bus. */ + private final EventBus eventBus; /** The URL of the stream. */ private final String streamUrl; @@ -64,12 +70,15 @@ public class StreamSource 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 * if an I/O error occurs */ - public StreamSource(String streamUrl) throws IOException { + public StreamSource(EventBus eventBus, String streamUrl) throws IOException { + this.eventBus = eventBus; this.streamUrl = streamUrl; URL url = new URL(streamUrl); @@ -145,6 +154,8 @@ public class StreamSource implements Source { return metadata; } metadata = metadata.title(streamMetadata.get().title()); + fireMetadataUpdated(metadata); + eventBus.post(new MetadataUpdated(this, metadata)); return metadata; }