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) */

Attachment: 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

Reply via email to