Commit Graph

4192 Commits

Author SHA1 Message Date
Martijn van Beurden 3975b3e6a2
Check for ID3v2 tag when using flac -t 2022-11-04 17:03:48 +01:00
Martijn van Beurden 9ca1e062c2
Add --force-legacy-wave-format option to flac command line program 2022-11-04 06:54:01 +01:00
Martijn van Beurden 3fe6219c68
Fix encoder not deleting output after error on Windows
When `flac` was invoked as an encoder and stumbled on an error, it would first try to unlink the file and only then finish encoding. This works fine on *nix but fails on Windows. With this commit, the encoder session is first destroyed and only then the file is 'unlinked'.
2022-11-03 21:45:56 +01:00
Martijn van Beurden f00e355363
Check chunk sizes
WAVE and AIFF files cannot be larger than exactly 4GiB. Anything
larger must be read with --ignore-chunk-sizes. Also, prevent
overflow in foreign metadata handling
2022-11-03 20:32:35 +01:00
Martijn van Beurden 093b7f21dd
Upgrade github actions 2022-11-03 20:31:06 +01:00
Martijn van Beurden b32e5cbf98
Release FLAC 1.4.2 2022-10-22 13:01:34 +02:00
Martijn van Beurden 2ba31ca422
Remove sourceforge logo from api docs 2022-10-21 19:27:29 +02:00
Martijn van Beurden 6abf272158
Make progress updates depend on wall time instead of progress
Progress updates were output too often on fast CPUs and not often
enough for slow CPUs. In the Windows shell this gave the additional
problem that such output is extremely slow.

See https://hydrogenaud.io/index.php/topic,123014.msg1017724.html#msg1017724
2022-10-21 10:25:01 +02:00
Martijn van Beurden e7b584eaf9
Remove default msse2 on x86, tidy up asm optimizations
Remove default addition of msse2 on x86. After profiling it was
found this helps little on modern systems. See
https://github.com/xiph/flac/issues/486

