Skip to content

Releases: nu774/qaac

v2.87

29 Apr 13:06

Choose a tag to compare

Issue 121 was a regression since v2.84. On this version I switched to a new buffering I/O reader for performance reason, but very long path name support was lost since then.

Issue123

The exact conditions that trigger issue #123 are still unclear, but there are cases where the FLAC stream decoder fails to transition cleanly into the EOF state after reaching the physical end of the file. Instead, it may enter a resynchronization loop. In such cases, even though the actual end of the stream has already been reached, libFLAC repeatedly seeks back and attempts to read again, causing the trailing bytes near the end of the file to be re-read and preventing the decode process from completing.
This release includes two fixes addressing the problem:

  • Revised EOF callback behavior
    The EOF callback implementation has been updated so that when a short read occurs due to reaching EOF, the decoder is informed that the stream is at EOF from that point onward. Previously, similar to stdio’s feof(), EOF was only reported after a zero‑byte read.
    With this change, the abnormal resynchronization behavior observed in issue #123 no longer occurs for the affected file.
  • Early termination based on STREAMINFO total samples
    Decoding now terminates once the number of decoded samples reaches the total sample count specified in the FLAC STREAMINFO block.
    This serves as a safety mechanism to ensure decoding completes even if libFLAC fails to transition into the EOF state.

v2.86

28 Apr 12:07

Choose a tag to compare

  • Fixed #122
  • Added support for VS2026

v2.85

07 May 12:40

Choose a tag to compare

  • Fix: #115 (was a regression on 2.83)
  • Add CAF file parser, support FLAC in CAF container.

v2.84

25 Mar 16:04

Choose a tag to compare

Switched to a custom input stream reader to address suboptimal I/O performance when reading files, mentioned here:
https://hydrogenaud.io/index.php/topic,127609.0.html

v2.83

22 Oct 12:41

Choose a tag to compare

  • Fixed #104 (behavior of --artwork-size)
  • Added support of some recent CAF channel layout

v2.8.2

22 Mar 16:28

Choose a tag to compare

Enabled Non-Linear adaptive coding enhancer (NoLACE) when (and only when) decoding opus in MP4 container.
libopus >= 1.5 built with --enable-osce (which is off by default) is required (binary attached here).
Unfortunately, ordinary .opus file is supported only via libsndfile, in which case qaac has no direct control over libopus. Hence only MP4 file is supported.

v2.81

21 Jan 11:31

Choose a tag to compare

  • Support gapless decoding of MP3 files encoded by iTunes
  • Use edts/elst even when movie timescale is smaller than media timescale (although in this case it's impossible to obtain sample accurate duration )
  • Support decoding opus in ISOBMFF(mp4)

v2.80

05 Jul 12:11

Choose a tag to compare

  • Fixed #92, was writing incorrect PCE in case of 7.1ch(rear) HE-AAC.
  • Update libmp4v2
  • Update taglib

v2.79

12 Mar 12:47

Choose a tag to compare

Fixed a regression on v2.78: encoding was always failing due to wrong temp filename when -o is specified with full pathname and --no-optimize is not specified.

v2.78

12 Mar 09:18

Choose a tag to compare

  • Fix importing ID3 genre (genre number is off by 1 on iTunes m4a)
  • Fix: some tagging options were not recognized properly
  • Fix: also pass codepage provided by --text-codepage to files provided by --tag-from-file
  • Switch to uchardet for character encoding detection. This is better than old IMultiLanguage2 detector and also works on wine.
  • Update mp4v2 based on https://github.com/enzo1982/mp4v2