Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
fe45f28204 | ||
![]() |
861067412f | ||
![]() |
7eca886608 | ||
![]() |
79b6f9e89e | ||
![]() |
3d17c06777 | ||
![]() |
d6c08fb79f | ||
![]() |
ef02b20811 | ||
![]() |
8bf46a665e | ||
![]() |
c4fca2aa61 | ||
![]() |
87268c2297 | ||
![]() |
e93975cb46 | ||
![]() |
b6fa22bd84 | ||
![]() |
a0ef27a0cd | ||
![]() |
e304d0f8ee | ||
![]() |
ab7b38d4b9 |
20
Makefile.am
20
Makefile.am
@@ -476,12 +476,6 @@ endif
|
||||
libdecoder_plugins_a_SOURCES = \
|
||||
src/decoder/PcmDecoderPlugin.cxx \
|
||||
src/decoder/PcmDecoderPlugin.hxx \
|
||||
src/decoder/DsdiffDecoderPlugin.cxx \
|
||||
src/decoder/DsdiffDecoderPlugin.hxx \
|
||||
src/decoder/DsfDecoderPlugin.cxx \
|
||||
src/decoder/DsfDecoderPlugin.hxx \
|
||||
src/decoder/DsdLib.cxx \
|
||||
src/decoder/DsdLib.hxx \
|
||||
src/DecoderBuffer.cxx src/DecoderBuffer.hxx \
|
||||
src/DecoderPlugin.cxx \
|
||||
src/DecoderList.cxx src/DecoderList.hxx
|
||||
@@ -525,6 +519,16 @@ DECODER_LIBS = \
|
||||
|
||||
DECODER_SRC =
|
||||
|
||||
if ENABLE_DSD
|
||||
libdecoder_plugins_a_SOURCES += \
|
||||
src/decoder/DsdiffDecoderPlugin.cxx \
|
||||
src/decoder/DsdiffDecoderPlugin.hxx \
|
||||
src/decoder/DsfDecoderPlugin.cxx \
|
||||
src/decoder/DsfDecoderPlugin.hxx \
|
||||
src/decoder/DsdLib.cxx \
|
||||
src/decoder/DsdLib.hxx
|
||||
endif
|
||||
|
||||
if HAVE_MAD
|
||||
libdecoder_plugins_a_SOURCES += \
|
||||
src/decoder/MadDecoderPlugin.cxx \
|
||||
@@ -1559,6 +1563,8 @@ test_test_queue_priority_LDADD = \
|
||||
libutil.a \
|
||||
$(CPPUNIT_LIBS)
|
||||
|
||||
if ENABLE_DSD
|
||||
|
||||
noinst_PROGRAMS += src/pcm/dsd2pcm/dsd2pcm
|
||||
|
||||
src_pcm_dsd2pcm_dsd2pcm_SOURCES = \
|
||||
@@ -1571,6 +1577,8 @@ src_pcm_dsd2pcm_dsd2pcm_LDADD = libutil.a
|
||||
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# Documentation
|
||||
|
9
NEWS
9
NEWS
@@ -1,3 +1,12 @@
|
||||
ver 0.18.16 (2014/09/26)
|
||||
* fix DSD breakage due to typo in configure.ac
|
||||
|
||||
ver 0.18.15 (2014/09/26)
|
||||
* command
|
||||
- list: reset used size after the list has been processed
|
||||
* fix MixRamp
|
||||
* work around build failure on NetBSD
|
||||
|
||||
ver 0.18.14 (2014/09/11)
|
||||
* protocol
|
||||
- fix range parser bug on certain 32 bit architectures
|
||||
|
57
configure.ac
57
configure.ac
@@ -1,6 +1,6 @@
|
||||
AC_PREREQ(2.60)
|
||||
|
||||
AC_INIT(mpd, 0.18.14, mpd-devel@musicpd.org)
|
||||
AC_INIT(mpd, 0.18.16, mpd-devel@musicpd.org)
|
||||
|
||||
VERSION_MAJOR=0
|
||||
VERSION_MINOR=18
|
||||
@@ -214,6 +214,11 @@ AC_ARG_ENABLE(documentation,
|
||||
[build documentation (default: disable)]),,
|
||||
[enable_documentation=no])
|
||||
|
||||
AC_ARG_ENABLE(dsd,
|
||||
AS_HELP_STRING([--enable-dsd],
|
||||
[enable DSD decoder (default: enable)]),,
|
||||
[enable_dsd=yes])
|
||||
|
||||
AC_ARG_ENABLE(ffmpeg,
|
||||
AS_HELP_STRING([--enable-ffmpeg],
|
||||
[enable FFMPEG support]),,
|
||||
@@ -846,6 +851,14 @@ if test x$enable_audiofile = xyes; then
|
||||
AC_DEFINE(HAVE_AUDIOFILE, 1, [Define for audiofile support])
|
||||
fi
|
||||
|
||||
dnl ----------------------------------- DSD -----------------------------------
|
||||
|
||||
if test x$enable_dsd = xyes; then
|
||||
AC_DEFINE(ENABLE_DSD, 1, [Define for the DSD decoder])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(ENABLE_DSD, test x$enable_dsd = xyes)
|
||||
|
||||
dnl ----------------------------------- FAAD ----------------------------------
|
||||
AM_PATH_FAAD()
|
||||
|
||||
@@ -1081,27 +1094,6 @@ AM_CONDITIONAL(ENABLE_WILDMIDI, test x$enable_wildmidi = xyes)
|
||||
|
||||
dnl ------------------------ Post Decoder Plugins Tests -----------------------
|
||||
|
||||
if
|
||||
test x$enable_aac = xno &&
|
||||
test x$enable_audiofile = xno &&
|
||||
test x$enable_ffmpeg = xno &&
|
||||
test x$enable_flac = xno &&
|
||||
test x$enable_fluidsynth = xno &&
|
||||
test x$enable_mad = xno &&
|
||||
test x$enable_mikmod = xno; then
|
||||
test x$enable_modplug = xno &&
|
||||
test x$enable_mpc = xno &&
|
||||
test x$enable_mpg123 = xno &&
|
||||
test x$enable_opus = xno &&
|
||||
test x$enable_sidplay = xno &&
|
||||
test x$enable_tremor = xno &&
|
||||
test x$enable_vorbis = xno &&
|
||||
test x$enable_wavpack = xno &&
|
||||
test x$enable_wildmidi = xno &&
|
||||
|
||||
AC_MSG_ERROR([No input plugins supported!])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_XIPH,
|
||||
test x$enable_vorbis = xyes || test x$enable_tremor = xyes || test x$enable_flac = xyes || test x$enable_opus = xyes)
|
||||
|
||||
@@ -1410,27 +1402,6 @@ esac
|
||||
|
||||
AM_CONDITIONAL(ENABLE_WINMM_OUTPUT, test x$enable_winmm_output = xyes)
|
||||
|
||||
dnl --------------------- Post Audio Output Plugins Tests ---------------------
|
||||
if
|
||||
test x$enable_alsa = xno &&
|
||||
test x$enable_roar = xno &&
|
||||
test x$enable_ao = xno &&
|
||||
test x$enable_fifo = xno &&
|
||||
test x$enable_httpd_output = xno &&
|
||||
test x$enable_jack = xno &&
|
||||
test x$enable_openal = xno &&
|
||||
test x$enable_oss = xno &&
|
||||
test x$enable_osx = xno &&
|
||||
test x$enable_pipe_output = xno &&
|
||||
test x$enable_pulse = xno &&
|
||||
test x$enable_recorder_output = xno &&
|
||||
test x$enable_shout = xno &&
|
||||
test x$enable_solaris_output = xno &&
|
||||
test x$enable_winmm_output = xno; then
|
||||
|
||||
AC_MSG_ERROR([No Audio Output types configured!])
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Documentation
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2003-2013 The Music Player Daemon Project
|
||||
* Copyright (C) 2003-2014 The Music Player Daemon Project
|
||||
* http://www.musicpd.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -69,7 +69,7 @@ static void version(void)
|
||||
puts("Music Player Daemon " VERSION "\n"
|
||||
"\n"
|
||||
"Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>\n"
|
||||
"Copyright (C) 2008-2013 Max Kellermann <max@duempel.org>\n"
|
||||
"Copyright (C) 2008-2014 Max Kellermann <max@duempel.org>\n"
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
"\n"
|
||||
|
@@ -73,8 +73,10 @@ const struct DecoderPlugin *const decoder_plugins[] = {
|
||||
#ifdef HAVE_AUDIOFILE
|
||||
&audiofile_decoder_plugin,
|
||||
#endif
|
||||
#ifdef ENABLE_DSD
|
||||
&dsdiff_decoder_plugin,
|
||||
&dsf_decoder_plugin,
|
||||
#endif
|
||||
#ifdef HAVE_FAAD
|
||||
&faad_decoder_plugin,
|
||||
#endif
|
||||
|
@@ -385,11 +385,20 @@ ao_filter_chunk(struct audio_output *ao, const struct music_chunk *chunk,
|
||||
if (length > other_length)
|
||||
length = other_length;
|
||||
|
||||
float mix_ratio = chunk->mix_ratio;
|
||||
if (mix_ratio >= 0)
|
||||
/* reverse the mix ratio (because the
|
||||
arguments to pcm_mix() are reversed), but
|
||||
only if the mix ratio is non-negative; a
|
||||
negative mix ratio is a MixRamp special
|
||||
case */
|
||||
mix_ratio = 1.0 - mix_ratio;
|
||||
|
||||
void *dest = ao->cross_fade_buffer.Get(other_length);
|
||||
memcpy(dest, other_data, other_length);
|
||||
if (!pcm_mix(dest, data, length,
|
||||
ao->in_audio_format.format,
|
||||
1.0 - chunk->mix_ratio)) {
|
||||
mix_ratio)) {
|
||||
FormatError(output_domain,
|
||||
"Cannot cross-fade format %s",
|
||||
sample_format_to_string(ao->in_audio_format.format));
|
||||
|
@@ -27,6 +27,7 @@ void
|
||||
CommandListBuilder::Reset()
|
||||
{
|
||||
list.clear();
|
||||
size = 0;
|
||||
mode = Mode::DISABLED;
|
||||
}
|
||||
|
||||
|
@@ -28,7 +28,7 @@ struct notify {
|
||||
Cond cond;
|
||||
bool pending;
|
||||
|
||||
#ifndef WIN32
|
||||
#if !defined(WIN32) && !defined(__NetBSD__)
|
||||
constexpr
|
||||
#endif
|
||||
notify():pending(false) {}
|
||||
|
@@ -171,7 +171,7 @@ static const char *const embcue_playlist_suffixes[] = {
|
||||
};
|
||||
|
||||
const struct playlist_plugin embcue_playlist_plugin = {
|
||||
"cue",
|
||||
"embcue",
|
||||
|
||||
nullptr,
|
||||
nullptr,
|
||||
|
@@ -41,7 +41,21 @@ class PosixCond {
|
||||
pthread_cond_t cond;
|
||||
|
||||
public:
|
||||
#ifdef __NetBSD__
|
||||
/* NetBSD's PTHREAD_COND_INITIALIZER is not compatible with
|
||||
"constexpr" */
|
||||
PosixCond() {
|
||||
pthread_cond_init(&cond, nullptr);
|
||||
}
|
||||
|
||||
~PosixCond() {
|
||||
pthread_cond_destroy(&cond);
|
||||
}
|
||||
#else
|
||||
/* optimized constexpr constructor for sane POSIX
|
||||
implementations */
|
||||
constexpr PosixCond():cond(PTHREAD_COND_INITIALIZER) {}
|
||||
#endif
|
||||
|
||||
PosixCond(const PosixCond &other) = delete;
|
||||
PosixCond &operator=(const PosixCond &other) = delete;
|
||||
|
@@ -41,7 +41,21 @@ class PosixMutex {
|
||||
pthread_mutex_t mutex;
|
||||
|
||||
public:
|
||||
#ifdef __NetBSD__
|
||||
/* NetBSD's PTHREAD_MUTEX_INITIALIZER is not compatible with
|
||||
"constexpr" */
|
||||
PosixMutex() {
|
||||
pthread_mutex_init(&mutex, nullptr);
|
||||
}
|
||||
|
||||
~PosixMutex() {
|
||||
pthread_mutex_destroy(&mutex);
|
||||
}
|
||||
#else
|
||||
/* optimized constexpr constructor for sane POSIX
|
||||
implementations */
|
||||
constexpr PosixMutex():mutex(PTHREAD_MUTEX_INITIALIZER) {}
|
||||
#endif
|
||||
|
||||
PosixMutex(const PosixMutex &other) = delete;
|
||||
PosixMutex &operator=(const PosixMutex &other) = delete;
|
||||
|
@@ -8,6 +8,8 @@
|
||||
#include <cppunit/ui/text/TestRunner.h>
|
||||
#include <cppunit/extensions/HelperMacros.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
static enum ack last_error = ack(-1);
|
||||
|
||||
void
|
||||
|
Reference in New Issue
Block a user