Attached is a patch to the mplayer package that makes it use recent mplayer-svn plus a pinned version of ffmpeg that is integrated into the mplayer source tree during the downlwoad stage.
Compiles and works (relatively) fine for me. Not committing this as long as I'm not sure whether all patented codecs are disabled. The ffmpeg ogg demuxer needs tons of memory, starting mplayer with '-demuxer ogg' fixes that. Maybe we can patch mplayer to use that ogg demuxer by default? David -- GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40
diff --git a/mplayer/Makefile b/mplayer/Makefile index 26b1aaf..2175346 100644 --- a/mplayer/Makefile +++ b/mplayer/Makefile @@ -7,28 +7,61 @@ include $(TOPDIR)/rules.mk PKG_NAME:=MPlayer -PKG_VERSION:=1.0rc3 -PKG_RELEASE:=2 +# newer mplayer revisions lack the --enable-system-ffmpeg configure option +# which totally screws us :( (i.e. they want to checkout and rebuild libffmpeg +# from the mplayer source tree, yuck!) +PKG_REV:=33304 +FFMPEG_REV:=3d462373f8e8fa58b697a9b2d93a5edf70841937 +#32225 -- last revision with enable-system-ffmpeg +PKG_VERSION:=r$(PKG_REV) +PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=http://www.mplayerhq.hu/MPlayer/releases/ -PKG_MD5SUM:=0191ddb9c21620779838e53a4cca5ac1 +PKG_SOURCE=$(PKG_NAME)-$(PKG_VERSION).tar.gz +FFMPEG_SOURCE_URL:=git://git.videolan.org/ffmpeg.git +PKG_SOURCE_URL:=svn://svn.mplayerhq.hu/mplayer/trunk +PKG_SOURCE_PROTO:=svn_plus_ffmpeg_git +PKG_SOURCE_VERSION=$(PKG_REV) +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk +define DownloadMethod/svn_plus_ffmpeg_git + $(call wrap_mirror, \ + echo "Checking out files from the svn repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + ( svn help export | grep -q trust-server-cert && \ + svn export --non-interactive --trust-server-cert -r$(VERSION) $(URL) $(SUBDIR) || \ + svn export --non-interactive -r$(VERSION) $(URL) $(SUBDIR) ) && \ + git clone --depth 1 $(FFMPEG_SOURCE_URL) $(SUBDIR)/ffmpeg && \ + (cd $(SUBDIR)/ffmpeg && git checkout $(FFMPEG_REV)) && \ + echo "Packing checkout..." && \ + rm -rf $(SUBDIR)/ffmpeg/.git && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + + define Package/MPlayer SECTION:=multimedia CATEGORY:=Multimedia TITLE:=MPlayer, the movie player URL:=http://www.mplayerhq.hu - DEPENDS:=+libjpeg +libpng +directfb +zlib +libsdl +libfreetype +fontconfig $(ICONV_DEPENDS) +BUILD_PATENTED:libmad +libaa +giflib +fribidi +libtheora + DEPENDS:=+libjpeg +libpng +directfb +zlib +libsdl +libfreetype +fontconfig $(ICONV_DEPENDS) +BUILD_PATENTED:libmad +libaa +giflib +fribidi +libtheora +libggi endef define Package/MPlayer/description MPlayer is a movie player which runs on many systems. endef +# --enable-system-ffmpeg +# --extra-libs="-lavformat -lavcodec -lavutil -lpostproc -lswscale" \ + CONFIGURE_ARGS := --target=mips \ --disable-mencoder \ --disable-pthreads \ @@ -56,9 +89,18 @@ CONFIGURE_ARGS := --target=mips \ --disable-vidix-pcidb \ --with-vidix-drivers="no" +# mplayer makefile is soooo broken. have to specify libs by hand, if +# compileing with --enable-system-ffmpeg +TARGET_CFLAGS+= -std=c99 -DPATH_MAX=512 -D_GNU_SOURCE +# -lavcore + # todo: remove once building correctly MAKE_FLAGS = -j4 +define Build/Configure + $(call Build/Configure/Default,) +endef + define Package/MPlayer/install $(INSTALL_DIR) \ $(1)/usr/bin \ diff --git a/mplayer/patches/005-configure.patch b/mplayer/patches/005-configure.patch new file mode 100644 index 0000000..3df12c5 --- /dev/null +++ b/mplayer/patches/005-configure.patch @@ -0,0 +1,15 @@ +Index: MPlayer-r33304/configure +=================================================================== +--- MPlayer-r33304.orig/configure 2011-04-23 12:22:47.000000000 +0200 ++++ MPlayer-r33304/configure 2011-04-23 12:24:20.000000000 +0200 +@@ -3126,6 +3126,10 @@ + echocheck $func + eval _$func=no + statement_check math.h "${func}(2.0)" -D_ISOC99_SOURCE $_ld_lm && eval _$func=yes ++# override checks for exp2f/log2f(): those exist in the headers but fail linking ++# (maybe only with -Os?) ++_exp2f=no ++_log2f=no + if eval test "x\$_$func" = "xyes"; then + eval def_$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\"" + echores yes diff --git a/mplayer/patches/010-jz47xx-vidix.patch b/mplayer/patches/010-jz47xx-vidix.patch index f7dc369..3fa5a59 100644 --- a/mplayer/patches/010-jz47xx-vidix.patch +++ b/mplayer/patches/010-jz47xx-vidix.patch @@ -1,7 +1,7 @@ -Index: MPlayer-1.0rc3/vidix/drivers.c +Index: MPlayer-r33304/vidix/drivers.c =================================================================== ---- MPlayer-1.0rc3.orig/vidix/drivers.c 2011-03-05 12:13:32.000000000 +0100 -+++ MPlayer-1.0rc3/vidix/drivers.c 2011-03-05 14:50:38.000000000 +0100 +--- MPlayer-r33304.orig/vidix/drivers.c 2011-04-23 12:22:03.000000000 +0200 ++++ MPlayer-r33304/vidix/drivers.c 2011-04-23 12:24:31.000000000 +0200 @@ -23,6 +23,7 @@ #include <stdio.h> #include <errno.h> @@ -10,7 +10,7 @@ Index: MPlayer-1.0rc3/vidix/drivers.c #include "config.h" #include "vidix.h" -@@ -102,6 +103,32 @@ +@@ -103,6 +104,32 @@ #ifdef CONFIG_VIDIX_DRV_UNICHROME vidix_register_driver (&unichrome_drv); #endif @@ -43,7 +43,7 @@ Index: MPlayer-1.0rc3/vidix/drivers.c } static int vidix_probe_driver (VDXContext *ctx, VDXDriver *drv, -@@ -190,3 +217,11 @@ +@@ -191,3 +218,11 @@ ctx->drv = NULL; return 0; } @@ -55,11 +55,11 @@ Index: MPlayer-1.0rc3/vidix/drivers.c +compile-command: "cd ~/src/nanonote/MPlayer-1.0rc3 && ~/bin/quilt-export target && make -C ~/h/src/qi/openwrt-xburst package/mplayer/compile -j2 V=99" +End: + */ -Index: MPlayer-1.0rc3/Makefile +Index: MPlayer-r33304/Makefile =================================================================== ---- MPlayer-1.0rc3.orig/Makefile 2011-03-05 13:04:03.000000000 +0100 -+++ MPlayer-1.0rc3/Makefile 2011-03-05 13:04:24.000000000 +0100 -@@ -635,11 +635,11 @@ +--- MPlayer-r33304.orig/Makefile 2011-04-23 12:22:04.000000000 +0200 ++++ MPlayer-r33304/Makefile 2011-04-23 12:24:31.000000000 +0200 +@@ -598,11 +598,11 @@ libvo/vosub_vidix.c \ vidix/vidix.c \ vidix/drivers.c \ @@ -76,10 +76,10 @@ Index: MPlayer-1.0rc3/Makefile SRCS_MPLAYER-$(VIDIX_CYBERBLADE) += vidix/cyberblade_vid.c SRCS_MPLAYER-$(VIDIX_IVTV) += vidix/ivtv_vid.c -Index: MPlayer-1.0rc3/vidix/dha.c +Index: MPlayer-r33304/vidix/dha.c =================================================================== ---- MPlayer-1.0rc3.orig/vidix/dha.c 2011-03-05 13:21:51.000000000 +0100 -+++ MPlayer-1.0rc3/vidix/dha.c 2011-03-05 13:21:59.000000000 +0100 +--- MPlayer-r33304.orig/vidix/dha.c 2011-04-23 12:22:03.000000000 +0200 ++++ MPlayer-r33304/vidix/dha.c 2011-04-23 12:24:31.000000000 +0200 @@ -185,7 +185,7 @@ #endif /* Generic mmap (not win32, nor os2) */
pgp9WE5WUwwMv.pgp
Description: PGP signature
_______________________________________________ Qi Hardware Discussion List Mail to list (members only): [email protected] Subscribe or Unsubscribe: http://lists.en.qi-hardware.com/mailman/listinfo/discussion

