|
From: Alex W. <ale...@gm...> - 2012-08-30 21:56:45
|
Hi all, I want to firstly say thank you for your work on jFLAC - having a native Java FLAC implementation is very nice. Anyway, I was using the latest stable release (1.3.0) and noticed it wouldn't decode a high-resolution (24 bit, 96 kHz) FLAC file I had - it threw a lot of "STREAM_DECODER_UNPARSEABLE_STREAM" errors. Looking at the source code from your Sourceforge git repo, I noticed the problem was primarily a lack of support for the Rice2 residual coding method: http://flac.sourceforge.net/format.html#rice2_partition (To reproduce the error, you can re-encode "McDougalsMen24bit_48kHz.flac" in the test resources using the latest version of flac (1.2.1) and try to play using jFLAC.) So I got the original FLAC source code for the latest version without Rice2 (1.1.4) and the current version (1.2.1) and did a diff on the stream_decoder.c to find the required changes. The result being I've updated jFLAC such that it can now play files which use the Rice2 encoding method. Hence the purpose of this email, to ask if you would interested in these changes (I made a new local git branch called flac-1.2.1 from the master one, so it shouldn't be too hard to share that - I'm quite new to git but I gather if I pushed it online someone could then process it?) or are you focussing on the version 2.0 rewrite? It's not comprehensively tested (and I also noticed that the seek code had been updated in FLAC 1.2.1 compared to 1.1.4 but it didn't look related) however it works insofar as it successfully decodes all the FLAC files I have whereas the current version does not. Best Regards, Alex |