1. 31 May, 2022 3 commits
    • Ralph Giles's avatar
      Remove obsolete ci/flac-autotool.sh · c2daa371
      Ralph Giles authored
      I think this is from the jenkins era. For a while we tried to
      consolidate continuous-integration build descriptions across
      services, but the formats are different enough that it's been
      easier to use separate, per-service implementations.
      
      In any case, this isn't used any more so there's no reason to
      keep it around.
      c2daa371
    • Ralph Giles's avatar
      gitlab ci: Remove Makefile.lite job · 9fbccc90
      Ralph Giles authored
      This build system has been removed, so don't try to test it on
      gitlab instances.
      9fbccc90
    • Ralph Giles's avatar
      Github actions: add make distcheck job · 91cb661e
      Ralph Giles authored
      
      
      Add a github action to build and verify the traditional distribution
      source package with GNU Autotools, also known as `make distcheck`.
      
      This helps catch errors propagating required file list changes.
      Co-authored-by: Martijn van Beurden's avatarMartijn van Beurden <mvanb1@gmail.com>
      91cb661e
  2. 30 May, 2022 1 commit
  3. 29 May, 2022 1 commit
    • Martijn van Beurden's avatar
      Fix fuzzer_decoder timeouts · 95064f9f
      Martijn van Beurden authored
      fuzzer_decoder was running into timeouts because it triggered the
      gap-filling for broken frames with 5*192000 samples and a blocksize
      of 1, causing the write callback to be called 960000 times. Doing
      this several times in one file caused a single fuzz run to take
      > 60 seconds
      
      This commit limits the minimum blocksize to 16 samples, and the
      maximum number of frames emitted to 50
      
      Credit: Oss-Fuzz
      Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47193
      95064f9f
  4. 28 May, 2022 3 commits
  5. 27 May, 2022 3 commits
  6. 26 May, 2022 2 commits
  7. 23 May, 2022 1 commit
  8. 22 May, 2022 1 commit
    • Martijn van Beurden's avatar
      Renable escape coding for fuzzing · 4dedae4f
      Martijn van Beurden authored
      Escape coding has been deprecated since FLAC 1.0.4 (24-Sep-2002), but
      it is needed for full spec coverage, (as this is a reference
      implementation after all) so this should be reenabled at some point.
      
      For now only enable while fuzzing, so we can get some bugs out first.
      4dedae4f
  9. 21 May, 2022 1 commit
    • Martijn van Beurden's avatar
      Fix compression of loose mid-side for certain kinds of music · f44d5967
      Martijn van Beurden authored
      The loose mid-side option only fully evaluates stereo decorrelation
      once every few frames. However, in case of finding left-side or
      right-side to be the best option, subsequent frames were coded
      mid-side, which could be worse off. To not complicate code too much
      (to make it possible to evaluate only left or right and side frame
      for example), evaluation of left-side and right-side is completely
      disabled when loose mid-side is enabled.
      f44d5967
  10. 20 May, 2022 4 commits
  11. 19 May, 2022 3 commits
  12. 18 May, 2022 3 commits
  13. 17 May, 2022 1 commit
    • Martijn van Beurden's avatar
      Simplify and merge win_utf8 files and remove from DLL interface · e5e99dcd
      Martijn van Beurden authored
      libFLAC DLLs were exposing windows_unicode_filename.h functions
      because flac and metaflac needed to set flac_internal_set_utf8_
      filenames. Files windows_unicode_filename.{c/h} and
      win_utf8_io.[c/h] are merged, and all non-utf8 parts are removed.
      
      With this commit, the libFLAC DLL interface is the same as the
      libFLAC interface of shared libraries on other platforms
      e5e99dcd
  14. 16 May, 2022 1 commit
  15. 12 May, 2022 1 commit
  16. 11 May, 2022 4 commits
    • Martijn van Beurden's avatar
      Add residual limit checking · 1bec35e3
      Martijn van Beurden authored
      This patch adds a (fast) check in the bitreader to detect overflow
      of the residual
      1bec35e3
    • Martijn van Beurden's avatar
      Make it possible for fuzzer to disable instruction set optimizations · becba351
      Martijn van Beurden authored
      This should greatly increase code coverage of the encoder fuzzer
      becba351
    • Martijn van Beurden's avatar
      Add abort on encoding error that should not happen · 87a5f3e9
      Martijn van Beurden authored
      This commit lets the following errors trigger an abort:
      - FLAC__STREAM_ENCODER_OGG_ERROR
      - FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR
      - FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA
      - FLAC__STREAM_ENCODER_IO_ERROR
      - FLAC__STREAM_ENCODER_FRAMING_ERROR
      - FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR
      
      FLAC__STREAM_ENCODER_CLIENT_ERROR does not trigger an abort because
      it is used to signal invalid input. FLAC__STREAM_ENCODER_UNINITIALIZED
      does not trigger an abort because init fails when invalid parameters
      are given
      87a5f3e9
    • Martijn van Beurden's avatar
      Check whether verify decoder is still valid · 6122337f
      Martijn van Beurden authored
      Errors returned by the verifing decoder were ignored, while an error
      often invalidates the assumptions the encoder made about the state
      of the verifying decoder. If an error was ignored, it could be the
      decoder outputs an (invalid) frame with a different number of channels
      than the encoder expects. This could cause heap overflows. This
      commit adds checks for this occuring.
      6122337f
  17. 09 May, 2022 2 commits
  18. 08 May, 2022 1 commit
  19. 07 May, 2022 1 commit
  20. 06 May, 2022 1 commit
  21. 03 May, 2022 2 commits