From: David ‘Bombe’ Roden Date: Fri, 15 Mar 2013 05:37:00 +0000 (+0100) Subject: Identify MP3 files. X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=5428f6df5412d99a0e631d3f0f798dd04f3dc5a5;p=sonitus.git Identify MP3 files. --- diff --git a/src/main/java/net/pterodactylus/sonitus/io/IdentifyingInputStream.java b/src/main/java/net/pterodactylus/sonitus/io/IdentifyingInputStream.java index 7cc69b0..c63e565 100644 --- a/src/main/java/net/pterodactylus/sonitus/io/IdentifyingInputStream.java +++ b/src/main/java/net/pterodactylus/sonitus/io/IdentifyingInputStream.java @@ -24,6 +24,7 @@ import java.io.InputStream; import net.pterodactylus.sonitus.data.Format; import com.google.common.base.Optional; +import com.google.common.io.ByteStreams; /** * Wrapper around an {@link InputStream} that identifies the {@link Format} of @@ -88,6 +89,14 @@ public class IdentifyingInputStream extends FilterInputStream { return Optional.of(new IdentifyingInputStream(rememberingInputStream.remembered(), format.get())); } + /* try MP3 now. */ + rememberingInputStream = new RememberingInputStream(rememberingInputStream.remembered()); + InputStream limitedInputStream = ByteStreams.limit(rememberingInputStream, 1048576); + format = Mp3Identifier.identify(limitedInputStream); + if (format.isPresent()) { + return Optional.of(new IdentifyingInputStream(rememberingInputStream.remembered(), format.get())); + } + return Optional.absent(); }