From ec408ca6a6d378d9038e720cbed65fdd8f233066 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 30 Jan 2018 10:06:36 +0100 Subject: [PATCH 1/7] output/pulse: fix crash during auto-detection The PulseOutput needs to be "enabled" before WaitConnection() may be called. Closes #207 --- NEWS | 2 ++ src/output/plugins/PulseOutputPlugin.cxx | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/NEWS b/NEWS index 2836e984e..ad631c9e1 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ ver 0.20.16 (not yet released) +* output + - pulse: fix crash during auto-detection * database - simple: fix search within mount points * fix crash in debug build on Haiku and other operating systems diff --git a/src/output/plugins/PulseOutputPlugin.cxx b/src/output/plugins/PulseOutputPlugin.cxx index 01302e53d..77c411d22 100644 --- a/src/output/plugins/PulseOutputPlugin.cxx +++ b/src/output/plugins/PulseOutputPlugin.cxx @@ -27,6 +27,7 @@ #include "../Wrapper.hxx" #include "mixer/MixerList.hxx" #include "mixer/plugins/PulseMixerPlugin.hxx" +#include "util/ScopeExit.hxx" #include "Log.hxx" #include @@ -854,7 +855,10 @@ PulseOutput::TestDefaultDevice() try { const ConfigBlock empty; PulseOutput po(empty); + po.Enable(); + AtScopeExit(&po) { po.Disable(); }; po.WaitConnection(); + return true; } catch (const std::runtime_error &e) { return false; From 3d5da1ac73ab28a038d4215c5a5b1dde1512ab32 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 31 Jan 2018 18:14:26 +0100 Subject: [PATCH 2/7] lib/upnp/Init: use nullptr instead of 0 --- src/lib/upnp/Init.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/upnp/Init.cxx b/src/lib/upnp/Init.cxx index ac2167fb8..321ff7196 100644 --- a/src/lib/upnp/Init.cxx +++ b/src/lib/upnp/Init.cxx @@ -34,7 +34,7 @@ static unsigned upnp_ref; static void DoInit() { - auto code = UpnpInit(0, 0); + auto code = UpnpInit(nullptr, 0); if (code != UPNP_E_SUCCESS) throw FormatRuntimeError("UpnpInit() failed: %s", UpnpGetErrorMessage(code)); From dead4615427c675dac48dabdb9672aaa602f17b8 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 31 Jan 2018 18:15:46 +0100 Subject: [PATCH 3/7] lib/upnp/Init: enable IPv6 --- NEWS | 1 + src/lib/upnp/Init.cxx | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/NEWS b/NEWS index ad631c9e1..28b372ed2 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ ver 0.20.16 (not yet released) - pulse: fix crash during auto-detection * database - simple: fix search within mount points + - upnp: enable IPv6 * fix crash in debug build on Haiku and other operating systems ver 0.20.15 (2018/01/05) diff --git a/src/lib/upnp/Init.cxx b/src/lib/upnp/Init.cxx index 321ff7196..508425473 100644 --- a/src/lib/upnp/Init.cxx +++ b/src/lib/upnp/Init.cxx @@ -34,7 +34,11 @@ static unsigned upnp_ref; static void DoInit() { +#ifdef UPNP_ENABLE_IPV6 + auto code = UpnpInit2(nullptr, 0); +#else auto code = UpnpInit(nullptr, 0); +#endif if (code != UPNP_E_SUCCESS) throw FormatRuntimeError("UpnpInit() failed: %s", UpnpGetErrorMessage(code)); From e573cbf0320e5dee844da40002eee5e6bbac225f Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 1 Feb 2018 19:53:42 +0100 Subject: [PATCH 4/7] db/update/Queue: work around GCC7 -Wuninitialized --- src/db/update/Queue.hxx | 4 ++++ src/db/update/Service.cxx | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/db/update/Queue.hxx b/src/db/update/Queue.hxx index 90373aab3..63a7acbc6 100644 --- a/src/db/update/Queue.hxx +++ b/src/db/update/Queue.hxx @@ -49,6 +49,10 @@ struct UpdateQueueItem { bool IsDefined() const { return id != 0; } + + void Clear() { + id = 0; + } }; class UpdateQueue { diff --git a/src/db/update/Service.cxx b/src/db/update/Service.cxx index 099dc8104..8660575c6 100644 --- a/src/db/update/Service.cxx +++ b/src/db/update/Service.cxx @@ -252,7 +252,7 @@ UpdateService::RunDeferred() delete walk; walk = nullptr; - next = UpdateQueueItem(); + next.Clear(); idle_add(IDLE_UPDATE); From 12fd1cad0cc5472cbe931516970c1ac7aeb7ec00 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 3 Feb 2018 19:32:31 +0100 Subject: [PATCH 5/7] archive/iso9660: libcdio 2.0 compatibility Closes #173 --- NEWS | 2 ++ src/archive/plugins/Iso9660ArchivePlugin.cxx | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/NEWS b/NEWS index 28b372ed2..4dee6cd35 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,8 @@ ver 0.20.16 (not yet released) * database - simple: fix search within mount points - upnp: enable IPv6 +* archive + - iso9660: libcdio 2.0 compatibility * fix crash in debug build on Haiku and other operating systems ver 0.20.15 (2018/01/05) diff --git a/src/archive/plugins/Iso9660ArchivePlugin.cxx b/src/archive/plugins/Iso9660ArchivePlugin.cxx index 536745d85..363921527 100644 --- a/src/archive/plugins/Iso9660ArchivePlugin.cxx +++ b/src/archive/plugins/Iso9660ArchivePlugin.cxx @@ -115,7 +115,12 @@ Iso9660ArchiveFile::Visit(char *path, size_t length, size_t capacity, visitor.VisitArchiveEntry(path + 1); } } + +#if LIBCDIO_VERSION_NUM >= 20000 + iso9660_filelist_free(entlist); +#else _cdio_list_free (entlist, true); +#endif } static ArchiveFile * From 56aaf3c73e006a8e8787e4d0a661987c270e1d68 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 3 Feb 2018 19:46:31 +0100 Subject: [PATCH 6/7] python/build/libs: upgrade CURL to 7.58.0 --- python/build/libs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/build/libs.py b/python/build/libs.py index a70cf5d1f..a46902a19 100644 --- a/python/build/libs.py +++ b/python/build/libs.py @@ -339,8 +339,8 @@ ffmpeg = FfmpegProject( ) curl = AutotoolsProject( - 'http://curl.haxx.se/download/curl-7.57.0.tar.xz', - 'f5f6fd3c72b7b8389969f4fb671ed8532fa9b5bb7a5cae7ca89bc1cea45c7878', + 'http://curl.haxx.se/download/curl-7.58.0.tar.xz', + '6a813875243609eb75f37fa72044e4ad618b55ec15a4eafdac2df6a7e800e3e3', 'lib/libcurl.a', [ '--disable-shared', '--enable-static', From 975a4ae8719673357d12d9566b4f0a5436b5f80f Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 3 Feb 2018 19:55:07 +0100 Subject: [PATCH 7/7] release v0.20.16 --- NEWS | 2 +- android/AndroidManifest.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 4dee6cd35..9b3f03ff9 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -ver 0.20.16 (not yet released) +ver 0.20.16 (2018/02/03) * output - pulse: fix crash during auto-detection * database diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index c0b3dd4ca..16a75f5e1 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="15" + android:versionName="0.20.16">