OpenWrt Forum Archive

Topic: Mpd

The content of this topic has been archived on 30 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

So, do these steps (assuming you have debian squeeze and TP-LINK 1043ND):

sudo aptitude install zlib1g-dev gettext flex git subversion build-essential libncurses5-dev gawk
mkdir -p ~/openwrt
cd ~/openwrt
svn co svn://svn.openwrt.org/openwrt/trunk/ tp-link
cd tp-link
./scripts/feeds update packages
./scripts/feeds install mpd-full
./scripts/feeds install mpc
mkdir -p ~/openwrt/downloads/
ln -s ~/openwrt/downloads dl
echo CONFIG_TARGET_ar71xx=y > .config
echo CONFIG_TARGET_ar71xx_generic_TLWR1043=y >> .config
echo CONFIG_PACKAGE_block-mount=y >> .config
echo CONFIG_PACKAGE_kmod-fs-ext4=y >> .config
echo CONFIG_PACKAGE_kmod-usb-ohci=y >> .config
echo CONFIG_PACKAGE_kmod-usb-storage=y >> .config
echo CONFIG_PACKAGE_e2fsprogs=y >> .config
echo CONFIG_PACKAGE_kmod-usb-audio=m >> .config
echo CONFIG_PACKAGE_libffmpeg-full=m >> .config # without this mpd won't be enabled in trunk
echo CONFIG_PACKAGE_mpd-full=m >> .config
echo CONFIG_PACKAGE_mpc=m >> .config
make defconfig
mkdir -p files/etc/config
cp ~/fstab files/etc/config/fstab
cp ~/mpd.conf files/etc/mpd.conf
cp ~/opkg.conf files/etc/opkg.conf
make

Everything should compile cleanly.
Flash your tp-link device.
insert usb stick to your PC
sudo fdisk /dev/sdb
<partition to 2 parts, 1 part having type 82, 2 part type 83>
Then,

sudo mkswap /dev/sdb1
sudo mkfs.ext4 -L openwrt-root /dev/sdb2

eject then insert and after it's mounted do:

sudo chown -R user: /media/openwrt-root/
cp -a ~/openwrt/tp-link/bin/ar71xx/packages/ /media/openwrt-root
tar -C /media/openwrt-root -zxf ~/openwrt/tp-link/bin/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz

copy some mp3s to /media/openwrt-root/home/music/
After that you need to insert into your device this usb stick and usb sound card via usb hub.
Then telnet to your device and reboot it.
After it reboots, telnet to it and do:

mkdir /home/mpd/
opkg update
opkg install kmod-usb-audio
opkg install mpd-full
/etc/init.d/mpd enable
/etc/init.d/mpd start
opkg install mpc
mpc update --wait

Then install gmpc on your PC
set only the following, anything other don't touch:

host 192.168.1.1
autoconnect yes

Now you should be able to play music.

====================================

Following are config files used above:

opkg.conf

src/gz packages file:///packages

fstab:

config global automount
        option from_fstab 1
        option anon_mount 1

config global autoswap
        option from_fstab 1
        option anon_swap 0

config mount
        option target   /
        option device   /dev/sda2
        option fstype   ext4
        option options  rw,sync,noatime
        option enabled  1
        option enabled_fsck 1

config swap
        option device   /dev/sda1
        option enabled  1

mpd.conf:

music_directory  "/home/music"
db_file   "/home/mpd/database"
log_file  "/home/mpd/log"
input {
        plugin "curl"
}
audio_output {
 type  "alsa"
 name  "My ALSA Device"
 mixer_type "software"
 device          "hw:0,0"
}

EDIT:
add CONFIG_PACKAGE_kmod-usb-audio=m
add CONFIG_PACKAGE_libffmpeg-full=m and remove libffmpeg-fix.patch
add device "hw:0,0"

(Last edited by usv on 21 Jul 2012, 06:34)

I've managed to compile mpd with pulseaudio support.

I don't know how to compile it with SDK, but here is HowTo with svn:

