X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Fsink%2FAudioSink.java;h=7c28f2c620544c3fd802fe2683726dbd1a435c31;hb=87436ac0b103a112722c1df835e11ec928e57d38;hp=bbf24d177f9c8cb3656fa7df2a4206dd6672790c;hpb=b05346e7daa46f0464a08bab0e179758ea0eb0b4;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java b/src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java index bbf24d1..7c28f2c 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java +++ b/src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java @@ -34,6 +34,7 @@ import javax.sound.sampled.FloatControl; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.SourceDataLine; +import net.pterodactylus.sonitus.data.AbstractControlledComponent; import net.pterodactylus.sonitus.data.Controller; import net.pterodactylus.sonitus.data.Metadata; import net.pterodactylus.sonitus.data.Sink; @@ -52,7 +53,7 @@ import com.google.common.eventbus.EventBus; * * @author David ‘Bombe’ Roden */ -public class AudioSink implements Sink { +public class AudioSink extends AbstractControlledComponent implements Sink { /** The logger. */ private static final Logger logger = Logger.getLogger(AudioSink.class.getName()); @@ -180,6 +181,7 @@ public class AudioSink implements Sink { metadataUpdated(metadata); } catch (LineUnavailableException e) { /* TODO */ + sourceDataLine = null; throw new IOException(e); } } @@ -194,6 +196,7 @@ public class AudioSink implements Sink { public void metadataUpdated(Metadata metadata) { logger.info(String.format("Now playing %s.", metadata)); this.metadata = metadata; + fireMetadataUpdated(metadata); eventBus.post(new MetadataUpdated(this, metadata)); }