MPD: Upgrade to 0.18.11, convert to procd, refresh patches
Signed-off-by: Ted Hess <thess@kitschensync.net>
This commit is contained in:
parent
911bc46f3a
commit
a3255798d7
6 changed files with 46 additions and 85 deletions
|
@ -8,14 +8,17 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=mpd
|
PKG_NAME:=mpd
|
||||||
PKG_VERSION:=0.17.6
|
PKG_VERSION:=0.18.11
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=http://www.musicpd.org/download/mpd/0.17/
|
PKG_SOURCE_URL:=http://www.musicpd.org/download/mpd/0.18/
|
||||||
PKG_MD5SUM:=0a42ed81ff298c12e22c16be31097e4c
|
PKG_MD5SUM:=be23120f342250e8352f6499cb960fd2
|
||||||
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
|
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
|
||||||
|
|
||||||
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
PKG_LICENSE_FILE:=COPYING
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
|
@ -32,7 +35,7 @@ define Package/mpd/Default
|
||||||
CATEGORY:=Sound
|
CATEGORY:=Sound
|
||||||
TITLE:=Music Player Daemon
|
TITLE:=Music Player Daemon
|
||||||
URL:=http://www.musicpd.org/
|
URL:=http://www.musicpd.org/
|
||||||
DEPENDS:= +glib2 +libcurl +libpthread $(ICONV_DEPENDS) \
|
DEPENDS:= +glib2 +libcurl +libpthread +libmpdclient $(ICONV_DEPENDS) \
|
||||||
+libflac +BUILD_PATENTED:libmad +libvorbisidec
|
+libflac +BUILD_PATENTED:libmad +libvorbisidec
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -98,6 +101,7 @@ CONFIGURE_ARGS += \
|
||||||
--disable-fluidsynth \
|
--disable-fluidsynth \
|
||||||
--disable-gme \
|
--disable-gme \
|
||||||
--enable-inotify \
|
--enable-inotify \
|
||||||
|
--disable-eventfd \
|
||||||
--disable-iso9660 \
|
--disable-iso9660 \
|
||||||
--disable-jack \
|
--disable-jack \
|
||||||
--disable-lame-encoder \
|
--disable-lame-encoder \
|
||||||
|
@ -134,12 +138,8 @@ CONFIGURE_VARS += \
|
||||||
$(if $(CONFIG_BUILD_PATENTED),MAD_CFLAGS="$(TARGET_CFLAGS)") \
|
$(if $(CONFIG_BUILD_PATENTED),MAD_CFLAGS="$(TARGET_CFLAGS)") \
|
||||||
$(if $(CONFIG_BUILD_PATENTED),MAD_LIBS="$(TARGET_LDFLAGS) -lmad") \
|
$(if $(CONFIG_BUILD_PATENTED),MAD_LIBS="$(TARGET_LDFLAGS) -lmad") \
|
||||||
|
|
||||||
TARGET_CFLAGS += -std=gnu99
|
|
||||||
TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib $(if $(ICONV_FULL),-liconv)
|
TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib $(if $(ICONV_FULL),-liconv)
|
||||||
|
|
||||||
# use gcc instead of g++ to avoid unnecessary linking against libstdc++
|
|
||||||
TARGET_CXX:=$(TARGET_CC)
|
|
||||||
|
|
||||||
ifeq ($(BUILD_VARIANT),full)
|
ifeq ($(BUILD_VARIANT),full)
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
CONFIGURE_ARGS += \
|
||||||
|
|
|
@ -1,28 +1,26 @@
|
||||||
#!/bin/sh /etc/rc.common
|
#!/bin/sh /etc/rc.common
|
||||||
# Copyright (C) 2007-2011 OpenWrt.org
|
# Copyright (C) 2007-2014 OpenWrt.org
|
||||||
|
|
||||||
START=93
|
START=93
|
||||||
|
|
||||||
start() {
|
USE_PROCD=1
|
||||||
#create mpd directories
|
|
||||||
pld=`grep ^playlist_directory /etc/mpd.conf | cut -d "\"" -f 2 | sed "s/~/\/root/g"`
|
PROG=/usr/bin/mpd
|
||||||
|
CONFIGFILE=/etc/mpd.conf
|
||||||
|
NICEPRIO=-10
|
||||||
|
|
||||||
|
#TODO: Add uci config - nice, config
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
#create mpd directories from config
|
||||||
|
local pld=`grep ^playlist_directory "$CONFIGFILE" | cut -d "\"" -f 2 | sed "s/~/\/root/g"`
|
||||||
if [ ! -d $pld ]; then
|
if [ ! -d $pld ]; then
|
||||||
mkdir -m 0755 -p $pld
|
mkdir -m 0755 -p $pld
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set the initial volume to something manageable
|
procd_open_instance
|
||||||
[ -x /usr/bin/amixer ] && /usr/bin/amixer set PCM 40
|
procd_set_param command "$PROG" --no-daemon "$CONFIGFILE"
|
||||||
|
# Give MPD some real-time priority
|
||||||
if [ -x /bin/nice ]; then
|
procd_set_param nice "$NICEPRIO"
|
||||||
# This has real-time constraints, so let's at least tell the OS
|
procd_close_instance
|
||||||
# that this should have higher priority to avoid skipping
|
|
||||||
# when doing other things in the background.
|
|
||||||
nice -n -10
|
|
||||||
fi
|
|
||||||
|
|
||||||
service_start /usr/bin/mpd
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
service_stop /usr/bin/mpd
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -9821,6 +9821,7 @@ fi
|
|
||||||
# Check whether --with-faad was given.
|
|
||||||
if test "${with_faad+set}" = set; then :
|
|
||||||
withval=$with_faad;
|
|
||||||
+ faad_prefix=$with_faad;
|
|
||||||
else
|
|
||||||
faad_prefix=""
|
|
||||||
fi
|
|
||||||
--- a/src/input/file_input_plugin.c
|
|
||||||
+++ b/src/input/file_input_plugin.c
|
|
||||||
@@ -82,10 +82,6 @@ input_file_open(const char *filename,
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
-#ifdef POSIX_FADV_SEQUENTIAL
|
|
||||||
- posix_fadvise(fd, (off_t)0, st.st_size, POSIX_FADV_SEQUENTIAL);
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
fis = g_new(struct file_input_stream, 1);
|
|
||||||
input_stream_init(&fis->base, &input_plugin_file, filename,
|
|
||||||
mutex, cond);
|
|
|
@ -1,16 +0,0 @@
|
||||||
--- a/src/decoder/ffmpeg_decoder_plugin.c
|
|
||||||
+++ b/src/decoder/ffmpeg_decoder_plugin.c
|
|
||||||
@@ -370,6 +370,13 @@
|
|
||||||
#endif
|
|
||||||
return SAMPLE_FORMAT_S32;
|
|
||||||
|
|
||||||
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 94, 1)
|
|
||||||
+ case AV_SAMPLE_FMT_FLT:
|
|
||||||
+#else
|
|
||||||
+ case SAMPLE_FMT_FLOAT:
|
|
||||||
+#endif
|
|
||||||
+ return SAMPLE_FORMAT_FLOAT;
|
|
||||||
+
|
|
||||||
default:
|
|
||||||
g_warning("Unsupported libavcodec SampleFormat value: %d",
|
|
||||||
codec_context->sample_fmt);
|
|
|
@ -1,20 +1,6 @@
|
||||||
--- a/src/decoder/ffmpeg_decoder_plugin.c
|
--- a/src/decoder/FfmpegDecoderPlugin.cxx
|
||||||
+++ b/src/decoder/ffmpeg_decoder_plugin.c
|
+++ b/src/decoder/FfmpegDecoderPlugin.cxx
|
||||||
@@ -387,6 +387,13 @@ ffmpeg_probe(struct decoder *decoder, st
|
@@ -634,6 +634,7 @@ static const char *const ffmpeg_mime_typ
|
||||||
|
|
||||||
unsigned char *buffer = g_malloc(BUFFER_SIZE);
|
|
||||||
size_t nbytes = decoder_read(decoder, is, buffer, BUFFER_SIZE);
|
|
||||||
+
|
|
||||||
+ if ((nbytes > 0) && (nbytes < 1024))
|
|
||||||
+ {
|
|
||||||
+ // Gobble some more data if header is small
|
|
||||||
+ nbytes += decoder_read(decoder, is, buffer + nbytes, BUFFER_SIZE - nbytes);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (nbytes <= PADDING ||
|
|
||||||
!input_stream_lock_seek(is, 0, SEEK_SET, NULL)) {
|
|
||||||
g_free(buffer);
|
|
||||||
@@ -683,6 +690,7 @@ static const char *const ffmpeg_mime_typ
|
|
||||||
"audio/qcelp",
|
"audio/qcelp",
|
||||||
"audio/vorbis",
|
"audio/vorbis",
|
||||||
"audio/vorbis+ogg",
|
"audio/vorbis+ogg",
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
--- a/src/decoder/FfmpegDecoderPlugin.cxx
|
||||||
|
+++ b/src/decoder/FfmpegDecoderPlugin.cxx
|
||||||
|
@@ -373,6 +373,13 @@ ffmpeg_probe(Decoder *decoder, InputStre
|
||||||
|
|
||||||
|
unsigned char buffer[BUFFER_SIZE];
|
||||||
|
size_t nbytes = decoder_read(decoder, is, buffer, BUFFER_SIZE);
|
||||||
|
+
|
||||||
|
+ if ((nbytes > 0) && (nbytes < 1024))
|
||||||
|
+ {
|
||||||
|
+ // Gobble some more data if header is small
|
||||||
|
+ nbytes += decoder_read(decoder, is, buffer + nbytes, BUFFER_SIZE - nbytes);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (nbytes <= PADDING || !is.LockRewind(IgnoreError()))
|
||||||
|
return nullptr;
|
||||||
|
|
Loading…
Reference in a new issue