[Pkg-mpd-commits] [pkg-mpd] 03/08: Imported Upstream version 0.19.19
Florian Schlichting
fsfs at moszumanska.debian.org
Mon Sep 12 20:04:35 UTC 2016
This is an automated email from the git hooks/post-receive script.
fsfs pushed a commit to branch master
in repository pkg-mpd.
commit 73779be0a60cd074018bdc30147d4eadc5fdc25b
Author: Florian Schlichting <fsfs at debian.org>
Date: Tue Aug 30 23:02:08 2016 +0200
Imported Upstream version 0.19.19
---
Makefile.in | 4 +--
NEWS | 9 ++++++
configure | 22 +++++++--------
configure.ac | 4 +--
doc/doxygen.conf | 2 +-
src/Chrono.hxx | 2 +-
src/Compiler.h | 36 +++++++++++++++++-------
src/db/Helpers.cxx | 4 +--
src/db/plugins/upnp/UpnpDatabasePlugin.cxx | 2 +-
src/decoder/plugins/FfmpegDecoderPlugin.cxx | 4 +++
src/decoder/plugins/WildmidiDecoderPlugin.cxx | 27 ++++++++++++------
src/fs/AllocatedPath.cxx | 2 +-
src/neighbor/plugins/SmbclientNeighborPlugin.cxx | 2 +-
src/output/plugins/PulseOutputPlugin.cxx | 28 ++++++++++++++----
src/output/plugins/httpd/HttpdInternal.hxx | 2 +-
src/storage/CompositeStorage.cxx | 2 +-
src/system/ByteOrder.hxx | 2 +-
src/tag/Set.cxx | 2 +-
src/tag/TagPool.cxx | 2 +-
src/util/Cast.hxx | 4 +--
src/util/Manual.hxx | 4 +--
21 files changed, 112 insertions(+), 54 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 7e06e9b..3191677 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -14053,9 +14053,9 @@ maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
- at ENABLE_DOCUMENTATION_FALSE@uninstall-local:
- at ENABLE_DOCUMENTATION_FALSE@install-data-local:
@ANDROID_FALSE@@ENABLE_DOCUMENTATION_FALSE at clean-local:
+ at ENABLE_DOCUMENTATION_FALSE@install-data-local:
+ at ENABLE_DOCUMENTATION_FALSE@uninstall-local:
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-local \
diff --git a/NEWS b/NEWS
index f490282..9da6019 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+ver 0.19.19 (2016/08/23)
+* decoder
+ - ffmpeg: bug fix for FFmpeg 3.1 support
+ - wildmidi: support libWildMidi 0.4
+* output
+ - pulse: support 32 bit, 24 bit and floating point playback
+* support non-x86 NetBSD
+* fix clang 3.9 warnings
+
ver 0.19.18 (2016/08/05)
* decoder
- ffmpeg: fix crash with older FFmpeg versions (< 3.0)
diff --git a/configure b/configure
index 1a22fb8..3b91319 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for mpd 0.19.18.
+# Generated by GNU Autoconf 2.69 for mpd 0.19.19.
#
# Report bugs to <musicpd-dev-team at lists.sourceforge.net>.
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='mpd'
PACKAGE_TARNAME='mpd'
-PACKAGE_VERSION='0.19.18'
-PACKAGE_STRING='mpd 0.19.18'
+PACKAGE_VERSION='0.19.19'
+PACKAGE_STRING='mpd 0.19.19'
PACKAGE_BUGREPORT='musicpd-dev-team at lists.sourceforge.net'
PACKAGE_URL=''
@@ -1759,7 +1759,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures mpd 0.19.18 to adapt to many kinds of systems.
+\`configure' configures mpd 0.19.19 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1830,7 +1830,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of mpd 0.19.18:";;
+ short | recursive ) echo "Configuration of mpd 0.19.19:";;
esac
cat <<\_ACEOF
@@ -2175,7 +2175,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-mpd configure 0.19.18
+mpd configure 0.19.19
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2628,7 +2628,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by mpd $as_me 0.19.18, which was
+It was created by mpd $as_me 0.19.19, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2979,7 +2979,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
VERSION_MAJOR=0
VERSION_MINOR=19
-VERSION_REVISION=18
+VERSION_REVISION=19
VERSION_EXTRA=0
@@ -3498,7 +3498,7 @@ fi
# Define the identity of the package.
PACKAGE='mpd'
- VERSION='0.19.18'
+ VERSION='0.19.19'
cat >>confdefs.h <<_ACEOF
@@ -20963,7 +20963,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by mpd $as_me 0.19.18, which was
+This file was extended by mpd $as_me 0.19.19, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21029,7 +21029,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-mpd config.status 0.19.18
+mpd config.status 0.19.19
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 1a3a20c..e4764c9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,10 +1,10 @@
AC_PREREQ(2.60)
-AC_INIT(mpd, 0.19.18, musicpd-dev-team at lists.sourceforge.net)
+AC_INIT(mpd, 0.19.19, musicpd-dev-team at lists.sourceforge.net)
VERSION_MAJOR=0
VERSION_MINOR=19
-VERSION_REVISION=18
+VERSION_REVISION=19
VERSION_EXTRA=0
AC_CONFIG_SRCDIR([src/Main.cxx])
diff --git a/doc/doxygen.conf b/doc/doxygen.conf
index fb9131a..e8302e3 100644
--- a/doc/doxygen.conf
+++ b/doc/doxygen.conf
@@ -31,7 +31,7 @@ PROJECT_NAME = MPD
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 0.19.18
+PROJECT_NUMBER = 0.19.19
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
diff --git a/src/Chrono.hxx b/src/Chrono.hxx
index cc87c5b..960a636 100644
--- a/src/Chrono.hxx
+++ b/src/Chrono.hxx
@@ -26,7 +26,7 @@
#include <utility>
#include <cstdint>
-#if defined(__GNUC__) && !GCC_CHECK_VERSION(4,7) && !defined(__clang__)
+#if GCC_OLDER_THAN(4,7)
/* std::chrono::duration operators are "constexpr" since gcc 4.7 */
#define chrono_constexpr gcc_pure
#else
diff --git a/src/Compiler.h b/src/Compiler.h
index 5a28c3d..5a51e33 100644
--- a/src/Compiler.h
+++ b/src/Compiler.h
@@ -28,19 +28,36 @@
#define GCC_VERSION 0
#endif
+#ifdef __clang__
+# define CLANG_VERSION GCC_MAKE_VERSION(__clang_major__, __clang_minor__, __clang_patchlevel__)
+#elif defined(__GNUC__)
+# define CLANG_VERSION 0
+#endif
+
+/**
+ * Are we building with the specified version of gcc (not clang or any
+ * other compiler) or newer?
+ */
#define GCC_CHECK_VERSION(major, minor) \
- (defined(__GNUC__) && GCC_VERSION >= GCC_MAKE_VERSION(major, minor, 0))
+ (CLANG_VERSION == 0 && \
+ GCC_VERSION >= GCC_MAKE_VERSION(major, minor, 0))
+
+/**
+ * Are we building with clang (any version) or at least the specified
+ * gcc version?
+ */
+#define CLANG_OR_GCC_VERSION(major, minor) \
+ (CLANG_VERSION > 0 || GCC_CHECK_VERSION(major, minor))
/**
* Are we building with gcc (not clang or any other compiler) and a
* version older than the specified one?
*/
#define GCC_OLDER_THAN(major, minor) \
- (defined(__GNUC__) && !defined(__clang__) && \
+ (GCC_VERSION > 0 && CLANG_VERSION == 0 && \
GCC_VERSION < GCC_MAKE_VERSION(major, minor, 0))
#ifdef __clang__
-# define CLANG_VERSION GCC_MAKE_VERSION(__clang_major__, __clang_minor__, __clang_patchlevel__)
# if __clang_major__ < 3
# error Sorry, your clang version is too old. You need at least version 3.1.
# endif
@@ -56,10 +73,9 @@
* Are we building with the specified version of clang or newer?
*/
#define CLANG_CHECK_VERSION(major, minor) \
- (defined(__clang__) && \
- CLANG_VERSION >= GCC_MAKE_VERSION(major, minor, 0))
+ (CLANG_VERSION >= GCC_MAKE_VERSION(major, minor, 0))
-#if GCC_CHECK_VERSION(4,0)
+#if CLANG_OR_GCC_VERSION(4,0)
/* GCC 4.x */
@@ -119,7 +135,7 @@
#endif
-#if GCC_CHECK_VERSION(4,3)
+#if CLANG_OR_GCC_VERSION(4,3)
#define gcc_hot __attribute__((hot))
#define gcc_cold __attribute__((cold))
@@ -131,7 +147,7 @@
#endif /* ! GCC_UNUSED >= 40300 */
-#if GCC_CHECK_VERSION(4,6) && !defined(__clang__)
+#if GCC_CHECK_VERSION(4,6)
#define gcc_flatten __attribute__((flatten))
#else
#define gcc_flatten
@@ -140,7 +156,7 @@
#ifndef __cplusplus
/* plain C99 has "restrict" */
#define gcc_restrict restrict
-#elif GCC_CHECK_VERSION(4,0)
+#elif CLANG_OR_GCC_VERSION(4,0)
/* "__restrict__" is a GCC extension for C++ */
#define gcc_restrict __restrict__
#else
@@ -158,7 +174,7 @@
#define final
#endif
-#if defined(__clang__) || GCC_CHECK_VERSION(4,8)
+#if CLANG_OR_GCC_VERSION(4,8)
#define gcc_alignas(T, fallback) alignas(T)
#else
#define gcc_alignas(T, fallback) gcc_aligned(fallback)
diff --git a/src/db/Helpers.cxx b/src/db/Helpers.cxx
index add4bb9..27bfb7c 100644
--- a/src/db/Helpers.cxx
+++ b/src/db/Helpers.cxx
@@ -46,7 +46,7 @@ StatsVisitTag(DatabaseStats &stats, StringSet &artists, StringSet &albums,
for (const auto &item : tag) {
switch (item.type) {
case TAG_ARTIST:
-#if defined(__clang__) || GCC_CHECK_VERSION(4,8)
+#if CLANG_OR_GCC_VERSION(4,8)
artists.emplace(item.value);
#else
artists.insert(item.value);
@@ -54,7 +54,7 @@ StatsVisitTag(DatabaseStats &stats, StringSet &artists, StringSet &albums,
break;
case TAG_ALBUM:
-#if defined(__clang__) || GCC_CHECK_VERSION(4,8)
+#if CLANG_OR_GCC_VERSION(4,8)
albums.emplace(item.value);
#else
albums.insert(item.value);
diff --git a/src/db/plugins/upnp/UpnpDatabasePlugin.cxx b/src/db/plugins/upnp/UpnpDatabasePlugin.cxx
index 9970cdc..11b5da8 100644
--- a/src/db/plugins/upnp/UpnpDatabasePlugin.cxx
+++ b/src/db/plugins/upnp/UpnpDatabasePlugin.cxx
@@ -749,7 +749,7 @@ UpnpDatabase::VisitUniqueTags(const DatabaseSelection &selection,
const char *value = dirent.tag.GetValue(tag);
if (value != nullptr) {
-#if defined(__clang__) || GCC_CHECK_VERSION(4,8)
+#if CLANG_OR_GCC_VERSION(4,8)
values.emplace(value);
#else
values.insert(value);
diff --git a/src/decoder/plugins/FfmpegDecoderPlugin.cxx b/src/decoder/plugins/FfmpegDecoderPlugin.cxx
index 7695dcb..e27ec79 100644
--- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx
+++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx
@@ -547,6 +547,10 @@ FfmpegDecode(Decoder &decoder, InputStream &input,
AtScopeExit(&codec_context) {
avcodec_free_context(&codec_context);
};
+
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 25, 0) /* FFmpeg 3.1 */
+ avcodec_parameters_to_context(codec_context, av_stream.codecpar);
+#endif
#endif
const SampleFormat sample_format =
diff --git a/src/decoder/plugins/WildmidiDecoderPlugin.cxx b/src/decoder/plugins/WildmidiDecoderPlugin.cxx
index fc58f09..e5dbabe 100644
--- a/src/decoder/plugins/WildmidiDecoderPlugin.cxx
+++ b/src/decoder/plugins/WildmidiDecoderPlugin.cxx
@@ -65,6 +65,24 @@ wildmidi_finish(void)
WildMidi_Shutdown();
}
+static DecoderCommand
+wildmidi_output(Decoder &decoder, midi *wm)
+{
+#ifdef LIBWILDMIDI_VER_MAJOR
+ /* WildMidi 0.4 has switched from "char*" to "int8_t*" */
+ int8_t buffer[4096];
+#else
+ /* pre 0.4 */
+ char buffer[4096];
+#endif
+
+ int length = WildMidi_GetOutput(wm, buffer, sizeof(buffer));
+ if (length <= 0)
+ return DecoderCommand::STOP;
+
+ return decoder_data(decoder, nullptr, buffer, length, 0);
+}
+
static void
wildmidi_file_decode(Decoder &decoder, Path path_fs)
{
@@ -94,18 +112,11 @@ wildmidi_file_decode(Decoder &decoder, Path path_fs)
DecoderCommand cmd;
do {
- char buffer[4096];
- int len;
-
info = WildMidi_GetInfo(wm);
if (info == nullptr)
break;
- len = WildMidi_GetOutput(wm, buffer, sizeof(buffer));
- if (len <= 0)
- break;
-
- cmd = decoder_data(decoder, nullptr, buffer, len, 0);
+ cmd = wildmidi_output(decoder, wm);
if (cmd == DecoderCommand::SEEK) {
unsigned long seek_where =
diff --git a/src/fs/AllocatedPath.cxx b/src/fs/AllocatedPath.cxx
index ceaad73..0f394dd 100644
--- a/src/fs/AllocatedPath.cxx
+++ b/src/fs/AllocatedPath.cxx
@@ -111,7 +111,7 @@ AllocatedPath::ChopSeparators()
while (l >= 2 && PathTraitsFS::IsSeparator(p[l - 1])) {
--l;
-#if GCC_CHECK_VERSION(4,7) && !defined(__clang__)
+#if GCC_CHECK_VERSION(4,7)
value.pop_back();
#else
value.erase(value.end() - 1, value.end());
diff --git a/src/neighbor/plugins/SmbclientNeighborPlugin.cxx b/src/neighbor/plugins/SmbclientNeighborPlugin.cxx
index 2701b0c..0e31c6e 100644
--- a/src/neighbor/plugins/SmbclientNeighborPlugin.cxx
+++ b/src/neighbor/plugins/SmbclientNeighborPlugin.cxx
@@ -216,7 +216,7 @@ SmbclientNeighborExplorer::Run()
prev = i;
} else {
/* can't see it anymore: move to "lost" */
-#if defined(__clang__) || GCC_CHECK_VERSION(4,7)
+#if CLANG_OR_GCC_VERSION(4,7)
lost.splice_after(lost.before_begin(), list, prev);
#else
/* the forward_list::splice_after() lvalue
diff --git a/src/output/plugins/PulseOutputPlugin.cxx b/src/output/plugins/PulseOutputPlugin.cxx
index 120bad0..2301145 100644
--- a/src/output/plugins/PulseOutputPlugin.cxx
+++ b/src/output/plugins/PulseOutputPlugin.cxx
@@ -545,7 +545,6 @@ pulse_output_open(AudioOutput *ao, AudioFormat &audio_format,
Error &error)
{
PulseOutput *po = (PulseOutput *)ao;
- pa_sample_spec ss;
assert(po->mainloop != nullptr);
@@ -575,11 +574,30 @@ pulse_output_open(AudioOutput *ao, AudioFormat &audio_format,
return false;
}
- /* MPD doesn't support the other pulseaudio sample formats, so
- we just force MPD to send us everything as 16 bit */
- audio_format.format = SampleFormat::S16;
+ /* Use the sample formats that our version of PulseAudio and MPD
+ have in common, otherwise force MPD to send 16 bit */
+
+ pa_sample_spec ss;
+
+ switch (audio_format.format) {
+ case SampleFormat::FLOAT:
+ ss.format = PA_SAMPLE_FLOAT32NE;
+ break;
+ case SampleFormat::S32:
+ ss.format = PA_SAMPLE_S32NE;
+ break;
+ case SampleFormat::S24_P32:
+ ss.format = PA_SAMPLE_S24_32NE;
+ break;
+ case SampleFormat::S16:
+ ss.format = PA_SAMPLE_S16NE;
+ break;
+ default:
+ audio_format.format = SampleFormat::S16;
+ ss.format = PA_SAMPLE_S16NE;
+ break;
+ }
- ss.format = PA_SAMPLE_S16NE;
ss.rate = audio_format.sample_rate;
ss.channels = audio_format.channels;
diff --git a/src/output/plugins/httpd/HttpdInternal.hxx b/src/output/plugins/httpd/HttpdInternal.hxx
index 20ff15e..3031702 100644
--- a/src/output/plugins/httpd/HttpdInternal.hxx
+++ b/src/output/plugins/httpd/HttpdInternal.hxx
@@ -153,7 +153,7 @@ public:
HttpdOutput(EventLoop &_loop);
~HttpdOutput();
-#if defined(__clang__) || GCC_CHECK_VERSION(4,7)
+#if CLANG_OR_GCC_VERSION(4,7)
constexpr
#endif
static HttpdOutput *Cast(AudioOutput *ao) {
diff --git a/src/storage/CompositeStorage.cxx b/src/storage/CompositeStorage.cxx
index 89a2fc7..ce9c1e8 100644
--- a/src/storage/CompositeStorage.cxx
+++ b/src/storage/CompositeStorage.cxx
@@ -137,7 +137,7 @@ CompositeStorage::Directory::Make(const char *uri)
Directory *directory = this;
while (*uri != 0) {
const std::string name = NextSegment(uri);
-#if defined(__clang__) || GCC_CHECK_VERSION(4,8)
+#if CLANG_OR_GCC_VERSION(4,8)
auto i = directory->children.emplace(std::move(name),
Directory());
#else
diff --git a/src/system/ByteOrder.hxx b/src/system/ByteOrder.hxx
index 42181fe..6f0d291 100644
--- a/src/system/ByteOrder.hxx
+++ b/src/system/ByteOrder.hxx
@@ -40,7 +40,7 @@
/* well-known big-endian */
# define IS_LITTLE_ENDIAN false
# define IS_BIG_ENDIAN true
-#elif defined(__APPLE__)
+#elif defined(__APPLE__) || defined(__NetBSD__)
/* compile-time check for MacOS */
# include <machine/endian.h>
# if BYTE_ORDER == LITTLE_ENDIAN
diff --git a/src/tag/Set.cxx b/src/tag/Set.cxx
index 6a55a45..157060d 100644
--- a/src/tag/Set.cxx
+++ b/src/tag/Set.cxx
@@ -75,7 +75,7 @@ TagSet::InsertUnique(const Tag &src, TagType type, const char *value,
else
builder.AddItem(type, value);
CopyTagMask(builder, src, group_mask);
-#if defined(__clang__) || GCC_CHECK_VERSION(4,8)
+#if CLANG_OR_GCC_VERSION(4,8)
emplace(builder.Commit());
#else
insert(builder.Commit());
diff --git a/src/tag/TagPool.cxx b/src/tag/TagPool.cxx
index 97015b4..16f44f4 100644
--- a/src/tag/TagPool.cxx
+++ b/src/tag/TagPool.cxx
@@ -91,7 +91,7 @@ calc_hash(TagType type, const char *p)
return hash ^ type;
}
-#if defined(__clang__) || GCC_CHECK_VERSION(4,7)
+#if CLANG_OR_GCC_VERSION(4,7)
constexpr
#endif
static inline TagPoolSlot *
diff --git a/src/util/Cast.hxx b/src/util/Cast.hxx
index 887137d..6471719 100644
--- a/src/util/Cast.hxx
+++ b/src/util/Cast.hxx
@@ -84,7 +84,7 @@ ContainerAttributeOffset(const A C::*p)
* Cast the given pointer to a struct member to its parent structure.
*/
template<class C, class A>
-#if defined(__clang__) || GCC_CHECK_VERSION(4,7)
+#if CLANG_OR_GCC_VERSION(4,7)
constexpr
#endif
static inline C &
@@ -97,7 +97,7 @@ ContainerCast(A &a, A C::*member)
* Cast the given pointer to a struct member to its parent structure.
*/
template<class C, class A>
-#if defined(__clang__) || GCC_CHECK_VERSION(4,7)
+#if CLANG_OR_GCC_VERSION(4,7)
constexpr
#endif
static inline const C &
diff --git a/src/util/Manual.hxx b/src/util/Manual.hxx
index 75cffac..153851a 100644
--- a/src/util/Manual.hxx
+++ b/src/util/Manual.hxx
@@ -41,7 +41,7 @@
#include <assert.h>
-#if defined(__clang__) || GCC_CHECK_VERSION(4,7)
+#if CLANG_OR_GCC_VERSION(4,7)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif
@@ -114,7 +114,7 @@ public:
}
};
-#if defined(__clang__) || GCC_VERSION >= 40700
+#if CLANG_OR_GCC_VERSION(4,7)
#pragma GCC diagnostic pop
#endif
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mpd/pkg-mpd.git
More information about the Pkg-mpd-commits
mailing list