Commit Graph

4165 Commits

Author SHA1 Message Date
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
Martijn van Beurden
1c0eea679a
[CMake] Prepend compiler flags, fix Clang compiler warnings
Because of issue https://github.com/xiph/flac/issues/437 compiler
flags are prepended instead of appended, so the user can override
them without altering the CMakeLists.txt.

Also, Clang doesn't support per-function optimize options, so in
CMake the fma file gets that option per-file. This is not supported
by automake.
2022-09-17 09:20:15 +02:00
Martijn van Beurden
526b28a95e
Warn user when encoding to stdout that checksum isn't written (#445)
Fixes https://github.com/xiph/flac/issues/428
2022-09-16 20:49:27 +02:00
Martijn van Beurden
1cb364d8cf
Make sure git doesn't try to get version from other repository
Fixes https://github.com/xiph/flac/issues/443
2022-09-16 13:59:21 +02:00
Martijn van Beurden
1a84604b2b
Remove __MSVCRT_VERSION__=0x0601 from configure.ac
This does not seem to be necessary anymore, is not used in CMake
and inhibits building against UWP and UCRT with MinGW
2022-09-15 16:07:29 +02:00
Martijn van Beurden
1839370cca [CI] Set INSTALL_MANPAGES=OFF 2022-09-15 09:49:53 +02:00
Martijn van Beurden
6fcee44e02 [CMake] Make building of man pages possible
This mirrors https://github.com/xiph/flac/pull/440
and fixes https://gitlab.xiph.org/xiph/flac/-/issues/2
2022-09-15 09:49:53 +02:00
Tomasz Kłoczko
e8c23bf75e install cmake module in default cmake search path
cmake uses $(datadir}/cmake and $(libdir}/cmake as base path to
search for its moduels. Install FLAC cmake module in
$(libdir}/cmake/FLAC because it provides arch dependent API/ABI.

Signed-off-by: Tomasz Kłoczko <kloczek@github.com>
2022-09-15 09:49:53 +02:00
Tomasz Kłoczko
4145f7455b Fix man pages lvl 1 install path
Install those pages in "${CMAKE_INSTALL_MANDIR}/man1 instead directly in
"${CMAKE_INSTALL_MANDIR}.

Signed-off-by: Tomasz Kłoczko <kloczek@github.com>
2022-09-15 09:49:53 +02:00
Martijn van Beurden
97dbae1800
Fix endianness display in endswap test (cosmetic issue)
As CPU_IS_LITTLE_ENDIAN is used nowehere except in test_libflac,
switch to CPU_IS_BIG_ENDIAN instead, which is actually used in the
code at several places. CMake didn't set the former but does set
the latter.
2022-09-15 07:17:18 +02:00
Martijn van Beurden
229f4f45df
Remove assert that is no longer true
This was never strictly true, but the assert fired in normal use
since commit a2c8ae5
2022-09-14 21:56:45 +02:00
Jörn Heusipp
13bba4462b Fix wrong format string specifier.
Fixes https://github.com/xiph/flac/issues/433
2022-09-14 20:17:53 +02:00
Martijn van Beurden
a1b7fa78a8
Remove unused release script 2022-09-14 08:24:32 +02:00
Martijn van Beurden
2ab4677750
Release FLAC 1.4.0 2022-09-09 14:08:42 +02:00
Martijn van Beurden
35303458f0
Fix make check on MinGW when building shared library 2022-09-07 09:57:18 +02:00
Martijn van Beurden
f1e26d4813
Update CHANGELOG.md and AUTHORS 2022-09-05 21:33:29 +02:00
Martijn van Beurden
dd8a264c56
Restructure README, API and HTML documentation
Tool documentation has moved to man directory, other dev docs to
README.md and CONTRIBUTING.md. User documentation is already on
the website and doesn't really belong in the source code. Also, fix CMake
so that it uses Doxyfile.in instead of using defaults.
2022-09-05 19:11:31 +02:00
Martijn van Beurden
5e67c6278e
[CI] Add Windows build with shared libs 2022-09-04 15:23:12 +02:00
Martijn van Beurden
5d1402eae3
fuzzer: Do not add corrupt vorbiscomment metadata block
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50509
Credit: Oss-Fuzz
2022-08-31 07:10:20 +02:00
Martijn van Beurden
a6de25bbb6
Update ABI check 2022-08-30 22:01:11 +02:00
Martijn van Beurden
dc12a9e2f6
Add struct tag to FLAC__StreamMetadata (#416) 2022-08-29 20:35:19 +02:00
Martijn van Beurden
0bf7282f58
Protect window functions from NaN
Credit: oss-fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47747
2022-08-23 19:40:35 +02:00
Martijn van Beurden
cd031fb7a9
Add ABI check to CI
This adds a dump of current ABIs (which will probably be released
as 1.4.0) to the test directory, and adds a comparison to current
ABIs to the distcheck
2022-08-22 16:07:25 +02:00
Martijn van Beurden
c90b3ea3c0 Fix integer overflow in seeking code
This issue popped up in ci-fuzz, unrelated to the PR itself.
2022-08-20 16:03:53 +02:00
Martijn van Beurden
5bc582b2c7 Fix some OOM metadata bugs, disable OOM checking in metadata fuzzing
For now OOM emulation in fuzzer_metadata is disabled, as I really
want to get as much merged as soon as possible. Need to get back
to this at some point
2022-08-20 16:03:53 +02:00
Martijn van Beurden
1f21ae2702 Add write callback abort check to seeking fuzzer
If the write callback calls for an abort, this must be honored.
This commit adds a check to ascertain the write callback isn't
called again
2022-08-20 16:03:53 +02:00
Martijn van Beurden
3ce4475451 Don't overwrite bad state with seek error
In case memory allocation fails or decoding is aborted during
seeking, do not overwrite these states with a seek error
2022-08-20 16:03:53 +02:00
Martijn van Beurden
70e63b03ec Throw memory allocation error when side subframe allocation fails 2022-08-20 16:03:53 +02:00