svn co svn://svn.openwrt.org/openwrt/tags/attitude_adjustment_12.09/
cd attitude_adjustment_12.09
make tools/install
make toolchain/install
./scripts/feeds update
./scripts/feeds install pulseaudio
./scripts/feeds install mpd

apply the patch on package/feeds/packages/mpd/Makefile:

--- Makefile_old        2013-06-18 17:47:56.277865458 +0400
+++ Makefile   2013-06-18 17:37:35.037187159 +0400
@@ -49,7 +49,7 @@
   DEPENDS+= \
        +AUDIO_SUPPORT:alsa-lib \
        +libaudiofile +BUILD_PATENTED:libfaad2 +libffmpeg +libid3tag \
-       +libmms +libogg +libshout +libsndfile +libvorbis
+       +libmms +libogg +libshout +libsndfile +libvorbis +pulseaudio-daemon
   PROVIDES:=mpd
   VARIANT:=full
 endef
@@ -137,7 +137,7 @@
        $(if $(CONFIG_BUILD_PATENTED),MAD_LIBS="$(TARGET_LDFLAGS) -lmad") \
 
 TARGET_CFLAGS += -std=gnu99
-TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
+TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib,-rpath-link=$(STAGING_DIR)/usr/lib/pulseaudio
 
 # use gcc instead of g++ to avoid unnecessary linking against libstdc++
 TARGET_CXX:=$(TARGET_CC)
@@ -160,6 +160,7 @@
        --enable-sndfile \
        --enable-vorbis \
        --enable-vorbis-encoder \
+       --enable-pulse \
        --with-faad="$(STAGING_DIR)/usr" \
        --with-tremor=no \
 

apply the patch on package/feeds/packages/pulseaudio/Makefile (makes visible /usr/lib/pulseaudio/libpulsecommon-2.1.so for mpd compilation):

--- Makefile_old        2013-06-19 12:12:00.458287669 +0400
+++ Makefile  2013-06-19 12:07:43.225298052 +0400
@@ -139,7 +139,8 @@
        $(INSTALL_DIR) \
                $(1)/usr/lib/pkgconfig \
                $(1)/usr/include/pulse \
-               $(1)/usr/lib
+               $(1)/usr/lib \
+               $(1)/usr/lib/pulseaudio
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/include/pulse/* \
                $(1)/usr/include/pulse
@@ -149,6 +150,9 @@
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/*.so* \
                $(1)/usr/lib/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/pulseaudio/*.so* \
+               $(1)/usr/lib/pulseaudio/
 endef
 
 define Package/pulseaudio-daemon/install

then run make menuconfig, select Sound/pulseaudio-daemon and Libraries/libffmpeg-mini, then Sound/mpd-full

make package/mpd/compile
make package/mpd/install

And you will get bin/ar71xx/packages/mpd-full_0.16.5-2_ar71xx.ipk package

Installing it on openwrt will give you following results:

mpd -V
mpd (MPD: Music Player Daemon) 0.16.5 

Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright (C) 2008-2010 Max Kellermann <max@duempel.org>
This is free software; see the source for copying conditions.  There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Supported decoders:

[mad] mp3 mp2
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac
[sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
[audiofile] wav au aiff aif
[faad] aac
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav wma wmv wsaud wsvga wv wve

Supported outputs:

shout null fifo pipe alsa oss pulse httpd recorder 

Supported encoders:

null vorbis flac 

Supported protocols:

file:// http:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps://

P.S. To allow pulseaudio use the /dev/snd you should alter /etc/init.d/pulseaudio:

--- pulseaudio_old 2013-06-19 12:30:18.425539419 +0400
+++ pulseaudio 2013-06-19 12:30:04.077704388 +0400
@@ -19,6 +19,9 @@
                 chmod 0750 /var/lib/pulse
                 chown pulse:pulse /var/lib/pulse
         }
+        [ -d /dev/snd ] && {
+                chown -R pulse:pulse /dev/snd
+        }
         service_start /usr/bin/pulseaudio --daemonize --system --disallow-exit --disallow-module-loading --disable-shm --exit-idle-time=-1
 }

To allow mpd to connect to pulseaudio you should alter /etc/pulse/system.pa:

-load-module module-native-protocol-unix
+load-module module-native-protocol-unix auth-anonymous=1

And alter /etc/mpd.conf:

audio_output {
        type "pulse"
        name "My PulseAudio Device"                                
}

If you want to play aac radio streams smoothly you should create the following patch with subdir (https://dev.openwrt.org/ticket/9645):
mkdir package/feeds/packages/faad2/patches
package/feeds/packages/faad2/patches/100-define-fixed-point.patch:

Index: faad2-2.7/libfaad/common.h
===================================================================
--- faad2-2.7.orig/libfaad/common.h     2009-02-05 03:51:03.000000000 +0300
+++ faad2-2.7/libfaad/common.h  2013-06-19 13:02:09.447526662 +0400
@@ -65,7 +65,7 @@
 /* use double precision */
 /* #define USE_DOUBLE_PRECISION */
 /* use fixed point reals */
