ddf / Minim

A Java audio library, designed to be used with Processing.

Home Page:http://code.compartmental.net/tools/minim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Glitchy sound when playing from URL

Master-chan opened this issue · comments

When initializing FilePlayer or AudioPlayer from URL stream it sounds very glitchy and gets worse over time, eventually resulting in this exception:

Exception in thread "Thread-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 74
	at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48)
	at java.base/java.lang.String.charAt(String.java:1517)
	at javazoom.spi.mpeg.sampled.file.tag.IcyInputStream.parseInlineIcyTags(IcyInputStream.java:358)
	at javazoom.spi.mpeg.sampled.file.tag.IcyInputStream.readMetadata(IcyInputStream.java:322)
	at javazoom.spi.mpeg.sampled.file.tag.IcyInputStream.read(IcyInputStream.java:268)
	at java.desktop/javax.sound.sampled.AudioInputStream.read(AudioInputStream.java:287)
	at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:244)
	at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
	at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:343)
	at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132)
	at java.base/java.io.PushbackInputStream.read(PushbackInputStream.java:182)
	at javazoom.jl.decoder.Bitstream.readFully(Bitstream.java:529)
	at javazoom.jl.decoder.Bitstream.readFrameData(Bitstream.java:429)
	at javazoom.jl.decoder.Header.read_header(Header.java:173)
	at javazoom.jl.decoder.Bitstream.nextFrame(Bitstream.java:298)
	at javazoom.jl.decoder.Bitstream.readNextFrame(Bitstream.java:286)
	at javazoom.jl.decoder.Bitstream.readFrame(Bitstream.java:251)
	at javazoom.spi.mpeg.sampled.convert.DecodedMpegAudioInputStream.execute(DecodedMpegAudioInputStream.java:175)
	at org.tritonus.share.TCircularBuffer.read(TCircularBuffer.java:101)
	at org.tritonus.share.sampled.convert.TAsynchronousFilteredAudioInputStream.read(TAsynchronousFilteredAudioInputStream.java:157)
	at ddf.minim.javasound.JSBaseAudioRecordingStream.readBytes(JSBaseAudioRecordingStream.java:226)
	at ddf.minim.javasound.JSBaseAudioRecordingStream.mRead(JSBaseAudioRecordingStream.java:767)
	at ddf.minim.javasound.JSBaseAudioRecordingStream.read(JSBaseAudioRecordingStream.java:742)
	at ddf.minim.javasound.JSAudioOutput.readStream(JSAudioOutput.java:128)
	at ddf.minim.javasound.JSAudioOutput.run(JSAudioOutput.java:75)

Changing buffer size doesn't help.