The mention of Asm optimizations at the end of configuration was
wrong in many ways: it was 'yes' on platforms for which there are
no optimizations, and wasn't set to 'no' in case intrinsics headers
aren't available.
2022-10-20 07:39:18 +02:00
Martijn van Beurden 396313c9d0 [doxygen] Change links from local to xiph.org/flac 2022-10-19 17:09:57 +02:00
Ozkan Sezer c0a6701bc0 fix a typo in stream_encoder.h
fixes doxygen error:
include/FLAC/stream_encoder.h:1298: Error: Unexpected character `"'
2022-10-19 17:09:57 +02:00
Martijn van Beurden 8c43332ce6
Remove assert that is no longer true 2022-10-19 14:19:58 +02:00
Ozkan Sezer 3426713ed9
fix --disable-stack-smash-protection mingw issues, add --disable-fortify-source
Co-authored-by: Martijn van Beurden <mvanb1@gmail.com>
2022-10-18 22:43:38 +02:00
Martijn van Beurden ad9618c54d
Prepend to CFLAGS instead of only setting when blank 2022-10-18 07:16:16 +02:00
Ozkan Sezer 92928f2868
fix errors: 'for' loop initial declarations are only allowed in C99 mode 2022-10-17 17:54:53 +02:00
Ozkan Sezer 5a9ffda852
fix broken bswap.m4
it used to always define HAVE_BSWAP32 and HAVE_BSWAP16 even if the
builtin isn't supported. This broke with commit bfe5ff9
2022-10-17 07:28:08 +02:00
Martijn van Beurden 75ef7958df
Remove all assembler 2022-10-15 15:44:03 +02:00
Martijn van Beurden 0665053c5d
Revert "Remove variable no longer in use"
This reverts commit 90d7fdb3e1. It
turns out it hurts compression. Reported at
https://hydrogenaud.io/index.php/topic,123025.125.html
2022-10-13 21:46:18 +02:00
TokyoBlackHole c8b6d2ab58
README.md: remove mention of XMMS plugin 2022-10-13 19:08:25 +02:00
Martijn van Beurden 90d7fdb3e1 Remove variable no longer in use 2022-10-12 20:37:18 +02:00
Martijn van Beurden bb400ec5a4 Prevent division by zero when preparing apodizations 2022-10-12 20:37:18 +02:00
Martijn van Beurden bc0173fe5f Evade intrinsics autoc routines when data_len == FLAC__MAX_LPC_ORDER
As lag is one larger than the LPC order, also do not use intrinsics
when data_len == 32
2022-10-12 20:37:18 +02:00
Martijn van Beurden 20ce6f9bf2 Do not let small blocksizes be handled by intrinsics autoc calculation
Also, fix a bug in which apodization windows were not recalculated when
blocksize was shrunk
2022-10-12 20:37:18 +02:00
Martijn van Beurden 039586e909 Make autocorrelation calculation easier to vectorize 2022-10-12 20:37:18 +02:00
Martijn van Beurden 06769de241 Compile libFLAC with associative floating-point math 2022-10-12 20:37:18 +02:00
Martijn van Beurden f64f3782f0
Only fuzz apodizations on small inputs (#479) 2022-10-12 16:58:03 +02:00
Martijn van Beurden 09660e58dd
Reduce timeouts of fuzzer_encoder similar to fuzzer_encoder_v2 2022-10-11 07:24:47 +02:00
Martijn van Beurden ce5d41fa96
Link to gitlab for complete list of authors 2022-10-10 19:47:33 +02:00
Martijn van Beurden 3d55a9dc6c
Reset last_frame_is_set on flush 2022-10-09 08:18:56 +02:00
Martijn van Beurden 90c0562d4e
Assume Clang supports x86 intrinsics up to FMA
This mirrors behaviour for GCC
2022-10-07 09:13:07 +02:00
Martijn van Beurden 8fbeff238c
Remove xmms plugin 2022-10-06 16:41:40 +02:00
Martijn van Beurden 2440e19a73 Fix out-of-tree building with prebuilt docs 2022-09-26 16:47:17 +02:00
Martijn van Beurden e9551810c7 AC_CHECK_FILE -> simple test, doesn't fail when cross-compiling
This should fix https://github.com/xiph/flac/issues/463
2022-09-26 16:47:17 +02:00
Ralph Giles a2be4d2aed gitlab ci: Install pandoc dep
This is needed to generate the manpages for the `distcheck` target.
2022-09-22 13:54:05 -07:00
Martijn van Beurden b6fbd6b3d9
Release FLAC 1.4.1 2022-09-22 12:02:59 +02:00
Martijn van Beurden a076395de0
[CMake] Create dir for pandoc generation 2022-09-22 06:46:03 +02:00
Martijn van Beurden 8e50d89a40
[CMake] C flags were set while CXX flags were meant 2022-09-21 22:06:33 +02:00
Martijn van Beurden 3f4ba7620c Change C++ style comments to C style in headers 2022-09-20 19:54:32 +02:00
Martijn van Beurden 87c3d8a0d9 Fix a lot of Doxygen errors and add some documentation 2022-09-20 19:54:32 +02:00
Martijn van Beurden 89a1620c42 Update API and tool docs 2022-09-20 19:54:32 +02:00
Martijn van Beurden c65713b340 Define WINAPI_FAMILY stuff on platforms that do not provide them 2022-09-20 11:51:05 +02:00
Steve Lhomme 7dfcd73350 don't call GetFileInformationByHandle on Universal Windows Platform builds
It cannot be called:
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfileinformationbyhandle

We can get the same information with GetFileInformationByHandleEx(FileIdInfo):
https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getfileinformationbyhandleex
2022-09-20 11:51:05 +02:00
Steve Lhomme ebf02df10d don't call CreateFileW on Universal Windows Platform builds
It cannot be called:
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew

There is CreateFile2 which is very similar:
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfile2
2022-09-20 11:51:05 +02:00
Steve Lhomme 020f5c3805 disable console using on Universal Windows Platform builds
There's no support for the console. These functions cannot be used

* GetStdHandle(): https://learn.microsoft.com/en-us/windows/console/getstdhandle
* GetConsoleScreenBufferInfo(): https://learn.microsoft.com/en-us/windows/console/getconsolescreenbufferinfo
* WriteConsoleW(): https://learn.microsoft.com/en-us/windows/console/writeconsole

Instead send logs to the debug output
2022-09-20 11:51:05 +02:00
Martijn van Beurden 71e23ab6b8 Remove added empty line 2022-09-20 08:19:31 +02:00
Ozkan Sezer eadf2a6471 stream_decoder.c: move sys/stat.h include after sys/types.h. 2022-09-20 08:19:31 +02:00
Johannes Kauffmann e603c26db2 getopt: avoid K&R function definitions
This avoids warnings on clang-16 such as:

getopt/getopt.c:315:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
exchange (argv)
^
2022-09-20 08:19:18 +02:00
Martijn van Beurden b175971f80
Include api dir in distribution
Also, don't create empty Doxygen tag and api directory
2022-09-18 20:09:48 +02:00
Martijn van Beurden de058537cf
Update .travis.yml
Similar to commit 1839370
2022-09-18 18:50:44 +02:00
Martijn van Beurden 71c3c55dba
Do not make empty man pages, use either pandoc or prebuild (#440)
* Do not make empty man pages, use either pandoc or prebuild

A check is added to configure whether flac.1 and metaflac.1
are already build when pandoc is not available. This is the
case in for example dist packages

* Fix typo in new automake conditional
2022-09-18 10:11:47 +02:00