From e474f74c476c0cb5dd4303c54d22c2640f0a5725035f0d76eacdecb739c7d64e Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Wed, 23 Sep 2020 13:21:05 +0000 Subject: [PATCH] Accepting request 832770 from home:alois:branches:multimedia:libs - Update to version 2.10 * Add a method to PluginWrapper, the host-side base for adapters like PluginInputDomainAdapter that modify the processing behaviour of a plugin, that tells it to "disown" the wrapped plugin. The former behaviour, and still the default, is for the wrapper to take ownership of the wrapped plugin. The alternative behaviour makes it easier to mix these classes with some modern C++ styles that use managed pointers version 2.9 * Fix non-thread-safe behaviour in PluginAdapter. Plugins built using the adapter classes in version 2.8 or earlier cannot safely be used simultaneously across threads with other instances of themselves or of other plugins in the same library (i.e. shared object). Hosts have been required to provide synchronisation for such cases. Version 2.9 introduces synchronisation in the plugin, making this usage safe. Unfortunately this does not make host code safe when using older plugin builds, as the problem and its fix are in the plugin side of the SDK. Caution is still required, but this fix does allow updated plugin builds to avoid problems with some existing hosts * Change required C++ language standard from C++98 to C++11. This is because of the use of std::mutex in the above fix version 2.8: * Fix off-by-one rounding errors in frame-to-ns conversions. Unlike the other changes here which are invisible to plugin code, this change can lead to different results in the lowest significant figures from existing plugins if relinked against the newer code * Fix theoretical possibility of integer overflow in RealTime constructor * Fix use of undefined behaviour in PluginRateExtractor - Spec cleanuo OBS-URL: https://build.opensuse.org/request/show/832770 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/vamp-plugin-sdk?expand=0&rev=13 --- vamp-plugin-sdk-2.10.0.tar.gz | 3 +++ vamp-plugin-sdk-2.7.1.tar.gz | 3 --- vamp-plugin-sdk.changes | 38 +++++++++++++++++++++++++++++++++++ vamp-plugin-sdk.spec | 38 +++++++++++++---------------------- 4 files changed, 55 insertions(+), 27 deletions(-) create mode 100644 vamp-plugin-sdk-2.10.0.tar.gz delete mode 100644 vamp-plugin-sdk-2.7.1.tar.gz diff --git a/vamp-plugin-sdk-2.10.0.tar.gz b/vamp-plugin-sdk-2.10.0.tar.gz new file mode 100644 index 0000000..715115a --- /dev/null +++ b/vamp-plugin-sdk-2.10.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aeaf3762a44b148cebb10cde82f577317ffc9df2720e5445c3df85f3739ff75f +size 313354 diff --git a/vamp-plugin-sdk-2.7.1.tar.gz b/vamp-plugin-sdk-2.7.1.tar.gz deleted file mode 100644 index 91aafdb..0000000 --- a/vamp-plugin-sdk-2.7.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c6fef3ff79d2bf9575ce4ce4f200cbf219cbe0a21cfbad5750e86ff8ae53cb0b -size 306956 diff --git a/vamp-plugin-sdk.changes b/vamp-plugin-sdk.changes index 76aa038..fef826d 100644 --- a/vamp-plugin-sdk.changes +++ b/vamp-plugin-sdk.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Mon Sep 7 10:33:24 UTC 2020 - Luigi Baldoni + +- Update to version 2.10 + * Add a method to PluginWrapper, the host-side base for + adapters like PluginInputDomainAdapter that modify the + processing behaviour of a plugin, that tells it to "disown" + the wrapped plugin. The former behaviour, and still the + default, is for the wrapper to take ownership of the wrapped + plugin. The alternative behaviour makes it easier to mix + these classes with some modern C++ styles that use managed + pointers + version 2.9 + * Fix non-thread-safe behaviour in PluginAdapter. Plugins built + using the adapter classes in version 2.8 or earlier cannot + safely be used simultaneously across threads with other + instances of themselves or of other plugins in the same + library (i.e. shared object). Hosts have been required to + provide synchronisation for such cases. Version 2.9 + introduces synchronisation in the plugin, making this + usage safe. Unfortunately this does not make host code safe + when using older plugin builds, as the problem and its fix + are in the plugin side of the SDK. Caution is still required, + but this fix does allow updated plugin builds to avoid + problems with some existing hosts + * Change required C++ language standard from C++98 to C++11. + This is because of the use of std::mutex in the above fix + version 2.8: + * Fix off-by-one rounding errors in frame-to-ns conversions. + Unlike the other changes here which are invisible to plugin + code, this change can lead to different results in the lowest + significant figures from existing plugins if relinked against + the newer code + * Fix theoretical possibility of integer overflow in RealTime + constructor + * Fix use of undefined behaviour in PluginRateExtractor +- Spec cleanuo + ------------------------------------------------------------------- Mon Aug 28 17:06:46 UTC 2017 - aloisio@gmx.com diff --git a/vamp-plugin-sdk.spec b/vamp-plugin-sdk.spec index 331b942..8719303 100644 --- a/vamp-plugin-sdk.spec +++ b/vamp-plugin-sdk.spec @@ -1,7 +1,7 @@ # # spec file for package vamp-plugin-sdk # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,18 +12,19 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # +%define _dlver 2691 Name: vamp-plugin-sdk -Version: 2.7.1 +Version: 2.10.0 Release: 0 Summary: An API for audio analysis and feature extraction plugins License: MIT Group: Productivity/Multimedia/Sound/Utilities -Url: http://www.vamp-plugins.org/ -Source0: https://code.soundsoftware.ac.uk/attachments/download/2206/%{name}-%{version}.tar.gz +URL: https://www.vamp-plugins.org/ +Source0: https://code.soundsoftware.ac.uk/attachments/download/%{_dlver}/%{name}-%{version}.tar.gz Source1: baselibs.conf BuildRequires: doxygen BuildRequires: fdupes @@ -32,7 +33,6 @@ BuildRequires: graphviz BuildRequires: help2man BuildRequires: pkgconfig BuildRequires: pkgconfig(sndfile) -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Vamp is an API for C and C++ plugins that process sampled audio data @@ -73,16 +73,16 @@ sed -i 's|/lib/|/%{_lib}/|g' src/vamp-hostsdk/PluginLoader.cpp sed -i 's|$(INSTALL_PREFIX)/lib|@libdir@|g' Makefile.in %build -export CFLAGS="$RPM_OPT_FLAGS -fPIC -Wall" -export CXXFLAGS="$RPM_OPT_FLAGS -fPIC -Wall" +export CFLAGS="%{optflags} -fPIC -Wall" +export CXXFLAGS="%{optflags} -fPIC -Wall" %configure -make %{?_smp_mflags} +%make_build %install # fix libdir find . -name '*.pc.in' -exec sed -i 's|/lib|/%{_lib}|' {} ';' # The #INSTALL_PREFIX -make DESTDIR=%{buildroot} install %{?_smp_mflags} +%make_install #INSTALL_PREFIX=%%{_prefix} LIB=/%%{_lib} find %{buildroot} -type f -name "*.la" -delete -print find %{buildroot} -name '*.a' -exec rm -f {} ';' @@ -94,7 +94,6 @@ doxygen build/Doxyfile #pushd latex && make all #popd -%if 0%{?suse_version} >= 1140 # Generate man pages with help2man mkdir -p %{buildroot}%{_mandir}/man1 pushd %{buildroot}%{_mandir}/man1 @@ -107,7 +106,6 @@ help2man -N --no-discard-stderr \ ./vamp-simple-host rm vamp-simple-host vamp-rdf-template-generator popd -%endif # create Makefile for examples cd examples @@ -124,35 +122,27 @@ echo -e "\t"-rm *.o *.so >> Makefile make clean %post -n libvamp-hostsdk3 -p /sbin/ldconfig - %postun -n libvamp-hostsdk3 -p /sbin/ldconfig - %post -n libvamp-sdk2 -p /sbin/ldconfig - %postun -n libvamp-sdk2 -p /sbin/ldconfig %files -n libvamp-hostsdk3 -%defattr(-,root,root,-) %{_libdir}/libvamp-hostsdk.so.3* %files -n libvamp-sdk2 -%defattr(-,root,root,-) %{_libdir}/libvamp-sdk.so.2* %files -%defattr(-,root,root,-) -%doc COPYING README +%license COPYING +%doc README %{_bindir}/vamp-rdf-template-generator %{_bindir}/vamp-simple-host -%if 0%{?suse_version} >= 1140 -%{_mandir}/man1/vamp-rdf-template-generator.1.gz -%{_mandir}/man1/vamp-simple-host.1.gz -%endif +%{_mandir}/man1/vamp-rdf-template-generator.1%{?ext_man} +%{_mandir}/man1/vamp-simple-host.1%{?ext_man} %dir %{_libdir}/vamp %{_libdir}/vamp %files devel -%defattr(-,root,root,-) %doc rdf/doc doc/html examples %dir %{_includedir}/vamp %dir %{_includedir}/vamp-hostsdk