Accepting request 1002525 from home:iznogood:branches:multimedia:libs

New upstream release

OBS-URL: https://build.opensuse.org/request/show/1002525
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/flac?expand=0&rev=62
This commit is contained in:
Takashi Iwai 2022-09-12 13:19:16 +00:00 committed by Git OBS Bridge
parent 8c4eefbc37
commit d447108c5c
7 changed files with 180 additions and 83 deletions

View File

@ -1,48 +0,0 @@
From 2834dd4eb51a1847a424a3d7ea799b38a62487e9 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 1 Mar 2022 08:16:45 +0100
Subject: [PATCH] Revert "libFLAC/stream_decoder.c: Use current position as
bound when seeking"
This reverts commit 159cd6c41a6ec17b36d74043c45a3aa64de90d5e.
---
src/libFLAC/stream_decoder.c | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)
diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
index 4380b486fd5f..0e7264809dbf 100644
--- a/src/libFLAC/stream_decoder.c
+++ b/src/libFLAC/stream_decoder.c
@@ -3067,26 +3067,15 @@ FLAC__bool seek_to_absolute_sample_(FLAC__StreamDecoder *decoder, FLAC__uint64 s
/*
* First, we set an upper and lower bound on where in the
- * stream we will search. For now we take the current position
- * as one bound and, depending on where the target position lies,
- * the beginning of the first frame or the end of the stream as
- * the other bound.
+ * stream we will search. For now we assume the worst case
+ * scenario, which is our best guess at the beginning of
+ * the first frame and end of the stream.
*/
lower_bound = first_frame_offset;
lower_bound_sample = 0;
upper_bound = stream_length;
upper_bound_sample = total_samples > 0 ? total_samples : target_sample /*estimate it*/;
- if(decoder->protected_->state == FLAC__STREAM_DECODER_READ_FRAME) {
- if(target_sample < decoder->private_->samples_decoded) {
- if(FLAC__stream_decoder_get_decode_position(decoder, &upper_bound))
- upper_bound_sample = decoder->private_->samples_decoded;
- } else {
- if(FLAC__stream_decoder_get_decode_position(decoder, &lower_bound))
- lower_bound_sample = decoder->private_->samples_decoded;
- }
- }
-
/*
* Now we refine the bounds if we have a seektable with
* suitable points. Note that according to the spec they
--
2.31.1

View File

@ -1,8 +1,8 @@
libFLAC8 libFLAC12
obsoletes "flac-<targettype> <= <version>" obsoletes "flac-<targettype> <= <version>"
obsoletes "libflac-<targettype> <= <version>" obsoletes "libflac-<targettype> <= <version>"
libFLAC++6 libFLAC++10
flac-devel flac-devel
requires -flac-<targettype> requires -flac-<targettype>
requires "libFLAC8-<targettype> = <version>" requires "libFLAC12-<targettype> = <version>"
requires "libFLAC++6-<targettype> = <version>" requires "libFLAC++10-<targettype> = <version>"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ff0607e75a322dd7cd6ec48f4f225471404ae2730d0ea945127b1355155e737
size 1038356

3
flac-1.4.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:af41c0733c93c237c3e52f64dd87e3b0d9af38259f1c7d11e8cbf583c48c2506
size 783372

View File

@ -2,11 +2,11 @@
configure.ac | 4 ---- configure.ac | 4 ----
1 file changed, 4 deletions(-) 1 file changed, 4 deletions(-)
Index: flac-1.3.3/configure.ac Index: flac-1.4.0/configure.ac
=================================================================== ===================================================================
--- flac-1.3.3.orig/configure.ac --- flac-1.4.0.orig/configure.ac
+++ flac-1.3.3/configure.ac +++ flac-1.4.0/configure.ac
@@ -468,10 +468,6 @@ if test x$ac_cv_c_compiler_gnu = xyes ; @@ -550,10 +550,6 @@ if test x$ac_cv_c_compiler_gnu = xyes -o
XIPH_ADD_CFLAGS([-fno-inline-small-functions]) XIPH_ADD_CFLAGS([-fno-inline-small-functions])
fi fi

View File

@ -1,3 +1,146 @@
-------------------------------------------------------------------
Sun Sep 11 16:31:56 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.4.0:
+ General:
* It is now possible to limit the minimum bitrate of a FLAC
file generated by libFLAC and with the flac tool to 1
bit/sample. This function can be used to aid live streaming,
for example for internet radio
* Encoding files with sample rates up to 1'048'575Hz is now
possible.
* Compression of preset -3 through -8 was slightly improved at
the cost of a small decrease in encoding speed by increasing
the precision with which autocorrelation was calculated
* Encoding speed of preset -0, -1 and -2 was slightly improved
* Compression of presets -1 and -4 was slighly improved on
certain material by changing the adaptive mid-side heuristics
* Speedups specifically targeting 64-bit ARMv8 devices using
NEON were integrated
* Speedups for x86_64 CPUs having the FMA instruction set
extention are added
* Encoding and decoding of 32-bit PCM is now possible
+ (Ogg) FLAC format:
* The FLAC format document is being rewritten by the IETF
CELLAR working group. The latest draft can be found on
https://datatracker.ietf.org/doc/draft-ietf-cellar-flac/
* The FLAC format document specifies no bounds for the
residual. In other to match current decoder implementations,
it is proposed to bound the residual to the range provided by
a 32-bit int signed two's complement. This limit must be
checked by FLAC encoders as to keep FLAC decoders free from
the complexity of being to decode a residual exceeding a
32-bit int.
* There is now a set of files available to test whether a FLAC
decoder implements the format correctly. This FLAC decoder
testbench can be found at
https://github.com/ietf-wg-cellar/flac-test-files. Also,
results of testing hard- and software can be found here at
https://wiki.hydrogenaud.io/index.php?title=FLAC_decoder_testbench.
+ flac:
* The option --limit-min-bitrate was added to aid streaming,
see github #264
* The option --keep-foreign-metadata-if-present is added. This
option works the same as --keep-foreign-metadata, but does
return a warning instead of an error if no foreign metadata
was found to store or restore
* The warning returned by the foreign metadata handling is now
clearer in case a user tries to restore foreign metadata of
the wrong type, for example decoding a FLAC file containing
AIFF foreign metadata to a WAV file
* A problem when using the analyse function causing the first
frame to have a wrong size and offset was fixed
* Fix bug where channel mask of a file is unintentionally
reused when several files are processed with one command
* The order of compression-related commands is no longer
important, i.e. -8ep gives the same result as -ep8.
Previously, a compression level (like -8) would override a
more specific setting (like -e or -p). This is no longer the
case
* flac now checks the block-align property of WAV files to
ensure non-standard WAV files (for which flac has no
handling) are not mangled
+ build system:
* MSVC and Makefile.lite build system files have been removed.
Building with MSVC (Visual Studio) can be done by using CMake
* Various CMake improvements, especially for creating MSVC
build files
* Various fixes for MinGW
* Removed obsolete autotools macro's to silence warnings
* Fixes for FreeBSD PowerPC
* Fixed some compiler warnings
* Fix building with uclibc
+ testing/validation:
* Addition of new encoder fuzzer, adding fuzzing for 8, 24 and
32-bit inputs
* Addition of new decoder fuzzer, adding coverage of seeking
code
* Addition of metadata fuzzer, adding coverage of metadata APIs
* Various improvements to fuzzers to improve code coverage,
fuzzing speed and stability
* Many changes to test suite to improve cross-platform
compatibility
* Windows CI now also builds the whole test suite
* Clang-format file added
* Add warning on using v141_xp platform toolset with /MT
+ libraries:
* Various seeking fixes
* Various bugs fixed found by fuzzing
* On decoding, it is now checked whether residuals can be
contained by a 32-bit int, preventing integer overflow
* Add check that samples supplied to libFLAC actually fall
within the bps set
* Add checks when parsing metadata blocks to not allocate
excessive amounts of memory and not overread
* Undocumented Windows-only utf8 functions are no longer
exported to the DLL interface
* Removed all assembler and intrinsics code from the decoder to
improve fuzzing, as they provided only a small speed benefit
* The bitwriter buffer is limited in size to 2^24 bytes, so it
cannot write excessively large files. This is a backup in
case another bug in this area creeps (back) in.
* The metadata iterations should now never return a
vorbiscomment entry with NULL as an entry, now always at
least an empty string is returned
+ documentation: Removed html documentation and generate man
pages from markdown
+ Interface changes:
* libFLAC:
. Addition of FLAC__stream_encoder_set_limit_min_bitrate()
and FLAC__stream_encoder_get_limit_min_bitrate(), see
github #264
. get_client_data_from_decoder is renamed
FLAC__get_decoder_client_data(), see github #124
. All API functions taking a filename as an argument now take
UTF-8 filenames on Windows, and no longer accept filenames
using the current codepage
. FLAC__Frame struct has changed: warmup samples are now
stored in FLAC__int64 instead of FLAC__int32 types, and
verbatim samples can now be stored in either FLAC__int32 or
FLAC__int64 depending on whether samples fix the former or
latter
. The FLAC__StreamMetadata struct now has a tag, so it can be
forward declared
* libFLAC++:
. Addition of ::set_limit_min_bitrate() and
::get_limit_min_bitrate(), see github #264
. All API functions taking a filename as an argument now take
UTF-8 filenames on Windows, and no longer accept filenames
using the current codepage
. The ::FLAC__Frame struct has changed, see the libFLAC
interface change.
- Rebase flac-cflags.patch with quilt.
- Drop patch fixed differently upstream, see github #329
+ 0001-Revert-libFLAC-stream_decoder.c-Use-current-position.patch
- Bump sonames following upstream changes (also in baselibs.conf).
- Add sover and sover_plus defines, ease future soname bumps.
- Use ldconfig_scriptlets macro for post(un) handling.
- Use make_build macro.
- Update Git-Web and Git-Clone urls to new home on github.
- Replace gcc-c++ BuildRequires with generic c++_compiler and
c_compiler BuildRequires: Package needs a c and c++ compiler, not
explicitly gcc-c++.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Mar 1 08:18:11 CET 2022 - tiwai@suse.de Tue Mar 1 08:18:11 CET 2022 - tiwai@suse.de

View File

@ -16,23 +16,27 @@
# #
%define sover 12
%define sover_plus 10
Name: flac Name: flac
Version: 1.3.4 Version: 1.4.0
Release: 0 Release: 0
Summary: Free Lossless Audio Codec Summary: Free Lossless Audio Codec
License: BSD-3-Clause AND GPL-2.0-or-later AND GFDL-1.2-only License: BSD-3-Clause AND GPL-2.0-or-later AND GFDL-1.2-only
Group: Productivity/Multimedia/Sound/Utilities Group: Productivity/Multimedia/Sound/Utilities
URL: https://xiph.org/flac/ URL: https://xiph.org/flac/
#Git-Web: https://git.xiph.org/?p=flac.git #Git-Web: https://github.com/xiph/flac
#Git-Clone: git://git.xiph.org/flac #Git-Clone: https://github.com/xiph/flac.git
#Changelog: https://xiph.org/flac/changelog.html #Changelog: https://xiph.org/flac/changelog.html
Source: https://downloads.xiph.org/releases/flac/%{name}-%{version}.tar.xz Source: https://downloads.xiph.org/releases/flac/%{name}-%{version}.tar.xz
Source2: baselibs.conf Source2: baselibs.conf
Patch0: flac-cflags.patch Patch0: flac-cflags.patch
Patch1: 0001-Revert-libFLAC-stream_decoder.c-Use-current-position.patch
BuildRequires: autoconf >= 2.60 BuildRequires: autoconf >= 2.60
BuildRequires: automake >= 1.11 BuildRequires: automake >= 1.11
BuildRequires: gcc-c++ BuildRequires: c++_compiler
BuildRequires: c_compiler
BuildRequires: libtool BuildRequires: libtool
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: xz BuildRequires: xz
@ -50,24 +54,24 @@ algorithm can typically be reduced to between 50 and 70 percent of
its original size, and decompresses to an identical copy of the its original size, and decompresses to an identical copy of the
original audio data. original audio data.
%package -n libFLAC8 %package -n libFLAC%{sover}
Summary: Free Lossless Audio Codec Library Summary: Free Lossless Audio Codec Library
Group: System/Libraries Group: System/Libraries
Obsoletes: libflac < %{version} Obsoletes: libflac < %{version}
Provides: libflac = %{version} Provides: libflac = %{version}
%description -n libFLAC8 %description -n libFLAC%{sover}
FLAC is an audio coding format for lossless compression of digital FLAC is an audio coding format for lossless compression of digital
audio, and is also the name of the reference software package that audio, and is also the name of the reference software package that
includes a codec implementation. includes a codec implementation.
This package contains the C API library for FLAC. This package contains the C API library for FLAC.
%package -n libFLAC++6 %package -n libFLAC++%{sover_plus}
Summary: Free Lossless Audio Codec Library Summary: Free Lossless Audio Codec Library
Group: System/Libraries Group: System/Libraries
%description -n libFLAC++6 %description -n libFLAC++%{sover_plus}
FLAC is an audio coding format for lossless compression of digital FLAC is an audio coding format for lossless compression of digital
audio, and is also the name of the reference software package that audio, and is also the name of the reference software package that
includes a codec implementation. includes a codec implementation.
@ -78,13 +82,13 @@ This package contains the C++ API library for FLAC.
Summary: FLAC Library Development Package Summary: FLAC Library Development Package
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: glibc-devel Requires: glibc-devel
Requires: libFLAC++6 = %{version} Requires: libFLAC%{sover} = %{version}
Requires: libFLAC8 = %{version} Requires: libFLAC++%{sover_plus} = %{version}
Requires: libstdc++-devel Requires: libstdc++-devel
%description devel %description devel
This package contains the files needed to compile programs that use the This package contains the files needed to compile programs that use
FLAC library. the FLAC library.
%prep %prep
%autosetup -p1 %autosetup -p1
@ -98,7 +102,7 @@ autoreconf -fvi
--disable-static \ --disable-static \
--disable-rpath \ --disable-rpath \
--enable-sse --enable-sse
make %{?_smp_mflags} %make_build
%install %install
%make_install docdir="%{_docdir}/%{name}" %make_install docdir="%{_docdir}/%{name}"
@ -109,23 +113,21 @@ rm -rf %{buildroot}%{_datadir}/doc/%{name}-%{version}/
%check %check
make check %{?_smp_mflags} make check %{?_smp_mflags}
%post -n libFLAC8 -p /sbin/ldconfig %ldconfig_scriptlets -n libFLAC%{sover}
%postun -n libFLAC8 -p /sbin/ldconfig %ldconfig_scriptlets -n libFLAC++%{sover_plus}
%post -n libFLAC++6 -p /sbin/ldconfig
%postun -n libFLAC++6 -p /sbin/ldconfig
%files %files
%doc README %doc README.md
%{_bindir}/* %{_bindir}/*
%{_mandir}/man*/* %{_mandir}/man*/*
%files -n libFLAC8 %files -n libFLAC%{sover}
%license COPYING* %license COPYING*
%{_libdir}/libFLAC.so.8* %{_libdir}/libFLAC.so.%{sover}*
%files -n libFLAC++6 %files -n libFLAC++%{sover_plus}
%license COPYING* %license COPYING*
%{_libdir}/libFLAC++.so.6* %{_libdir}/libFLAC++.so.%{sover_plus}*
%files devel %files devel
%{_libdir}/lib*.so %{_libdir}/lib*.so
@ -133,6 +135,6 @@ make check %{?_smp_mflags}
%{_libdir}/pkgconfig/*.pc %{_libdir}/pkgconfig/*.pc
%{_datadir}/aclocal/*.m4 %{_datadir}/aclocal/*.m4
%{_docdir}/%{name}/ %{_docdir}/%{name}/
%exclude %{_docdir}/%{name}/README %exclude %{_docdir}/%{name}/README.md
%changelog %changelog