Browse Source

workaround segfault

Waldemar Brodkorb 14 years ago
parent
commit
2c9800fe9f
2 changed files with 21 additions and 1 deletions
  1. 7 1
      package/mplayer/Makefile
  2. 14 0
      package/mplayer/patches/patch-libao2_ao_alsa_c

+ 7 - 1
package/mplayer/Makefile

@@ -18,7 +18,7 @@ PKG_BUILDDEP+=		libX11 libXv libpng libXext jpeg
 PKG_URL:=		http://www.mplayerhq.hu/
 PKG_URL:=		http://www.mplayerhq.hu/
 PKG_SITES:=		http://openadk.org/distfiles/
 PKG_SITES:=		http://openadk.org/distfiles/
 
 
-PKG_ARCH_DEPENDS:=	x86 mips
+PKG_ARCH_DEPENDS:=	x86 mips arm
 
 
 PKG_FLAVOURS_MPLAYER:=	WITH_DIRECTFB
 PKG_FLAVOURS_MPLAYER:=	WITH_DIRECTFB
 PKGFD_WITH_DIRECTFB:=	enable DirectFB video output support
 PKGFD_WITH_DIRECTFB:=	enable DirectFB video output support
@@ -30,6 +30,7 @@ include ${TOPDIR}/mk/package.mk
 
 
 $(eval $(call PKG_template,MPLAYER,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,MPLAYER,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 
+XAKE_FLAGS+=		GCC_HONOUR_COPTS=s
 # gcc 4.5 produces internal compiler error with -Os
 # gcc 4.5 produces internal compiler error with -Os
 TARGET_CFLAGS:=$(subst Os,O2,$(TARGET_CFLAGS))
 TARGET_CFLAGS:=$(subst Os,O2,$(TARGET_CFLAGS))
 
 
@@ -68,6 +69,11 @@ CONFIGURE_CPU_OPTS+=	--enable-sse2
 else
 else
 CONFIGURE_CPU_OPTS+=	--disable-sse2
 CONFIGURE_CPU_OPTS+=	--disable-sse2
 endif
 endif
+#ifeq (${ADK_TARGET_CPU_WITH_IWMMXT},y)
+#CONFIGURE_CPU_OPTS+=	--enable-iwmmxt
+#else
+#CONFIGURE_CPU_OPTS+=	--disable-iwmmxt
+#endif
 
 
 ifeq ($(ADK_DEBUG),y)
 ifeq ($(ADK_DEBUG),y)
 CONFIGURE_DEBUG=	--enable-debug
 CONFIGURE_DEBUG=	--enable-debug

+ 14 - 0
package/mplayer/patches/patch-libao2_ao_alsa_c

@@ -0,0 +1,14 @@
+--- mplayer-1.0-32749.orig/libao2/ao_alsa.c	2011-01-03 11:26:52.000000000 +0100
++++ mplayer-1.0-32749/libao2/ao_alsa.c	2011-09-14 20:52:35.457990653 +0200
+@@ -760,8 +760,9 @@ static int play(void* data, int len, int
+ {
+   int num_frames;
+   snd_pcm_sframes_t res = 0;
+-  if (!(flags & AOPLAY_FINAL_CHUNK))
+-      len = len / ao_data.outburst * ao_data.outburst;
++  // SIGFPE on Sharp Zaurus ARM CPU
++  //if (!(flags & AOPLAY_FINAL_CHUNK))
++  //    len = len / ao_data.outburst * ao_data.outburst;
+   num_frames = len / bytes_per_sample;
+ 
+   //mp_msg(MSGT_AO,MSGL_ERR,"alsa-play: frames=%i, len=%i\n",num_frames,len);