Encoding metadata to UTF-16 can fail if data is an unpaired surrogate

Issue #1 resolved
IJabz repo owner created an issue

Certain characters such as \uDFFF cannot be encoded in UTF-16 so could through RuntimeException as in

30/12/2014 13.55.54:org.jaudiotagger.audio.mp3.MP3File:save:SEVERE: Cannot make changes to file 01 - Land of a Thousand Dances.mp3 because java.nio.charset.UnmappableCharacterException: Input length = 1 java.lang.RuntimeException: java.nio.charset.UnmappableCharacterException: Input length = 1 at org.jaudiotagger.tag.datatype.TextEncodedStringNullTerminated.writeByteArray(TextEncodedStringNullTerminated.java:242) at org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody.write(AbstractID3v2FrameBody.java:206) at org.jaudiotagger.tag.id3.framebody.AbstractFrameBodyTextInfo.write(AbstractFrameBodyTextInfo.java:224) at org.jaudiotagger.tag.id3.framebody.FrameBodyTXXX.write(FrameBodyTXXX.java:179) at org.jaudiotagger.tag.id3.ID3v23Frame.write(ID3v23Frame.java:478) at org.jaudiotagger.tag.id3.AbstractID3v2Tag.writeFramesToBufferStream(AbstractID3v2Tag.java:1735) at org.jaudiotagger.tag.id3.AbstractID3v2Tag.writeFramesToBuffer(AbstractID3v2Tag.java:1692) at org.jaudiotagger.tag.id3.ID3v23Tag.write(ID3v23Tag.java:732) at org.jaudiotagger.audio.mp3.MP3File.save(MP3File.java:878) at org.jaudiotagger.audio.mp3.MP3File.save(MP3File.java:791) at com.jthink.jaikoz.data.id3.MP3Bridge.saveFileOnlyFromID3(MP3Bridge.java:479) at com.jthink.jaikoz.data.id3.MP3Bridge.saveFileFromModel(MP3Bridge.java:241) at com.jthink.jaikoz.data.FileBridgeFactory.saveFileFromModel(FileBridgeFactory.java:188) at com.jthink.jaikoz.TagSaver$WorkerThread.run(TagSaver.java:635) Caused by: java.nio.charset.UnmappableCharacterException: Input length = 1 at java.nio.charset.CoderResult.throwException(Unknown Source) at java.nio.charset.CharsetEncoder.encode(Unknown Source) at org.jaudiotagger.tag.datatype.TextEncodedStringNullTerminated.writeByteArray(TextEncodedStringNullTerminated.java:233) ... 13 more

Comments (1)

  1. Log in to comment