-//#define FIXED_POINT
+#define FIXED_POINT
 //#define BIG_IQ_TABLE

 /* Use if target platform has address generators with autoincrement */

then recompile faad2 and install new package on your openwrt. Now aac playing takes approximately 60% CPU (was 100%)
Or you can use latest faad2 Makefile: https://dev.openwrt.org/changeset/34527

(Last edited by kay.diam on 19 Jun 2013, 13:05)

kay.diam wrote:

I've managed to compile mpd with pulseaudio support.

I don't know how to compile it with SDK, but here is HowTo with svn:

svn co svn://svn.openwrt.org/openwrt/tags/attitude_adjustment_12.09/
cd attitude_adjustment_12.09
make tools/install
make toolchain/install
./scripts/feeds update
./scripts/feeds install pulseaudio
./scripts/feeds install mpd

apply the patch on package/feeds/packages/mpd/Makefile:

--- Makefile_old        2013-06-18 17:47:56.277865458 +0400
+++ Makefile   2013-06-18 17:37:35.037187159 +0400
@@ -49,7 +49,7 @@
   DEPENDS+= \
        +AUDIO_SUPPORT:alsa-lib \
        +libaudiofile +BUILD_PATENTED:libfaad2 +libffmpeg +libid3tag \
-       +libmms +libogg +libshout +libsndfile +libvorbis
+       +libmms +libogg +libshout +libsndfile +libvorbis +pulseaudio-daemon
   PROVIDES:=mpd
   VARIANT:=full
 endef
@@ -137,7 +137,7 @@
        $(if $(CONFIG_BUILD_PATENTED),MAD_LIBS="$(TARGET_LDFLAGS) -lmad") \
 
 TARGET_CFLAGS += -std=gnu99
-TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
+TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib,-rpath-link=$(STAGING_DIR)/usr/lib/pulseaudio
 
 # use gcc instead of g++ to avoid unnecessary linking against libstdc++
 TARGET_CXX:=$(TARGET_CC)
@@ -160,6 +160,7 @@
        --enable-sndfile \
        --enable-vorbis \
        --enable-vorbis-encoder \
+       --enable-pulse \
        --with-faad="$(STAGING_DIR)/usr" \
        --with-tremor=no \
 

apply the patch on package/feeds/packages/pulseaudio/Makefile (makes visible /usr/lib/pulseaudio/libpulsecommon-2.1.so for mpd compilation):

--- Makefile_old        2013-06-19 12:12:00.458287669 +0400
+++ Makefile  2013-06-19 12:07:43.225298052 +0400
@@ -139,7 +139,8 @@
        $(INSTALL_DIR) \
                $(1)/usr/lib/pkgconfig \
                $(1)/usr/include/pulse \
