Re: [Audacity-devel] mp3 file "04 The 7 C's"
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Joel B. <bo...@ho...> - 2013-08-26 14:43:36
|
Hello, no answer from "Ubuntu Foundations Team Bug Bot" for my submission about libid3tag patch, except an automated message. I think that there is very little chance to ever receive a feed-back... E.g.: other user discussions: http://old.nabble.com/Maintaining-libid3tag--td22848196.html. I see in the mail archives on the web, that this problem is not new. Most developers have "solved" it by setting the default BOM to "little endian" rather than "big endian", although the standard says the contrary... (It is what i had also done before reading the specification!). One developer goes a little further, he tests the first character of the string. His minimal solution works well for Latin-ISO strings. The solution that i have implemented follows the recommendation for BOMless strings: check for "spaces" and for ascii characters in the entire string. This is more reliable. While browsing the mail archives on the web, i have discovered a fix for an important bug: **** when an id3V2 tag is coded in UTF-16 with an erroneous length THE PARSER ENTERS AN INFINITE LOOP ! (and infinite memory reservation!!). **** I have checked this and i confirm... Here is a small mp3 file which crashes Audacity... The chance to encounter such a file is very low because all the "Tag writers" do a good job, but it seems that such files have been deliberately created and stored on e.mule and other peer to peer servers some years ago... To avoid this problem, Kurt Roeckx has proposed a small patch on the 2006-01-13 in "mad-dev". I have added his patch to my patch (both patches modify the function "id3_utf16_deserialize" in utf16.c". I think that it is important to include this fix in next Audacity release. Best regards, Joel P.S.: the patch is created from ./lib-src/libid3tag directory. To take it into account the WHOLE audacity project must be re-build (at least on Windows Visual C+++). ---------------------------------------- From: bo...@ho... To: aud...@li... Date: Wed, 21 Aug 2013 00:23:06 +0200 Subject: Re: [Audacity-devel] mp3 file "04 The 7 C's" Martyn wrote: | From Martyn Shaw <mar...@gm...> | Wed, 14 Aug 2013 22:15:17 +0100 | Subject: [Audacity-devel] mp3 file "04 The 7 C's" > Hmm, it is looking like we have the most recent version already, I > can't find any changes on > https://code.launchpad.net/ubuntu/+source/libid3tag/+branches > > It is also looking like nobody is maintaining it. So I guess the > immediate 'problem' of updating it isn't there. If Joel wanted to > step into the wider arena with patches then that is another story. > > TTFN > Martyn ==> I have submitted the patch to ""https://bugs.launchpad.net/ubuntu/+source/libid3tag/+filebug". The patch has been slightly improved, following information found on Wikipedia about endianness detection in BOM-less UTF-16. The presence of a "space" character in a string resolves any ambiguity. The statistical Ascii charater detection is only used for strings without "space". Here is the text found on "http://en.wikipedia.org/wiki/Byte_order_mark" "Clause D98 of conformance (section 3.10) of the Unicode standard states, "The UTF-16 encoding scheme may or may not begin with a BOM. However, when there is no BOM, and in the absence of a higher-level protocol, the byte order of the UTF-16 encoding scheme is big-endian." Whether or not a higher-level protocol is in force is open to interpretation. Files local to a computer for which the native byte ordering is little-endian, for example, might be argued to be encoded as UTF-16LE implicitly. Therefore the presumption of big-endian is widely ignored. When those same files are accessible on the Internet, on the other hand, no such presumption can be made. Searching for ASCII characters or just the space character (U+0020) is a method of determining the UTF-16 byte order." For an eventual commitment, you will find the library patch and the modified "audacity-patches.txt" in attachment, Best regards, Joel ------------------------------------------------------------------------------ Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today! http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk _______________________________________________ audacity-devel mailing list aud...@li... https://lists.sourceforge.net/lists/listinfo/audacity-devel |