Update immediately if the metadata has been updated.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 28 May 2013 12:47:20 +0000 (14:47 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 28 May 2013 12:47:20 +0000 (14:47 +0200)
src/main/java/net/pterodactylus/sonitus/data/filter/TimeCounterFilter.java

index 96b4052..1c53d55 100644 (file)
@@ -104,14 +104,14 @@ public class TimeCounterFilter extends DummyFilter {
                if (resetOnMetadataUpdate) {
                        reset();
                }
-               updateTimestamp();
+               updateTimestamp(true);
        }
 
        @Override
        public void process(byte[] buffer) throws IOException {
                super.process(buffer);
                counter.getAndAdd(buffer.length);
-               updateTimestamp();
+               updateTimestamp(false);
        }
 
        //
@@ -119,9 +119,9 @@ public class TimeCounterFilter extends DummyFilter {
        //
 
        /** Updates the timestamp in the metadata. */
-       private void updateTimestamp() {
+       private void updateTimestamp(boolean now) {
                long timestamp = getMillis() / 1000;
-               if (lastTimestamp.get() != timestamp) {
+               if (now || (lastTimestamp.get() != timestamp)) {
                        super.metadataUpdated(parentMetadata.get().comment(String.format("%02d:%02d", timestamp / 60, timestamp % 60)));
                        lastTimestamp.set(timestamp);
                }