Improve logging.
[sonitus.git] / src / main / java / net / pterodactylus / sonitus / data / source / MultiSource.java
index b8afd82..645a41d 100644 (file)
@@ -29,6 +29,7 @@ import javax.swing.event.EventListenerList;
 
 import net.pterodactylus.sonitus.data.AbstractFilter;
 import net.pterodactylus.sonitus.data.Controller;
+import net.pterodactylus.sonitus.data.DataPacket;
 import net.pterodactylus.sonitus.data.Filter;
 import net.pterodactylus.sonitus.data.Metadata;
 
@@ -104,7 +105,7 @@ public class MultiSource extends AbstractFilter {
                                this.source.notifyAll();
                        }
                        metadataUpdated(source.metadata());
-                       logger.info(String.format("Next Source set: %s", source));
+                       logger.info(String.format("Next Source set: %s", source.name()));
                }
        }
 
@@ -135,7 +136,7 @@ public class MultiSource extends AbstractFilter {
 
        @Override
        public Metadata metadata() {
-               if (super.metadata() == null) {
+               if (super.metadata() == Metadata.UNKNOWN) {
                        /* no metadata yet, wait for it. */
                        waitForNewSource();
                        sourceChanged = false;
@@ -144,11 +145,12 @@ public class MultiSource extends AbstractFilter {
        }
 
        @Override
-       public byte[] get(int bufferSize) throws EOFException, IOException {
+       public DataPacket get(int bufferSize) throws EOFException, IOException {
                while (true) {
                        try {
                                return source.get().get(bufferSize);
                        } catch (EOFException eofe1) {
+                               logger.info(String.format("Got EOF from %s.", source.get().name()));
                                waitForNewSource();
                        } finally {
                                synchronized (source) {