-               $(1)/usr/lib
+               $(1)/usr/lib \
+               $(1)/usr/lib/pulseaudio
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/include/pulse/* \
                $(1)/usr/include/pulse
@@ -149,6 +150,9 @@
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/*.so* \
                $(1)/usr/lib/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/pulseaudio/*.so* \
+               $(1)/usr/lib/pulseaudio/
 endef
 
 define Package/pulseaudio-daemon/install

then run make menuconfig, select Sound/pulseaudio-daemon and Libraries/libffmpeg-mini, then Sound/mpd-full

make package/mpd/compile
make package/mpd/install

And you will get bin/ar71xx/packages/mpd-full_0.16.5-2_ar71xx.ipk package

Installing it on openwrt will give you following results:

mpd -V
mpd (MPD: Music Player Daemon) 0.16.5 

Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright (C) 2008-2010 Max Kellermann <max@duempel.org>
This is free software; see the source for copying conditions.  There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Supported decoders:

[mad] mp3 mp2
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac
[sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
[audiofile] wav au aiff aif
[faad] aac
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav wma wmv wsaud wsvga wv wve

Supported outputs:

shout null fifo pipe alsa oss pulse httpd recorder 

Supported encoders:

null vorbis flac 

Supported protocols:

file:// http:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps://

P.S. To allow pulseaudio use the /dev/snd you should alter /etc/init.d/pulseaudio:

--- pulseaudio_old 2013-06-19 12:30:18.425539419 +0400
+++ pulseaudio 2013-06-19 12:30:04.077704388 +0400
@@ -19,6 +19,9 @@
                 chmod 0750 /var/lib/pulse
                 chown pulse:pulse /var/lib/pulse
         }
+        [ -d /dev/snd ] && {
+                chown -R pulse:pulse /dev/snd
+        }
         service_start /usr/bin/pulseaudio --daemonize --system --disallow-exit --disallow-module-loading --disable-shm --exit-idle-time=-1
 }

To allow mpd to connect to pulseaudio you should alter /etc/pulse/system.pa:

-load-module module-native-protocol-unix
+load-module module-native-protocol-unix auth-anonymous=1

And alter /etc/mpd.conf:

audio_output {
        type "pulse"
        name "My PulseAudio Device"                                
}

If you want to play aac radio streams smoothly you should create the following patch with subdir (https://dev.openwrt.org/ticket/9645):
mkdir package/feeds/packages/faad2/patches
package/feeds/packages/faad2/patches/100-define-fixed-point.patch:

Index: faad2-2.7/libfaad/common.h
===================================================================
--- faad2-2.7.orig/libfaad/common.h     2009-02-05 03:51:03.000000000 +0300
+++ faad2-2.7/libfaad/common.h  2013-06-19 13:02:09.447526662 +0400
@@ -65,7 +65,7 @@
 /* use double precision */
 /* #define USE_DOUBLE_PRECISION */
 /* use fixed point reals */
-//#define FIXED_POINT
+#define FIXED_POINT
 //#define BIG_IQ_TABLE

 /* Use if target platform has address generators with autoincrement */

then recompile faad2 and install new package on your openwrt. Now aac playing takes approximately 60% CPU (was 100%)
Or you can use latest faad2 Makefile: https://dev.openwrt.org/changeset/34527

i am do as your patch in trunk r38659 and can't pass the building. please read the below wrong infromation

