Skip to content

Commit f8ce4fe

Browse files
feat: update libsndfile to 1.2.2-4
1 parent 34f548b commit f8ce4fe

File tree

194 files changed

+8430
-3301
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

194 files changed

+8430
-3301
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

Building-for-Android.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Assuming the Android Ndk is installed at location `/path/to/toolchain`, building
44
libsndfile for Android (arm-linux-androideabi) should be as simple as:
55
```
6-
./autogen.sh
6+
autoreconf -vif
77
export ANDROID_TOOLCHAIN_HOME=/path/to/android/toolchain
88
./Scripts/android-configure.sh
99
make
@@ -15,3 +15,32 @@ by setting them before the script is run.
1515
Since I (erikd), do almost zero Android development, I am happy accept patches
1616
for this documentation and script to improve its utility for real Android
1717
developers.
18+
19+
---
20+
21+
## Using CMake
22+
23+
(Tested on Linux)
24+
25+
For convenience, export the following variables:
26+
27+
```
28+
export ANDROID_ABI=arm64-v8a
29+
export ANDROID_PLATFORM_API_LEVEL=29
30+
export NDK_ROOT=/path/to/android/ndk
31+
```
32+
33+
Set `ANDROID_ABI`, `ANDROID_PLATFORM_API_LEVEL` according to your target system. Now cd into the libsndfile root directory, and run
34+
35+
```
36+
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=$NDK_ROOT/build/cmake/android.toolchain.cmake -DANDROID_ABI=$ANDROID_ABI -DANDROID_PLATFORM=$ANDROID_PLATFORM_API_LEVEL
37+
```
38+
39+
cd into `build` and run make
40+
41+
```
42+
cd build
43+
make [-j <number of parallel jobs>]
44+
```
45+
46+
This will build libsndfile for android.

CHANGELOG.md

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [1.2.2] - 2023-08-13
9+
10+
### Fixed
11+
12+
* Fixed invalid regex in src/create_symbols_file.py
13+
* Fixed passing null pointer to printf %s in tests
14+
15+
## [1.2.1] - 2023-08-12
16+
17+
### Added
18+
19+
* RISC OS support to `sndfile-play`, thanks @ccawley2011
20+
* Move semantics to `SndFileHandle` C++ class, thanks @haydaralaidrus
21+
22+
### Fixed
23+
24+
* Various typos, thanks @@uniontech-lilinjie
25+
* Handling of absolute `CMAKE_INSTALL_LIBDIR`/`CMAKE_INSTALL_INCLUDEDIR`, thanks
26+
@Staudey (issue #908)
27+
* Add `localtime_s` support to `sndfile-metadata-set`, thanks @neheb (issue #907)
28+
* Linking with CMake against `Ogg::ogg`, thanks @FtZPetruska
29+
* CMake `mpg123` module handling bugs, thanks @FtZPetruska
30+
* CMake dependencies handling, thanks @FtZPetruska
31+
* Various `Ogg` & `Opus` format fixes, thanks @weiliang (issue #888)
32+
* Redefining `ssize_t` when building with Autotools, thanks @ccawley2011
33+
(issue #934)
34+
* Bug related to incorrect `realloc` use, thanks @Halmoni100
35+
* Style errors, thanks to @arthurt
36+
* AIFF format related bugs, thanks to @arthurt
37+
* Reading of MP3 files without Xing or INFO headers, thanks @arthurt
38+
* Coding style of `src/mpeg_decode.c`, thanks @arthurt
39+
* Various documentation types, thanks @luzpaz
40+
* Intrinsics inclusion for MSVC and ARM64/ARM64EC, thanks @frysee
41+
* `sf_open_fd`() regression, thanks @brentr (PR #950)
42+
* WAV format related bug, thanks @magnus-nomono (issue #930)
43+
44+
### Removed
45+
46+
* Obsolete file `libsndfile.spec.in``, thanks @janstary
47+
48+
## [1.2.0] - 2022-12-25
49+
50+
### Fixed
51+
52+
* Searching for LAME dependency with CMake build system (issue #821).
53+
* CMake build from Autotools tarball (issue #816).
54+
* Build on UWP platform (issue #824).
55+
* Fix signed integer overflow (issue #785).
56+
* Skipping large wav chunks on stdin (PR #819).
57+
58+
### Removed
59+
60+
* Maximum samplerate limit, thanks @drmpeg, @justacec (issue #850).
61+
62+
In version 1.1.0, an artificial limit of 655350 Hz was created, but as it
63+
turned out, this is not enough for some scenarios.
64+
65+
## [1.1.0] - 2022-03-27
66+
67+
### Added
68+
69+
* MPEG Encode/Decode Support.
70+
71+
Uses libmpg123 for decode, liblame for encode. Encoding and decoding support
72+
is independent of each other and is split into separate files. MPEG support
73+
is generalized as subformats, `SF_FORMAT_MPEG_LAYER`(I,II,III) so that it
74+
might be used by other containers (`MPEG1WAVEFORMAT` for example), but also
75+
contains a major format `SF_FORMAT_MPEG` for 'mp3 files.'
76+
77+
Encoding Status:
78+
* Layer III encoding
79+
* ID3v1 writing
80+
* ID3v2 writing
81+
* Lame/Xing Tag writing
82+
* Bitrate selection command
83+
* VBR or CBR
84+
85+
Decoding Status:
86+
* Layers I/II/III decoding
87+
* ID3v1 reading
88+
* ID3v2 reading
89+
* Seeking
90+
* New fuzzer for OSS-Fuzz, thanks @DavidKorczynski.
91+
* This `CHANGELOG.md`. All notable changes to this project will be documented in
92+
this file. The old `NEWS` file has been renamed to `NEWS.OLD` and is no longer
93+
updated.
94+
* Add support for decoding MPEG III Audio in WAV files.
95+
* `SECURITY.md` file to give people instructions for reporting security
96+
vulnerabilities, thanks @zidingz.
97+
* Support for [Vcpkg manifest mode](https://vcpkg.readthedocs.io/en/latest/users/manifests/).
98+
99+
If you have problems with manifest mode, disable it with `VCPKG_MANIFEST_MODE`
100+
switch.
101+
* [Export CMake targets from the build tree (PR #802)](https://cmake.org/cmake/help/latest/guide/importing-exporting/index.html#exporting-targets-from-the-build-tree)
102+
* CIFuzz fuzzer, thanks to @AdamKorcz (PR #796)
103+
104+
### Changed
105+
106+
* `SFC_SET_DITHER_ON_READ` and `SFC_SET_DITHER_ON_WRITE` enums comments in
107+
public header, thanks @SmiVan (issue #677).
108+
* `ENABLE_SNDFILE_WINDOWS_PROTOTYPES` define is deprecated and not needed
109+
anymore.
110+
111+
Previously, in order for the [`sf_wchar_open`()](http://libsndfile.github.io/libsndfile/api.html#open)
112+
function to become available on the Windows platform, it was required to
113+
perform certain actions:
114+
115+
```c
116+
#include <windows.h>
117+
#define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1
118+
#including <sndfile.h>
119+
```
120+
121+
These steps are no longer required and the `sf_wchar_open`() function is
122+
always available on the Windows platform.
123+
* Use UTF-8 as internal path encoding on Windows platform.
124+
125+
This is an internal change to unify and simplify the handling of file paths.
126+
127+
On the Windows platform, the file path is always converted to UTF-8 and
128+
converted to UTF-16 only for calls to WinAPI functions.
129+
130+
The behavior of the functions for opening files on other platforms does not
131+
change.
132+
* Switch to .xz over .bz2 for release tarballs.
133+
* Disable static builds using Autotools by default. If you want static
134+
libraries, pass --enable-static to ./configure
135+
136+
### Fixed
137+
138+
* Typo in `docs/index.md`.
139+
* Typo in `programs/sndfile-convert.c`, thanks @fjl.
140+
* Memory leak in `caf_read_header`(), credit to OSS-Fuzz ([issue 30375](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30375)).
141+
* Stack overflow in `guess_file_type`(), thanks @bobsayshilol, credit to
142+
OSS-Fuzz ([issue 29339](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29339)).
143+
* Abort in fuzzer, thanks @bobsayshilol, credit to OSS-Fuzz
144+
([issue 26257](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26257)).
145+
* Infinite loop in `svx_read_header`(), thanks @bobsayshilol, credit to OSS-Fuzz
146+
([issue 25442](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25442)).
147+
* GCC and Clang pedantic warnings, thanks @bobsayshilol.
148+
* Normalisation issue when scaling floating point data to `int` in
149+
`replace_read_f2i`(), thanks @bobsayshilol, (issue #702).
150+
* Missing samples when doing a partial read of Ogg file from index till the end
151+
of file, thanks @arthurt (issue #643).
152+
* sndfile-salvage: Handle files > 4 GB on Windows OS
153+
* Undefined shift in `dyn_get_32bit`(), credit to OSS-Fuzz
154+
([issue 27366](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27366)).
155+
* Integer overflow in `nms_adpcm_update`(), credit to OSS-Fuzz
156+
([issue 25522](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25522)).
157+
* Integer overflow in `psf_log_printf`(), credit to OSS-Fuzz
158+
([issue 28441](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28441)),
159+
([issue 25624](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25624)).
160+
* ABI version incompatibility between Autotools and CMake build on Apple
161+
platforms.
162+
163+
Now ABI must be compatible with Autotools builds. Note that this change
164+
requires CMake >= 3.17 for building dylib on Apple platforms.
165+
166+
* Fix build with Autotools + MinGW toolchain on Windows platform.
167+
168+
See https://github.com/msys2/MINGW-packages/issues/5803 for details.
169+
170+
### Security
171+
172+
* Heap buffer overflow in `wavlike_ima_decode_block`(), thanks @bobsayshilol,
173+
credit to OSS-Fuzz ([issue 25530](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25530)).
174+
* Heap buffer overflow in `msadpcm_decode_block`(), thanks @bobsayshilol,
175+
credit to OSS-Fuzz ([issue 26803](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26803)).
176+
* Heap buffer overflow in `psf_binheader_readf`(), thanks @bobsayshilol,
177+
credit to OSS-Fuzz ([issue 26026](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26026)).
178+
* Index out of bounds in `psf_nms_adpcm_decode_block`(), credit to OSS-Fuzz
179+
([issue 25561](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25561)).
180+
* Heap buffer overflow in `flac_buffer_copy`(), thanks @yuawn, @bobsayshilol.
181+
* Heap buffer overflow in `copyPredictorTo24`(), thanks @bobsayshilol,
182+
credit to OSS-Fuzz ([issue 27503](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27503)).
183+
* Uninitialized variable in `psf_binheader_readf`(), thanks @shao-hua-li,
184+
credit to OSS-Fuzz ([issue 25364](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25364)).
185+
186+
[Unreleased]: https://github.com/libsndfile/libsndfile/compare/1.2.2...HEAD
187+
[1.2.2]: https://github.com/libsndfile/libsndfile/compare/1.2.1...1.2.2
188+
[1.2.1]: https://github.com/libsndfile/libsndfile/compare/1.2.0...1.2.1
189+
[1.2.0]: https://github.com/libsndfile/libsndfile/compare/1.1.0...1.2.0
190+
[1.1.0]: https://github.com/libsndfile/libsndfile/compare/1.0.31...1.1.0

0 commit comments

Comments
 (0)