Not protecting against user creating invalid false value for compilation field in mp4s

Issue #46 new
IJabz repo owner created an issue

From https://java.net/jira/browse/JAUDIOTAGGER-455

org.jaudiotagger.tag.FieldDataInvalidException: Value of:false is invalid for field:COMPILATION
at org.jaudiotagger.tag.mp4.field.Mp4TagByteField.<init>(Mp4TagByteField.java:65)
at org.jaudiotagger.tag.mp4.Mp4Tag.createField(Mp4Tag.java:707)
at org.jaudiotagger.tag.mp4.Mp4Tag.createField(Mp4Tag.java:603)
at org.jaudiotagger.tag.mp4.Mp4Tag.addField(Mp4Tag.java:538)
at com.jthink.songkong.analyse.analyser.SongSaver.saveTextFields(SongSaver.java:489)
at com.jthink.songkong.analyse.analyser.SongSaver.saveSongToFile(SongSaver.java:369)
at com.jthink.songkong.analyse.analyser.SongSaver.saveChanges(SongSaver.java:85)
at com.jthink.songkong.analyse.analyser.SongSaver.call(SongSaver.java:78)
at com.jthink.songkong.analyse.analyser.SongSaver.call(SongSaver.java:51)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

Basically it easy for calling program to assume the value should be set to "true", but it should actually be set to 1 for every format ( I think, certainly the ones I have checked so far). We should perhaps do this translation for calling program or at least provide a createCompilation() method so they can just pass a more user friendly boolean value, trouble is to be useful also then end up needing a setCompilation() and an addCompilation() method

Comments (0)

  1. Log in to comment