make[5]: Entering directory `/home/david/openwrt/trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/mpd-full/mpd-0.16.5'
ccache_cc -DHAVE_CONFIG_H -I.  -DNDEBUG -I./src -pthread -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include/glib-2.0 -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/glib-2.0/include  -DSYSTEM_CONFIG_FILE_LOCATION='"/etc/mpd.conf"'      -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include  -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include  -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include/ -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include/glib-2.0 -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/glib-2.0/include   -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include   -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kec -mdsp -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/libiconv-full/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/libintl-full/include -std=gnu99 -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include  -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include        -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kec -mdsp -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/libiconv-full/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/libintl-full/include -std=gnu99  -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include     -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kec -mdsp -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/libiconv-full/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/libintl-full/include -std=gnu99 -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include    -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include/alsa     -D_REENTRANT -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include  -pthread -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include  -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/include -I/home/david/openwrt/trunk/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.6-linaro_uClibc-0.9.33.2/usr/include -I/home/david/openwrt/trunk/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.6-linaro_uClibc-0.9.33.2/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/libiconv-full/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/libintl-full/include  -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include  -Wall -Wextra -Wno-deprecated-declarations -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wcast-qual -Wwrite-strings -pedantic -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kec -mdsp -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/libiconv-full/include -I/home/david/openwrt/trunk/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib/libintl-full/include -std=gnu99  -MT src/input/src_mpd-ffmpeg_input_plugin.o -MD -MP -MF src/input/.deps/src_mpd-ffmpeg_input_plugin.Tpo -c -o src/input/src_mpd-ffmpeg_input_plugin.o `test -f 'src/input/ffmpeg_input_plugin.c' || echo './'`src/input/ffmpeg_input_plugin.c
cc1: note: someone does not honour COPTS correctly, passed 4 times
src/input/ffmpeg_input_plugin.c:38:2: error: unknown type name 'URLContext'
src/input/ffmpeg_input_plugin.c: In function 'input_ffmpeg_init':
src/input/ffmpeg_input_plugin.c:57:2: warning: implicit declaration of function 'av_protocol_next' [-Wimplicit-function-declaration]
src/input/ffmpeg_input_plugin.c:57:36: warning: comparison between pointer and integer [enabled by default]
src/input/ffmpeg_input_plugin.c: In function 'input_ffmpeg_open':
src/input/ffmpeg_input_plugin.c:83:2: warning: implicit declaration of function 'url_open' [-Wimplicit-function-declaration]
src/input/ffmpeg_input_plugin.c:83:33: error: 'URL_RDONLY' undeclared (first use in this function)
src/input/ffmpeg_input_plugin.c:83:33: note: each undeclared identifier is reported only once for each function it appears in
src/input/ffmpeg_input_plugin.c:94:26: error: request for member 'is_streamed' in something not a structure or union
src/input/ffmpeg_input_plugin.c:95:2: warning: implicit declaration of function 'url_filesize' [-Wimplicit-function-declaration]
src/input/ffmpeg_input_plugin.c: In function 'input_ffmpeg_read':
src/input/ffmpeg_input_plugin.c:112:2: warning: implicit declaration of function 'url_read' [-Wimplicit-function-declaration]
src/input/ffmpeg_input_plugin.c: In function 'input_ffmpeg_close':
src/input/ffmpeg_input_plugin.c:131:2: warning: implicit declaration of function 'url_close' [-Wimplicit-function-declaration]
src/input/ffmpeg_input_plugin.c: In function 'input_ffmpeg_seek':
src/input/ffmpeg_input_plugin.c:149:2: warning: implicit declaration of function 'url_seek' [-Wimplicit-function-declaration]
make[5]: *** [src/input/src_mpd-ffmpeg_input_plugin.o] Error 1
make[5]: Leaving directory `/home/david/openwrt/trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/mpd-full/mpd-0.16.5'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/home/david/openwrt/trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/mpd-full/mpd-0.16.5'
make[3]: *** [/home/david/openwrt/trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/mpd-full/mpd-0.16.5/.built] Error 2
make[3]: Leaving directory `/home/david/openwrt/trunk/feeds/packages/sound/mpd'
make[2]: *** [package/feeds/packages/mpd/compile] Error 2
Davidwei wrote:

i am do as your patch in trunk r38659 and can't pass the building. please read the below wrong infromation

I used "attitude_adjustment_12.09" and instructions are for "attitude_adjustment_12.09"

kay.diam wrote:
Davidwei wrote:

i am do as your patch in trunk r38659 and can't pass the building. please read the below wrong infromation

I used "attitude_adjustment_12.09" and instructions are for "attitude_adjustment_12.09"

I am so sorry to hear that!
This mistake made me want to cry!
If i don't your patch, will mistake as the below link
https://dev.openwrt.org/ticket/14422

Davidwei wrote:
kay.diam wrote:
Davidwei wrote:

i am do as your patch in trunk r38659 and can't pass the building. please read the below wrong infromation

I used "attitude_adjustment_12.09" and instructions are for "attitude_adjustment_12.09"

I am so sorry to hear that!
This mistake made me want to cry!
If i don't your patch, will mistake as the below link
https://dev.openwrt.org/ticket/14422

mpd-0.16.5 too old, trunk in use ffmpeg-0.11.2, need mpd-0.17.2

The discussion might have continued from here.