summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update maintainer statement.1.3.41.3.xRalph Giles2022-02-201-4/+1
| | | | | Erik hasn't had time to look after the repo lately. We continue as we can.
* Change sourceforge URL in flac error messages to githubMartijn van Beurden2022-02-132-2/+2
| | | | Signed-off-by: Ralph Giles <giles@thaumas.net>
* Set release date in the changelog.Ralph Giles2022-02-131-1/+1
| | | | Missed this in the previous commit.
* Set release date for 1.3.4.Ralph Giles2022-02-132-2/+2
| | | | | This is a target date, but it's a nice round number if we're able to make it work.
* Change version to 1.3.4 and add placeholders for release dateMartijn van Beurden2022-02-1312-22/+26
| | | | Signed-off-by: Ralph Giles <giles@thaumas.net>
* Add 1.3.4 to changelogMartijn van Beurden2022-02-131-2/+87
| | | | Signed-off-by: Ralph Giles <giles@thaumas.net>
* Revert "libFLAC: Rename get_client_data_from_decoder function"Ralph Giles2022-02-132-4/+4
| | | | | | | | | | Remove this from the 1.3.x release branch since it's an API change. Backward-compatible, but still. This change should instead be released as part of flac 1.4.0. This reverts commit 4ca0d85c5d0ea3e9d9afc4ac53b5187c9ab98689. Signed-off-by: Martijn van Beurden <mvanb1@gmail.com>
* Revert "move the new public get_decoder_client_data function to public header."Ralph Giles2022-02-132-10/+5
| | | | | | | | | | Remove this from the 1.3.x release branch since it's an API change. Backward-compatible, but still. This change should instead be released as part of flac 1.4.0. This reverts commit 19a0e99ac3ac5f1fc24d66612668a277ceba8195. Signed-off-by: Martijn van Beurden <mvanb1@gmail.com>
* Run CIFuzz on the 1.3.x release branch.Ralph Giles2022-02-131-0/+1
| | | | | Make sure we have coverage when working on backports to the older stable API series.
* Add CIFuzz to workflowsMartijn van Beurden2022-02-101-0/+35
| | | | Signed-off-by: Ralph Giles <giles@thaumas.net>
* Check that blocksize is evenly divisible by 2^(partition order)Martijn van Beurden2022-02-081-2/+4
| | | | | | | Credit: Oss-Fuzz Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38815 Signed-off-by: Ralph Giles <giles@thaumas.net>
* Check for predictor order <= blocksize in subframe headerMartijn van Beurden2022-02-081-2/+14
| | | | | | | Credit: Oss-Fuzz Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38347 Signed-off-by: Ralph Giles <giles@thaumas.net>
* Mark fixed subframes with bps > 24 as unparsableMartijn van Beurden2022-02-081-0/+6
| | | | | | | Like 1fd178e, decoding fixed subframes with bps > 24 results in integer overflow Signed-off-by: Ralph Giles <giles@thaumas.net>
* Mark 32 bps stream with stereo decorrelation as unparsableMartijn van Beurden2022-02-081-0/+5
| | | | | | | Credit: Oss-Fuzz Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19234 Signed-off-by: Ralph Giles <giles@thaumas.net>
* libFlac: Exit at EOS in verify modeNeelkamal Semwal2022-02-081-1/+3
| | | | | | | | | When verify mode is enabled, once decoder flags end of stream, encode processing is considered complete. CVE-2021-0561 Signed-off-by: Ralph Giles <giles@thaumas.net>
* Make decoder more fuzzer-friendly by disabling frame checks on fuzzingMartijn van Beurden2022-02-081-0/+10
| | | | | This commit disables CRC and zero-bit checking when FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is defined
* cpu.h: detect AVX/FMA intrinsics availability on clangtmkk2021-07-241-0/+6
| | | | | | | | Previously the FLAC__AVX2_SUPPORTED macro is defined, but actually AVX2 functions are not used when built with clang because flac only uses them when FLAC__AVX_SUPPORTED macro is set. Signed-off-by: NotTsunami
* github actions: Add dummy ctest config switch.Ralph Giles2021-07-111-1/+1
| | | | | | | | | This is required on windows, but not on other platforms. It needs to be the default `Debug` target, rather than `Release` to match CMAKE_BUILD_TYPE, for the $TARGET_FILE mapping to produce the correct path. See https://gitlab.kitware.com/cmake/cmake/-/issues/20283
* cmake: add some simple tests on windows platforms.Ralph Giles2021-07-111-3/+16
| | | | | | | | | | | | | | | The main test harnesses are written in unix shell script, so they don't work on windows. A stanza was added to the cmake config to skip all tests there to get a green build. This is misleading, since no testing was done at all on Windows. Instead, construct a separate set of tests on non-unix platforms, calling the two api test programs, which of necessity are compiled executables. Also invoke the two front-end programs with just the --help switch to verify they at least start. Thanks to Marcus Asteborg for the suggestion.
* github actions: Split CMake build into separate steps.Ralph Giles2021-07-111-7/+26
| | | | | | | | | Failures within multi-line commands aren't detected properly in the windows runner environment. Therefore split each line into a separate step for the cmake build. Use the `working-directory` key to mark the build subdir without having the prepend a `cd` command.
* github actions: add a windows cmake targetRalph Giles2021-07-111-0/+6
| | | | | | | | | | | | | Make use of the available builders for Microsoft Windows build converage. Unfortunately this job reports finding no tests to run, despite being identical to other builds. Worse, this is not reported as an error. Windows doesn't have a package manager like linux and macos, so until we figure out how to build and cache the ogg dependency for the windows job, just skip ogg support.
* github actions: archive logs on failure.Ralph Giles2021-07-111-0/+7
| | | | | | | | | | | The test harnesses log details to files during the run, which is helpful when debugging issues which are only reported as a run failure in the console output. When the build job fails, upload an artifact consisting of a zipfile with all the log files from the build, so users can investigate test failures in ci more easily.
* github actions: Fix typo.Ralph Giles2021-06-261-1/+1
| | | | This doesn't change the build; it just corrects a label.
* gitlab-ci: Add build configs.Ralph Giles2021-06-261-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define builds for gitlab's continuous integration runners so we some feedback on versions of the code hosted there, particularly https://gitlab.xiph.org/xiph/flac. Build with GNU Autotools, with CMake+ninja, and verify the Makefile.lite build. This uses the same Debian-based docker.io/library/gcc:9 container image we use for most of the codec projects. That container doesn't specify an unprivileged user so that we can install packages. However, some of flac's file-creation tests must be run as an unprivileged user who owns the source tree. We therefore create a user account and use `su` to run the tests. In the case of the autotools job, `make distcheck` unpacks the packaged source, so this takes care of ownership. In the case of the other jobs, we must `chown` the entire checkout and complete the build as the unprivileged user. Another way to address this would be to define a custom container image with the prerequisites installed before switching to an unprivileged user for the entire build. The current approach was simpler to get working.
* Fix building/installing docs with CMakeTGMarkiewicz2021-06-241-1/+1
| | | | | | | Details: - During the installation of the package with CMake, it stops (via fail) when doc files should be copied. It was caused by changing current binary to current source CMake directory.
* Fix version & requires fields in pkg config filesTGMarkiewicz2021-06-241-0/+3
| | | | | | | | | | | Details: - When building with CMake, pkg-config files flac.pc and flac++.pc are not updated with Version information. This causes a failure when running a configure script in opus-tools (https://github.com/xiph/opus-tools). Note that OGG_PACKAGE is set to "ogg" exactly as in the configure.ac, but it is only set when the building explicitly with libogg.
* examples: Fix error condition processingAndrey Astafyev2021-06-232-6/+10
| | | | | | | | | | | | Don't attempt to attach failed metadata objects. This also avoids clobbering the error flag if attaching the objects should succeed. There may still be problems later, for example calling _delete() on a possibly null metadata object pointer, but this it at least and improvement in the compromise between error handling and readability in C. Signed-off-by: Ralph Giles <giles@thaumas.net>
* CI: Run on pull requests and once a monthEwout ter Hoeven2021-06-221-1/+5
| | | | | | | Run the CI on PRs and once a month (to detect failures due to updated images or dependencies). Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com> Signed-off-by: Ralph Giles <giles@thaumas.net>
* Fix nasm.h not found when building in x86Chocobo12021-06-221-1/+1
| | | | | | | | | | | | The following is the error from compiler: Assembling cpu_asm.nasm cmd.exe /D /C "C:\Users\appveyor\AppData\Local\Temp\1\tmp62cb769c16c04b79a2f73246c8ccf95a.cmd" "/NASM/nasm.exe" -o "FLAC-asm.dir\Release\cpu_asm.obj" -fwin32 -I"C:\project\lib\flac\include\\" -I"C:\project\lib\flac\_build\Win32\\" -D"CMAKE_INTDIR="Release"" -dOBJ_FORMAT_win32 "C:\project\lib\flac\src\libFLAC\ia32\cpu_asm.nasm" C:\project\lib\flac\src\libFLAC\ia32\cpu_asm.nasm:34: fatal: unable to open include file `nasm.h' Closes #220. Signed-off-by: Ozkan Sezer <sezeroz@gmail.com>
* Merge pull request #244 from maxz/fix-wrongly-encoded-charactersRalph Giles2021-06-225-5/+5
|\ | | | | Fix encoding of contributor name.
| * Fix encoding of contributor name.Max Zettlmeißl2021-06-225-5/+5
|/ | | | The name of Håvard Kvålen was wrongly encoded.
* github actions: Drop HTML validationErik de Castro Lopo2021-03-151-6/+0
| | | | | Its seems `xmllint` is mainly an XML validator and not a HTML validator and can't find a decent command line HTML validator.
* Fix compression ratio display for very small filesMartijn van Beurden2021-03-151-3/+3
| | | | | | | | Because the compression ratio was calculated before processing the input of the last frame, it did not include the size of this last frame. This patch moves the calculation of the compression ratio after the new input has been processed. Now the compression ratio on very small files is correctly displayed.
* Add some overflow checks for residual bits calculationMartijn van Beurden2021-03-151-8/+15
|
* Change analyse function to support >4Gbit framesMartijn van Beurden2021-03-153-5/+5
| | | | | | | | Theoretically, when a rice parameter of 0, 24-bit samples, fixed predictor with order 0, no rice escaping and a blocksize of 65536 is chosen, a subframe could be up to 2^24*65536 = 1 terabyte in size. While this obviously should never happen, the analyse function should be able to debug such a case.
* flac: Work around gcc bug to prevent false unset MD5 signature warningNotTsunami2021-03-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | A bug beginning in gcc version 9.2 causes strings to get incorrectly stripped when passed directly to memcmp with a zero first byte (1). This bug causes flac -t to fail on any .flac file with a md5 checksum beginning in 00. To work around this bug, the FLAC__byte type is used for an empty md5 sum to prevent a string from being stripped, which is backwards compatible and avoids compile-time checks. This was initially reported back in March 2020, but has seen more light since Ubuntu 19.10 and up ship with gcc 9.2 as the default compiler. A patch has been merged into the master gcc branch (2), but has not been included in any versions as of this commit date. The initial reporter provided a patch in their bug report (3), which is included in this PR with authorship attributed to the reporter. (1) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189 (2) https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=d5803b9876b3d11c93d1a10fabb3fbb1c4a14bd6 (3) https://sourceforge.net/p/flac/bugs/478/ Closes #192.
* libFLAC/stream_decoder.c: Fix divide by zero error in ↵Neelkamal Semwal2021-03-151-2/+4
| | | | FLAC__stream_decoder_seek_absolute
* libFLAC/stream_decoder.c: Use current position as bound when seekingRobert Kausch2021-03-151-3/+14
|
* docs: fix simple typo, opertator -> operatorTim Gates2020-12-171-1/+1
| | | | | | | | There is a small typo in oss-fuzz/fuzzing/datasource/datasource.hpp. Should read `operator` rather than `opertator`. Signed-off-by: Ralph Giles <giles@thaumas.net>
* CMake polishingevpobr2020-05-147-19/+61
| | | | | | | | | | | | | | * Improve CPU features detection CMAKE_SYSTEM_PROCESSOR is pretty useless (e.g. when compiling with MSVC ARM64 toolchain and Ninja still returns system processor). * Don't build src/utils targets by default Fix compilation for UWP platform. * Add more Visual studio Git ignore patterns * Autogenerate Doxygen docs
* Simplified logic of parsing sizes of rice-partitionsUlrik Mikaelsson2020-05-032-9/+9
| | | | | | | | | | | | > if the partition order is zero, n = frame's blocksize - predictor order > else if this is not the first partition of the subframe, > n = (frame's blocksize / (2^partition order)) > else n = (frame's blocksize / (2^partition order)) - predictor order if the partition order is zero, then partition_number can only be zero if the partition order is zero, then (frame's blocksize / (2^partition order)) is (frame's blocksize / 1) == frame's blocksize
* fix build under Mac OS X with PowerPC CPUThomas BERNARD2020-05-032-7/+14
| | | | | revert 44036c9a9b45d03373fe90e9c112852bfc054c51 because auxv.h is only available under Linux and FreeBSD.
* Bunch of CMake fixesevpobr2020-05-0331-94/+101
| | | | | | | | | | | | * Add more Git ignore patterns * Fix Ogg dependency handling (closes #203) * Remove unneeded compiler flag (closes #204) * Fix Visual Studio DLL build error error C2491: 'flac_internal_rename_utf8': definition of dllimport function not allowed (closes #205) * Add alias targets * Reduce number of CMake files * Improve CMake intrinsics detection
* cmake: Fix pkg-config install pathevpobr2020-04-072-2/+2
| | | | | | Path was accidentally broken in acadefd. Closes #200.
* Integrate Github Actionsevpobr2020-04-071-0/+153
|
* Add more CMake optionsevpobr2020-04-054-37/+50
| | | | | | | * BUILD_PROGRAMS ** INSTALL_MANPAGES * INSTALL_PKGCONFIG_MODULES * INSTALL_CMAKE_CONFIG_MODULE
* link lm publicly to FLACericLemanissier2020-03-061-1/+1
|
* Fix nullptr dereference in FLAC++Tamás Zahola2019-12-271-0/+3
|
* CMake: Handier way to find IconvVitaliy Kirsanov2019-12-226-21/+18
|
* Correct printf specifiers to unsigned int where neededAndrey Astafyev2019-12-095-10/+10
|