File soundtouch.spec of Package soundtouch
#
# spec file for package soundtouch
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define sover 1
Name: soundtouch
Version: 2.1.2
Release: lp151.48.1
Summary: Audio Processing Library
License: LGPL-2.1-or-later
Group: Productivity/Multimedia/Sound/Editors and Convertors
URL: https://www.surina.net/soundtouch
Source: https://gitlab.com/soundtouch/soundtouch/-/archive/%{version}/%{name}-%{version}.tar.gz
Source1: https://salsa.debian.org/multimedia-team/soundtouch/raw/master/debian/soundstretch.1
Source99: baselibs.conf
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: dos2unix
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pkgconfig
%description
SoundTouch is a C++ audio processing library that allows
changing the sound tempo, pitch and playback rate parameters
independently from each other.
* Implements time stretch, pitch shift and sample rate transposing
routines.
* Supports the 16-bit integer or 32-bit floating point
PCM mono/stereo formats.
* Capable of real-time audio stream processing (depending on hardware).
* Additional use of assembler level and Intel MMX instruction sets.
%package -n libSoundTouch%{sover}
Summary: Audio Processing Library
Group: System/Libraries
%description -n libSoundTouch%{sover}
SoundTouch is a C++ audio processing library that allows
changing the sound tempo, pitch and playback rate parameters
independently from each other.
%package devel
Summary: Development files for the SoundTouch audio processing library
Group: Development/Languages/C and C++
Requires: glibc-devel
Requires: libSoundTouch%{sover} = %{version}
%description devel
SoundTouch is a C++ audio processing library that allows
changing the sound tempo, pitch and playback rate parameters
independently from each other.
This subpackage contains the header files for building programs with
SoundTouch.
%prep
%setup -q
dos2unix README.html
%build
autoreconf -fvi
%configure \
--enable-shared \
--disable-static
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
# Add man page for soundstretch generated by help2man
mkdir -p %{buildroot}%{_mandir}/man1
cp %{SOURCE1} %{buildroot}%{_mandir}/man1
rm -fr %{buildroot}%{_datadir}/doc/%{name}
%post -n libSoundTouch%{sover} -p /sbin/ldconfig
%postun -n libSoundTouch%{sover} -p /sbin/ldconfig
%files
%{_bindir}/*
%{_mandir}/man1/*
%files -n libSoundTouch%{sover}
%license COPYING.TXT
%{_libdir}/libSoundTouch.so.%{sover}*
%files devel
%{_datadir}/aclocal/*.m4
%{_includedir}/%{name}
%{_libdir}/pkgconfig/*.pc
%{_libdir}/*.so
%changelog
* Wed Aug 14 2019 Tomáš Chvátal <tchvatal@suse.com>
- Use dos2unix insted of tr and friends
* Fri Dec 7 2018 Marketa Calabkova <mcalabkova@suse.com>
- Update to version 2.1.2
* Bugfixes: Fixed potential buffer overwrite bugs in WavFile routines.
Replaced asserts with runtime exceptions. (CVE-2018-17097, bsc#1108632)
* Automake: unset ACLOCAL in bootstrap script to avoid error in case
earlier build script has set it
* Mon Oct 29 2018 Marketa Calabkova <mcalabkova@suse.com>
- Update to version 2.1.0
* Disable anti-alias filter when switch
SOUNDTOUCH_PREVENT_CLICK_AT_RATE_CROSSOVER defined
* Added script for building SoundTouchDll dynamic-link-library for
GNU platforms
* Rewrote Beats-per-Minute analysis algorithm for more reliable
BPM detection
* Added BPM functions to SoundTouchDll API
* Migrated Visual Studio project files to MSVC 201x format
* Replaced function parameter value asserts with runtime exceptions
- Fixed bugs:
* CVE-2018-17098 (bsc#1108632) -- remote denial of service
* CVE-2018-17097 (bsc#1108631) -- remote denial of service (double free)
* CVE-2018-17096 (bsc#1108630) -- remote denial of service
in BPMDetect.cpp
* boo#1113134 -- out of date package
- Removed obsolete patch fix-buffer-overflow.patch
* Thu Sep 6 2018 Marketa Calabkova <mcalabkova@suse.com>
- bsc #1103676: CVE-2018-1000223: soundtouch: Heap-based buffer overflow
added patch fix-buffer-overflow.patch
* Tue Mar 13 2018 jengelh@inai.de
- Trim marketing and old statistics (Pentium) from
description, and ensure neutrality.
* Sun Feb 18 2018 avindra@opensuse.org
- Update to version 2.0.0
* Added functions to get initial processing latency, duration
ratio between the original input and processed output tracks,
and clarified reporting of input/output batch sizes
* Fixed issue that added brief sequence of silence to beginning
of output audio
* Adjusted algorithm parameters to reduce reverberating effect
at tempo slowdown
* Bugfix: Fixed a glitch that could cause negative array indexing
in quick seek algorithm
* Bugfix: flush() didn't properly flush final samples from the
pipeline on 2nd time in case that soundtouch object instance
was recycled and used for processing a second audio stream.
* Bugfix: Pi value had incorrect 9th/10th decimals
* Added C# example application that uses SoundTouch dll library
for processing MP3 files
- includes 1.9.2:
* Fix in GNU package configuration
- includes 1.9.1:
* Improved SoundTouch::flush() function so that it returns
precisely the desired amount of samples for exact output
duration control
* Redesigned quickseek algorithm for improved sound quality when
using the quickseek mode. The new quickseek algorithm can find
99%% as good results as the default full-scan mode, while the
quickseek algorithm is remarkable less CPU intensive.
* Added adaptive integer divider scaling for improved sound
quality when using integer processing algorithm
- includes 1.9:
* Added support for parallel computation support via OpenMP
primitives for better performance in multicore systems.
Benchmarks show that achieved parallel processing speedup
improvement typically range from +30%% (x86 dual-core) to +180%%
(ARM quad-core). The OpenMP optimizations are disabled by
default, see OpenMP notes above in this readme file how to
enabled these optimizations.
* Android: Added support for Android devices featuring X86 and
MIPS CPUs, in addition to ARM CPUs.
* Android: More versatile Android example application that
processes WAV audio files with SoundTouch library
* Replaced Windows-like 'BOOL' types with native 'bool'
* Changed documentation token to "dist_doc_DATA" in Makefile.am
* Miscellaneous small fixes and improvements
- cleanup with spec-cleaner
- other spec fixes:
* switch to https
* link directly to man page taken from debian, and refresh it
* macroify sover, bump from 0 to 1
* Sun Apr 5 2015 p.drouand@gmail.com
- Add baselibs.conf in sources list; fix for Factory
* Wed Mar 25 2015 p.drouand@gmail.com
- Update to version 1.8.0
* Added support for multi-channel audio processing
* Added support for cubic and shannon interpolation for rate and
pitch shift effects besides the original linear interpolation,
to reduce aliasing at high frequencies due to interpolation.
Cubic interpolation is used as default for floating point processing,
and linear interpolation for integer processing.
* Fixed bug in anti-alias filtering that limited stop-band attenuation
to -10 dB instead of <-50dB, and increased filter length from 32 to 64
taps to further reduce aliasing due to frequency folding.
* Performance improvements in cross-correlation algorithm
* Other bug and compatibility fixes
- Remove obsolete AUTHORS and %%clean sections
* Fri Jan 25 2013 sbrabec@suse.cz
- Update to version 1.7.1:
* Added files for Android compilation
* Sound quality improvements
* Improved flush() to adjust output sound stream duration to
match better with ideal duration
* Rewrote x86 cpu feature check to resolve compatibility problems
* Configure script automatically checks if CPU supports mmx & sse
compatibility for GNU platform, and the script support now
"--enable-x86-optimizations" switch to allow disabling
x86-specific optimizations.
* Revised #define conditions for 32bit/64bit compatibility
* gnu autoconf/automake script compatibility fixes
* Tuned beat-per-minute detection algorithm
- Updated man page from Debian unstable.
* Sun Nov 20 2011 coolo@suse.com
- add libtool as buildrequire to avoid implicit dependency
* Wed Aug 10 2011 ampsaltis@gmail.com
- New upstream version 1.6.0.
- Changes:
* Added automatic cutoff threshold adaptation to beat detection
routine to better adapt BPM calculation to different types of
music
* Retired 3DNow! optimization support as 3DNow! is nowadays
obsoleted and assembler code is nuisance to maintain
* Retired "configure" file from source code package due to
autoconf/automake versio conflicts, so that it is from now on to
be generated by invoking "boostrap" script that uses locally
available toolchain version for generating the "configure" file
* Resolved namespace/label naming conflicts with other libraries by
replacing global labels such as INTEGER_SAMPLES with more
specific SOUNDTOUCH_INTEGER_SAMPLES etc.
* Updated windows build scripts & project files for Visual Studio
2008 support
* Updated SoundTouch.dll API for .NET compatibility
* Added API for querying nominal processing input & output sample
batch sizes
* Thu Apr 14 2011 toddrme2178@gmail.com
- added 32bit compatibility libraries
* Thu Dec 9 2010 davejplater@gmail.com
- Update to version 1.5.0, added manpage for sounstrech
- Upstream changes :
* Added normalization to correlation calculation and improvement
automatic seek/sequence parameter calculation to improve sound
quality
* Fixes in compilation scripts for non-Intel platforms
* Added Dynamic-Link-Library (DLL) version of SoundTouch library
build, provided with Delphi/Pascal wrapper for calling the dll
routines
* Added #define PREVENT_CLICK_AT_RATE_CROSSOVER that prevents a
click artifact when crossing the nominal pitch from either
positive to negative side or vice versa
* Other minor fixes & code cleanup
- Bugfixes :
* Fixed negative array indexing in quick seek algorithm
* FIR autoalias filter running too far in processing buffer
* Check against zero sample count in rate transposing
* Fix for x86-64 support: Removed pop/push instructions from the
cpu detection algorithm.
* Check against empty buffers in FIFOSampleBuffer
* Thu Dec 9 2010 davejplater@gmail.com
- Fixed rpmlint warnings and error.
* Thu Dec 9 2010 rguenther@novell.com
- drop bogus libstdc++ BuildRequires
* Thu Oct 1 2009 lnussel@suse.de
- fix library package to not depend on main package and glibc-devel
* Thu May 7 2009 sbrabec@suse.cz
- Updated to version 1.4.0:
* Improved sound quality by automatic calculation of time stretch
algorithm processing parameters according to tempo setting
* Moved BPM detection routines from SoundStretch application into
SoundTouch library
* Bugfixes: Usage of uninitialied variables, GNU build scripts,
compiler errors due to 'const' keyword mismatch.
* Source code cleanup
- Split according to shared library packaging policy.
* Sat Apr 4 2009 crrodriguez@suse.de
- use --enable-shared and disable static libraries
* Thu Nov 22 2007 tiwai@suse.de
- fix build with gcc 4.3
* Wed Jul 4 2007 tiwai@suse.de
- fix build with the recent gcc
- fix build on architectures without SSE
- fix Makefile.am and removed hacks for autoreconf in spec file
* Thu Jun 21 2007 sbrabec@suse.cz
- New SuSE package, version 1.3.1.