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 "libflac-<targettype> <= <version>"
libFLAC++6
libFLAC++10
flac-devel
requires -flac-<targettype>
requires "libFLAC8-<targettype> = <version>"
requires "libFLAC++6-<targettype> = <version>"
requires "libFLAC12-<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 ----
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.3.3/configure.ac
@@ -468,10 +468,6 @@ if test x$ac_cv_c_compiler_gnu = xyes ;
--- flac-1.4.0.orig/configure.ac
+++ flac-1.4.0/configure.ac
@@ -550,10 +550,6 @@ if test x$ac_cv_c_compiler_gnu = xyes -o
XIPH_ADD_CFLAGS([-fno-inline-small-functions])
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

View File

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