<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/jd3lib/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/jd3lib/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Mon, 12 May 2008 12:18:10 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/jd3lib/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>Wrong Bitrate</title><link>https://sourceforge.net/p/jd3lib/bugs/47/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I'm trying to use your source.&lt;/p&gt;
&lt;p&gt;With every file I try to use I get returned a wrong bitrate.&lt;br /&gt;
In order to that a lot of other information are wrong!&lt;/p&gt;
&lt;p&gt;What can cause that problem?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;
Nobody&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Mon, 12 May 2008 12:18:10 -0000</pubDate><guid>https://sourceforge.netf523d68f928cde951ef6f765def16ff23c161d25</guid></item><item><title>specific .mp3 causes crash</title><link>https://sourceforge.net/p/jd3lib/bugs/46/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hey, I've used v1.0pe4 a bit now, and found a specific&lt;br /&gt;
.mp3 that causes it to crash.  (The way it crashes is&lt;br /&gt;
that the window just disappears, no error message -&lt;br /&gt;
this is with the "activate console output..." check box&lt;br /&gt;
enabled, so I do have the log if you'd like it.) &lt;br /&gt;
v1.0_3 (the java for windows) also crashes, with a&lt;br /&gt;
Fatal Exception dialog box - (and on a side-note, I&lt;br /&gt;
have to ctrl-alt-delete to get rid of the fatal&lt;br /&gt;
exception box...)&lt;/p&gt;
&lt;p&gt;(I tried to attach the breaking .mp3 but it's too big -&lt;br /&gt;
I can make it available on my website - lemme know)&lt;/p&gt;
&lt;p&gt;email:  sourceforge at goatwalker dot com&lt;/p&gt;
&lt;p&gt;as ever:  big thanks for your work!!&lt;/p&gt;
&lt;p&gt;jasper&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Thu, 30 Jun 2005 11:16:58 -0000</pubDate><guid>https://sourceforge.netf351ae7241ff2ffd49005de15d1f906d0b51bca4</guid></item><item><title>id3v1 version differences fix</title><link>https://sourceforge.net/p/jd3lib/bugs/45/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When reading an id3v1 tag, the code should check if the&lt;br /&gt;
byte directly after the 28th comment byte is truly 0,&lt;br /&gt;
else it is probably an id3v1.0 tag. Here is a revised&lt;br /&gt;
constructor for the Id3v1Tag class:&lt;/p&gt;
&lt;p&gt;public Id3v1Tag(ByteBuffer theBuffer) throws&lt;br /&gt;
InstantiationException {&lt;/p&gt;
&lt;p&gt;byte[] header = new byte[3];&lt;br /&gt;
theBuffer.get(header);&lt;/p&gt;
&lt;p&gt;System.out.println(new String(header));&lt;br /&gt;
System.out.println("bow" + header[0] + " " +&lt;br /&gt;
header[1] + " "&lt;br /&gt;
+ header[2]);&lt;br /&gt;
System.out.println(Arrays.equals(header, TAG));&lt;br /&gt;
if (theBuffer.limit() == 128 &amp;amp;&amp;amp;&lt;br /&gt;
Arrays.equals(header, TAG)) {&lt;br /&gt;
byte[] tempArray = new byte[FIELD_SIZE];&lt;br /&gt;
System.out.println(theBuffer);&lt;br /&gt;
theBuffer.get(tempArray);&lt;br /&gt;
this.title = new String(tempArray);&lt;br /&gt;
theBuffer.get(tempArray);&lt;br /&gt;
this.artist = new String(tempArray);&lt;br /&gt;
System.out.println(theBuffer);&lt;br /&gt;
theBuffer.get(tempArray);&lt;br /&gt;
this.album = new String(tempArray);&lt;br /&gt;
System.out.println(theBuffer);&lt;br /&gt;
tempArray = new byte[4];&lt;br /&gt;
theBuffer.get(tempArray);&lt;br /&gt;
this.year = new String(tempArray);&lt;br /&gt;
System.out.println(theBuffer);&lt;br /&gt;
tempArray = new byte[FIELD_SIZE - 2];&lt;br /&gt;
theBuffer.get(tempArray);&lt;br /&gt;
this.comment = new String(tempArray);&lt;/p&gt;
&lt;p&gt;tempArray = new byte[2]; &lt;br /&gt;
theBuffer.get(tempArray); //get next two bytes&lt;br /&gt;
if(tempArray[0]==0){ //if it is 0, we have&lt;br /&gt;
a 1.1 tag&lt;br /&gt;
this.track = tempArray[1];&lt;br /&gt;
tagVersion = "1.1";&lt;br /&gt;
} else { //else it is a 1.0 tag, and the&lt;br /&gt;
two bytes are part of the comment&lt;br /&gt;
this.comment += new String(tempArray);&lt;br /&gt;
}&lt;br /&gt;
this.genre = theBuffer.get();&lt;br /&gt;
System.out.println(theBuffer);&lt;/p&gt;
&lt;p&gt;} else {&lt;br /&gt;
throw new InstantiationException(&lt;br /&gt;
"Cant creat new tag because Tag is&lt;br /&gt;
invalid");&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Hope it helps&lt;br /&gt;
Cheers&lt;/p&gt;
&lt;p&gt;roket.scyntist at gmail dot com&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Wed, 13 Apr 2005 11:07:10 -0000</pubDate><guid>https://sourceforge.neta93cb03f10bf38b41619d161369c37a86c56edf5</guid></item><item><title>id3v1 genre bug</title><link>https://sourceforge.net/p/jd3lib/bugs/44/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I discovered that when requesting an id3v1 genre, a&lt;br /&gt;
certain range is broken e.g. SynthPop is stored as&lt;br /&gt;
decimal 147 in the file, and is also stored as decimal&lt;br /&gt;
147 in the string array (NullsoftID3GenreTable.java).&lt;br /&gt;
When the library reads the genre, it returns -109&lt;br /&gt;
because java uses a signed byte (-128 &amp;gt; 128). If the&lt;br /&gt;
number is negative, simply adding 256 should fix the&lt;br /&gt;
problem or bit shifting or some other funky method.&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;roket.scyntist at gmail dot com&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Wed, 13 Apr 2005 07:59:33 -0000</pubDate><guid>https://sourceforge.net48ba56eefa3aa4fee122fdf5598d6e6841744b01</guid></item><item><title>Unknown ID3v2 Frame Discovered</title><link>https://sourceforge.net/p/jd3lib/bugs/43/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Carsten provided a file which throws an Exception&lt;br /&gt;
because of an unknown frame. I just want to put the&lt;br /&gt;
file into the Bugtracker so that I can keep track of&lt;br /&gt;
this problem.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andreas Grunewald</dc:creator><pubDate>Thu, 18 Nov 2004 22:57:35 -0000</pubDate><guid>https://sourceforge.net017b2e036d9246ffcc59b3a00bf6669607bd2ad7</guid></item><item><title>ID3v2ExtendedHeader is busted...</title><link>https://sourceforge.net/p/jd3lib/bugs/42/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The class ID3v2ExtendedHeader incorrectly uses the&lt;br /&gt;
ID3v2.4.0 specification when parsing the bytes of the&lt;br /&gt;
extended header.  Unfortunately, the ID3v2.3.0 and&lt;br /&gt;
ID3v2.4.0 are not compatible in the way they layout the&lt;br /&gt;
extended header.&lt;/p&gt;
&lt;p&gt;When parsing an MP3 file containing a ID3v2.3.0 tag,&lt;br /&gt;
the following exception is thrown:&lt;/p&gt;
&lt;p&gt;helliker.id3.ID3v2FormatException: The number of found&lt;br /&gt;
flag bytes in the &lt;br /&gt;
extende&lt;br /&gt;
d header is not equal to the number specified in the&lt;br /&gt;
extended header.&lt;br /&gt;
at helliker.id3.ID3v2ExtendedHeader.parseFlags&lt;br /&gt;
(ID3v2ExtendedHeader.java:&lt;br /&gt;
235)&lt;br /&gt;
at&lt;br /&gt;
helliker.id3.ID3v2ExtendedHeader.readExtendedHeader&lt;br /&gt;
(ID3v2ExtendedHead&lt;br /&gt;
er.java:197)&lt;br /&gt;
at helliker.id3.ID3v2ExtendedHeader.&amp;lt;init&amp;gt;&lt;br /&gt;
(ID3v2ExtendedHeader.java:152)&lt;/p&gt;
&lt;p&gt;at helliker.id3.ID3v2Tag.&amp;lt;init&amp;gt;(ID3v2Tag.java:150)&lt;br /&gt;
at helliker.id3.MP3File.&amp;lt;init&amp;gt;(MP3File.java:203)&lt;br /&gt;
at helliker.id3.MP3File.&amp;lt;init&amp;gt;(MP3File.java:150)&lt;br /&gt;
at helliker.id3.MP3File.&amp;lt;init&amp;gt;(MP3File.java:130)&lt;/p&gt;
&lt;p&gt;I've attached a jar file containing the fixed source&lt;br /&gt;
for this problem.  It includes IDv2Tag, ID3v2Header,&lt;br /&gt;
and ID3v2ExtendedHeader.  This code doesn't have too&lt;br /&gt;
much testing mileage yet...so far all I've tested is&lt;br /&gt;
the read case.  I have done no testing of writes...&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonyespy</dc:creator><pubDate>Wed, 28 Apr 2004 23:05:49 -0000</pubDate><guid>https://sourceforge.netf08cc7175c436c4b4c716bdfa8e5261b1852e831</guid></item><item><title>endless loop in Id3V2.getUpdatePadding</title><link>https://sourceforge.net/p/jd3lib/bugs/41/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;There is the rare occurrence where an mp3 file will&lt;br /&gt;
have Id3V2 compliant padding but no Id3V2 tags. This&lt;br /&gt;
will cause the getupdatedPadding method to enter an&lt;br /&gt;
endless loop if the new tag is smaller then padding here:&lt;/p&gt;
&lt;p&gt;while (newTagSize &amp;lt; size) {&lt;br /&gt;
newTagSize += writtenTagSize;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;Solution is to add before the while loop a test for&lt;br /&gt;
writtenTagSize == 0 like this:&lt;/p&gt;
&lt;p&gt;if (writtenTagSize == 0) {&lt;br /&gt;
newTagSize = sizeDiff * 2;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;The multiplier by 2 is to make some room :)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ron Smits</dc:creator><pubDate>Mon, 15 Mar 2004 15:33:27 -0000</pubDate><guid>https://sourceforge.net948dc21e9bcf7653453f6517a4cfeca33960b4cc</guid></item><item><title>ArrayOutOfBoundsException in MP3File.writeTags()</title><link>https://sourceforge.net/p/jd3lib/bugs/40/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I found a condition in ID3v2Tag method getbytes where an&lt;br /&gt;
ArrayOutOfBoundsException occurs. Now I might be doing&lt;br /&gt;
something wrong here :) &lt;/p&gt;
&lt;p&gt;Attached is a testcase in jar format. Rename an mp3&lt;br /&gt;
file to test.mp3 and run the program twice&lt;/p&gt;
&lt;p&gt;Scenario:&lt;br /&gt;
Open an mp3 using MP3File remove all the tags and write&lt;br /&gt;
new tags. Like&lt;br /&gt;
this:&lt;/p&gt;
&lt;p&gt;public void save() throws IOException, &lt;br /&gt;
NoMPEGFramesException, &lt;br /&gt;
ID3v2FormatException,&lt;br /&gt;
CorruptHeaderException{&lt;br /&gt;
MP3File f = new MP3File (filename,&lt;br /&gt;
MP3File.BOTH_TAGS);&lt;br /&gt;
f.removeTags(MP3File.EXISTING_TAGS_ONLY);&lt;br /&gt;
f.setAlbum (Album);&lt;br /&gt;
f.setArtist(Artist);&lt;br /&gt;
f.setTitle (Song);&lt;br /&gt;
f.writeTags();&lt;br /&gt;
}&lt;br /&gt;
The class where this is in does NOT go out of scope and&lt;br /&gt;
gets called a&lt;br /&gt;
second time. The application will crash with the&lt;br /&gt;
exception. I added some&lt;br /&gt;
debug code around the problem:&lt;/p&gt;
&lt;p&gt;if (padding &amp;gt; 0) {&lt;br /&gt;
System.err.println ("padding: " + padding+" b: "&lt;br /&gt;
+ b.length+" bytesCopied: " + bytesCopied);&lt;br /&gt;
System.arraycopy(new byte[padding], 0, b,&lt;br /&gt;
bytesCopied, padding);&lt;br /&gt;
bytesCopied += padding;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;This will show:&lt;br /&gt;
padding: 16 b: 67 bytesCopied: 67&lt;br /&gt;
Apparently it tries to add 16 bytes beyond the allotted&lt;br /&gt;
length of the b&lt;br /&gt;
[].&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ron Smits</dc:creator><pubDate>Sat, 21 Feb 2004 22:13:00 -0000</pubDate><guid>https://sourceforge.net19537ad45e937f206d928f0c01007feeb7a75380</guid></item><item><title>MP3File.isMP3() incorrectly identifying files</title><link>https://sourceforge.net/p/jd3lib/bugs/39/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Scanning some directories for .mp3's using this great&lt;br /&gt;
library I noticed that it was incorrectly identifying&lt;br /&gt;
many files as .mp3's that were not.&lt;/p&gt;
&lt;p&gt;Interestingly, it identifies its own&lt;br /&gt;
NullsoftID3GenreTable.class as an MP3.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Thu, 18 Sep 2003 22:31:51 -0000</pubDate><guid>https://sourceforge.netf5d054dbef1fc4a64b6adb6214dd82f4082e71f1</guid></item><item><title>Doesnt display idv2.4 tags</title><link>https://sourceforge.net/p/jd3lib/bugs/38/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Tags encoded using EAC and 2,4 dont seem to display, &lt;br /&gt;
will support for 2.4 be added.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Tue, 16 Sep 2003 14:46:55 -0000</pubDate><guid>https://sourceforge.netcb355767c22410176b363e7e13b5ec7a12325022</guid></item></channel></rss>