strip instead of the cross strip. So, get rid of it, and let Buildroot
handle the stripping.
+[Vincent: tweak patch for version 1.2]
+
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
-Index: mplayer-32710/configure
-===================================================================
---- mplayer-32710.orig/configure
-+++ mplayer-32710/configure
-@@ -2519,7 +2519,7 @@
+diff -Nrua a/configure b/configure
+--- a/configure 2015-10-02 21:29:04.000000000 +0100
++++ b/configure 2015-10-06 13:28:37.245349592 +0100
+@@ -2780,7 +2780,7 @@
# Checking for CFLAGS
-_install_strip="-s"
+_install_strip=
- if test "$_profile" != "" || test "$_debug" != "" ; then
- CFLAGS="-O2 $_march $_mcpu $_pipe $_debug $_profile"
- WARNFLAGS="-W -Wall"
+ if test -z "$CFLAGS" || test "$_profile" != "" || test "$_debug" != ""; then
+ if test "$cc_vendor" = "intel" ; then
+ CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer"
+++ /dev/null
-[PATCH] mplayer: fix --cc= parsing if the value contains equal signs (=)
-
-E.G. if -cc="$CROSS-gcc --sysroot=<SYSROOT>" is passed.
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: mplayer-32710/configure
-===================================================================
---- mplayer-32710.orig/configure
-+++ mplayer-32710/configure
-@@ -870,7 +870,7 @@
- _target=$(echo $ac_option | cut -d '=' -f 2)
- ;;
- --cc=*)
-- _cc=$(echo $ac_option | cut -d '=' -f 2)
-+ _cc=$(echo $ac_option | cut -d '=' -f 2-)
- ;;
- --host-cc=*)
- _host_cc=$(echo $ac_option | cut -d '=' -f 2)
--- /dev/null
+From d3195ea13f4a9aae546ff996e53681349a1a3cdb Mon Sep 17 00:00:00 2001
+From: sherpya <sherpya@netfarm.it>
+Date: Fri, 14 Jun 2013 05:25:38 +0200
+Subject: [PATCH 25/27] mpdemux: live555 async interface
+
+From: https://raw.github.com/sherpya/mplayer-be/master/patches/mp/0025-mpdemux-live555-async-interface.patch
+
+Adjust live555 interface code for modern versions of live555.
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ libmpdemux/demux_rtp.cpp | 51 ++++++++++++++++++++++++++++++++----------------
+ 2 files changed, 35 insertions(+), 22 deletions(-)
+
+diff --git a/libmpdemux/demux_rtp.cpp b/libmpdemux/demux_rtp.cpp
+index ad7a7f1..05d06e0 100644
+--- a/libmpdemux/demux_rtp.cpp
++++ b/libmpdemux/demux_rtp.cpp
+@@ -19,8 +19,6 @@
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+-#define RTSPCLIENT_SYNCHRONOUS_INTERFACE 1
+-
+ extern "C" {
+ // on MinGW, we must include windows.h before the things it conflicts
+ #ifdef __MINGW32__ // with. they are each protected from
+@@ -94,15 +92,6 @@ struct RTPState {
+
+ extern "C" char* network_username;
+ extern "C" char* network_password;
+-static char* openURL_rtsp(RTSPClient* client, char const* url) {
+- // If we were given a user name (and optional password), then use them:
+- if (network_username != NULL) {
+- char const* password = network_password == NULL ? "" : network_password;
+- return client->describeWithPassword(url, network_username, password);
+- } else {
+- return client->describeURL(url);
+- }
+-}
+
+ static char* openURL_sip(SIPClient* client, char const* url) {
+ // If we were given a user name (and optional password), then use them:
+@@ -118,6 +107,19 @@ static char* openURL_sip(SIPClient* client, char const* url) {
+ extern AVCodecContext *avcctx;
+ #endif
+
++static char fWatchVariableForSyncInterface;
++static char* fResultString;
++static int fResultCode;
++
++static void responseHandlerForSyncInterface(RTSPClient* rtspClient, int responseCode, char* responseString) {
++ // Set result values:
++ fResultCode = responseCode;
++ fResultString = responseString;
++
++ // Signal a break from the event loop (thereby returning from the blocking command):
++ fWatchVariableForSyncInterface = ~0;
++}
++
+ extern "C" int audio_id, video_id, dvdsub_id;
+ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) {
+ Boolean success = False;
+@@ -146,13 +148,19 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) {
+ rtsp_transport_http = demuxer->stream->streaming_ctrl->url->port;
+ rtsp_transport_tcp = 1;
+ }
+- rtspClient = RTSPClient::createNew(*env, verbose, "MPlayer", rtsp_transport_http);
++ rtspClient = RTSPClient::createNew(*env, url, verbose, "MPlayer", rtsp_transport_http);
+ if (rtspClient == NULL) {
+ fprintf(stderr, "Failed to create RTSP client: %s\n",
+ env->getResultMsg());
+ break;
+ }
+- sdpDescription = openURL_rtsp(rtspClient, url);
++ fWatchVariableForSyncInterface = 0;
++ rtspClient->sendDescribeCommand(responseHandlerForSyncInterface);
++ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface);
++ if (fResultCode == 0)
++ sdpDescription = fResultString;
++ else
++ delete[] fResultString;
+ } else { // SIP
+ unsigned char desiredAudioType = 0; // PCMU (use 3 for GSM)
+ sipClient = SIPClient::createNew(*env, desiredAudioType, NULL,
+@@ -236,8 +244,12 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) {
+
+ if (rtspClient != NULL) {
+ // Issue a RTSP "SETUP" command on the chosen subsession:
+- if (!rtspClient->setupMediaSubsession(*subsession, False,
+- rtsp_transport_tcp)) break;
++ fWatchVariableForSyncInterface = 0;
++ rtspClient->sendSetupCommand(*subsession, responseHandlerForSyncInterface, False, rtsp_transport_tcp);
++ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface);
++ delete[] fResultString;
++ if (fResultCode != 0) break;
++
+ if (!strcmp(subsession->mediumName(), "audio"))
+ audiofound = 1;
+ if (!strcmp(subsession->mediumName(), "video"))
+@@ -248,7 +260,11 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) {
+
+ if (rtspClient != NULL) {
+ // Issue a RTSP aggregate "PLAY" command on the whole session:
+- if (!rtspClient->playMediaSession(*mediaSession)) break;
++ fWatchVariableForSyncInterface = 0;
++ rtspClient->sendPlayCommand(*mediaSession, responseHandlerForSyncInterface);
++ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface);
++ delete[] fResultString;
++ if (fResultCode != 0) break;
+ } else if (sipClient != NULL) {
+ sipClient->sendACK(); // to start the stream flowing
+ }
+@@ -637,7 +653,8 @@ static void teardownRTSPorSIPSession(RTPState* rtpState) {
+ MediaSession* mediaSession = rtpState->mediaSession;
+ if (mediaSession == NULL) return;
+ if (rtpState->rtspClient != NULL) {
+- rtpState->rtspClient->teardownMediaSession(*mediaSession);
++ fWatchVariableForSyncInterface = 0;
++ rtpState->rtspClient->sendTeardownCommand(*mediaSession, NULL);
+ } else if (rtpState->sipClient != NULL) {
+ rtpState->sipClient->sendBYE();
+ }
+--
+1.8.5.2
+
+++ /dev/null
-From d3195ea13f4a9aae546ff996e53681349a1a3cdb Mon Sep 17 00:00:00 2001
-From: sherpya <sherpya@netfarm.it>
-Date: Fri, 14 Jun 2013 05:25:38 +0200
-Subject: [PATCH 25/27] mpdemux: live555 async interface
-
-From: https://raw.github.com/sherpya/mplayer-be/master/patches/mp/0025-mpdemux-live555-async-interface.patch
-
-Adjust live555 interface code for modern versions of live555.
-
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- libmpdemux/demux_rtp.cpp | 51 ++++++++++++++++++++++++++++++++----------------
- 2 files changed, 35 insertions(+), 22 deletions(-)
-
-diff --git a/libmpdemux/demux_rtp.cpp b/libmpdemux/demux_rtp.cpp
-index ad7a7f1..05d06e0 100644
---- a/libmpdemux/demux_rtp.cpp
-+++ b/libmpdemux/demux_rtp.cpp
-@@ -19,8 +19,6 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
--#define RTSPCLIENT_SYNCHRONOUS_INTERFACE 1
--
- extern "C" {
- // on MinGW, we must include windows.h before the things it conflicts
- #ifdef __MINGW32__ // with. they are each protected from
-@@ -94,15 +92,6 @@ struct RTPState {
-
- extern "C" char* network_username;
- extern "C" char* network_password;
--static char* openURL_rtsp(RTSPClient* client, char const* url) {
-- // If we were given a user name (and optional password), then use them:
-- if (network_username != NULL) {
-- char const* password = network_password == NULL ? "" : network_password;
-- return client->describeWithPassword(url, network_username, password);
-- } else {
-- return client->describeURL(url);
-- }
--}
-
- static char* openURL_sip(SIPClient* client, char const* url) {
- // If we were given a user name (and optional password), then use them:
-@@ -118,6 +107,19 @@ static char* openURL_sip(SIPClient* client, char const* url) {
- extern AVCodecContext *avcctx;
- #endif
-
-+static char fWatchVariableForSyncInterface;
-+static char* fResultString;
-+static int fResultCode;
-+
-+static void responseHandlerForSyncInterface(RTSPClient* rtspClient, int responseCode, char* responseString) {
-+ // Set result values:
-+ fResultCode = responseCode;
-+ fResultString = responseString;
-+
-+ // Signal a break from the event loop (thereby returning from the blocking command):
-+ fWatchVariableForSyncInterface = ~0;
-+}
-+
- extern "C" int audio_id, video_id, dvdsub_id;
- extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) {
- Boolean success = False;
-@@ -146,13 +148,19 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) {
- rtsp_transport_http = demuxer->stream->streaming_ctrl->url->port;
- rtsp_transport_tcp = 1;
- }
-- rtspClient = RTSPClient::createNew(*env, verbose, "MPlayer", rtsp_transport_http);
-+ rtspClient = RTSPClient::createNew(*env, url, verbose, "MPlayer", rtsp_transport_http);
- if (rtspClient == NULL) {
- fprintf(stderr, "Failed to create RTSP client: %s\n",
- env->getResultMsg());
- break;
- }
-- sdpDescription = openURL_rtsp(rtspClient, url);
-+ fWatchVariableForSyncInterface = 0;
-+ rtspClient->sendDescribeCommand(responseHandlerForSyncInterface);
-+ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface);
-+ if (fResultCode == 0)
-+ sdpDescription = fResultString;
-+ else
-+ delete[] fResultString;
- } else { // SIP
- unsigned char desiredAudioType = 0; // PCMU (use 3 for GSM)
- sipClient = SIPClient::createNew(*env, desiredAudioType, NULL,
-@@ -236,8 +244,12 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) {
-
- if (rtspClient != NULL) {
- // Issue a RTSP "SETUP" command on the chosen subsession:
-- if (!rtspClient->setupMediaSubsession(*subsession, False,
-- rtsp_transport_tcp)) break;
-+ fWatchVariableForSyncInterface = 0;
-+ rtspClient->sendSetupCommand(*subsession, responseHandlerForSyncInterface, False, rtsp_transport_tcp);
-+ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface);
-+ delete[] fResultString;
-+ if (fResultCode != 0) break;
-+
- if (!strcmp(subsession->mediumName(), "audio"))
- audiofound = 1;
- if (!strcmp(subsession->mediumName(), "video"))
-@@ -248,7 +260,11 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) {
-
- if (rtspClient != NULL) {
- // Issue a RTSP aggregate "PLAY" command on the whole session:
-- if (!rtspClient->playMediaSession(*mediaSession)) break;
-+ fWatchVariableForSyncInterface = 0;
-+ rtspClient->sendPlayCommand(*mediaSession, responseHandlerForSyncInterface);
-+ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface);
-+ delete[] fResultString;
-+ if (fResultCode != 0) break;
- } else if (sipClient != NULL) {
- sipClient->sendACK(); // to start the stream flowing
- }
-@@ -637,7 +653,8 @@ static void teardownRTSPorSIPSession(RTPState* rtpState) {
- MediaSession* mediaSession = rtpState->mediaSession;
- if (mediaSession == NULL) return;
- if (rtpState->rtspClient != NULL) {
-- rtpState->rtspClient->teardownMediaSession(*mediaSession);
-+ fWatchVariableForSyncInterface = 0;
-+ rtpState->rtspClient->sendTeardownCommand(*mediaSession, NULL);
- } else if (rtpState->sipClient != NULL) {
- rtpState->sipClient->sendBYE();
- }
---
-1.8.5.2
-
+++ /dev/null
---- mplayer-1.1/configure 2013-12-03 00:32:10.815571460 -0800
-+++ mplayer-1.1-arc/configure 2013-11-29 00:34:29.238297709 -0800
-@@ -2492,6 +2492,10 @@
- generic)
- arch='generic'
- ;;
-+ arc)
-+ arch='arc'
-+ iproc='arc'
-+ ;;
-
- *)
- echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
+++ /dev/null
-Support newer GIFLIB versions
-
-This is an adapted upstream patch. This patch is incomplete so a new
-patch needs to be added after this one.
-
-Upstream commit:
-
- https://github.com/pigoz/mplayer-svn/commit/a0ddaef5457e222dade386901bf448c5e3ac7b89
-
-Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
-
-From a0ddaef5457e222dade386901bf448c5e3ac7b89 Mon Sep 17 00:00:00 2001
-From: al <al@b3059339-0415-0410-9bf9-f77b7e298cf2>
-Date: Sat, 27 Jul 2013 21:16:06 +0000
-Subject: [PATCH] Support newer GIFLIB versions
-
-Work with GIFLIB version >= 4.2
-
-Several functions have been renamed or changed in signature.
-
-GIFLIB is used by vo gif89a and demuxer gif.
-
-Note about GIFLIB Version 4.2:
-It does not work with vanilla GIFLIB 4.2 but it works with
-versions that have re-added quantize support like e.g. the
-package from arch linux.
-
-Note about GIFLIB Version 5:
-The newly added GCB functions use size_t but the necessary
-standard headers are not included in gif_lib.h . To workaround
-this:
-
-* configure: use statement_check_broken to include stdlib.h
-* vo gif89: include gif_lib.h after stdlib.h
-* demuxer gif: no workaround needed,
- gif_lib.h is already included after stdlib.h
-
-
-
-git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@36367 b3059339-0415-0410-9bf9-f77b7e298cf2
----
- configure | 1 +
- libmpdemux/demux_gif.c | 44 +++++++++++++++++++++++++++++++++++---------
- libvo/vo_gif89a.c | 35 ++++++++++++++++++++++++-----------
- 3 files changed, 61 insertions(+), 21 deletions(-)
-
-diff --git a/configure b/configure
-index e9152a8..4cd378d 100755
---- a/configure
-+++ b/configure
-@@ -4938,6 +4938,7 @@ if test "$_gif" = auto ; then
- _gif=no
- for ld_gif in "-lungif" "-lgif" ; do
- statement_check gif_lib.h 'QuantizeBuffer(0, 0, 0, 0, 0, 0, 0, 0)' $ld_gif && _gif=yes && break
-+ statement_check_broken stdlib.h gif_lib.h 'GifQuantizeBuffer(0, 0, 0, 0, 0, 0, 0, 0)' $ld_gif && _gif=yes && break
- done
- fi
-
-
-diff --git a/libmpdemux/demux_gif.c b/libmpdemux/demux_gif.c
-index 804ce8c..0a11322 100644
---- a/libmpdemux/demux_gif.c
-+++ b/libmpdemux/demux_gif.c
-@@ -45,6 +45,32 @@ typedef struct {
-
- #define GIF_SIGNATURE (('G' << 16) | ('I' << 8) | 'F')
-
-+#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
-+#define DGifOpen(a, b) DGifOpen(a, b, NULL)
-+#define DGifOpenFileHandle(a) DGifOpenFileHandle(a, NULL)
-+#define GifError() (gif ? gif->Error : 0)
-+#define GifErrorString() GifErrorString(gif->Error)
-+#endif
-+
-+/* >= 4.2 prior GIFLIB did not have MAJOR/MINOR defines */
-+#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 4
-+static void print_gif_error(GifFileType *gif)
-+{
-+ int err = GifError();
-+ char *err_str = GifErrorString();
-+
-+ if (err_str)
-+ mp_msg(MSGT_DEMUX, MSGL_ERR, "\n[gif] GIF-LIB error: %s.\n", err_str);
-+ else
-+ mp_msg(MSGT_DEMUX, MSGL_ERR, "\n[gif] GIF-LIB undefined error %d.\n", err);
-+}
-+#else
-+static void print_gif_error(GifFileType *gif)
-+{
-+ PrintGifError();
-+}
-+#endif
-+
- #ifndef CONFIG_GIF_TVT_HACK
- // not supported by certain versions of the library
- static int my_read_gif(GifFileType *gif, uint8_t *buf, int len)
-@@ -94,14 +120,14 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
-
- while (type != IMAGE_DESC_RECORD_TYPE) {
- if (DGifGetRecordType(gif, &type) == GIF_ERROR) {
-- PrintGifError();
-+ print_gif_error(priv->gif);
- return 0; // oops
- }
- if (type == TERMINATE_RECORD_TYPE)
- return 0; // eof
- if (type == SCREEN_DESC_RECORD_TYPE) {
- if (DGifGetScreenDesc(gif) == GIF_ERROR) {
-- PrintGifError();
-+ print_gif_error(priv->gif);
- return 0; // oops
- }
- }
-@@ -109,7 +135,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
- int code;
- unsigned char *p = NULL;
- if (DGifGetExtension(gif, &code, &p) == GIF_ERROR) {
-- PrintGifError();
-+ print_gif_error(priv->gif);
- return 0; // oops
- }
- if (code == 0xF9) {
-@@ -138,7 +164,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
- comments[length] = 0;
- printf("%s", comments);
- if (DGifGetExtensionNext(gif, &p) == GIF_ERROR) {
-- PrintGifError();
-+ print_gif_error(priv->gif);
- return 0; // oops
- }
- }
-@@ -146,7 +172,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
- }
- while (p != NULL) {
- if (DGifGetExtensionNext(gif, &p) == GIF_ERROR) {
-- PrintGifError();
-+ print_gif_error(priv->gif);
- return 0; // oops
- }
- }
-@@ -154,7 +180,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
- }
-
- if (DGifGetImageDesc(gif) == GIF_ERROR) {
-- PrintGifError();
-+ print_gif_error(priv->gif);
- return 0; // oops
- }
-
-@@ -167,7 +193,7 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
- memset(dp->buffer, gif->SBackGroundColor, priv->w * priv->h);
-
- if (DGifGetLine(gif, buf, len) == GIF_ERROR) {
-- PrintGifError();
-+ print_gif_error(priv->gif);
- free(buf);
- free_demux_packet(dp);
- return 0; // oops
-@@ -261,7 +287,7 @@ static demuxer_t* demux_open_gif(demuxer_t* demuxer)
- gif = DGifOpen(demuxer->stream, my_read_gif);
- #endif
- if (!gif) {
-- PrintGifError();
-+ print_gif_error(NULL);
- free(priv);
- return NULL;
- }
-@@ -303,7 +329,7 @@ static void demux_close_gif(demuxer_t* demuxer)
- gif_priv_t *priv = demuxer->priv;
- if (!priv) return;
- if (priv->gif && DGifCloseFile(priv->gif) == GIF_ERROR)
-- PrintGifError();
-+ print_gif_error(priv->gif);
- free(priv->refimg);
- free(priv);
- }
-diff --git a/libvo/vo_gif89a.c b/libvo/vo_gif89a.c
-index b808f81..160291a 100644
---- a/libvo/vo_gif89a.c
-+++ b/libvo/vo_gif89a.c
-@@ -44,13 +44,13 @@
- * entire argument being interpretted as the filename.
- */
-
--#include <gif_lib.h>
--
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
-
-+#include <gif_lib.h>
-+
- #include "config.h"
- #include "subopt-helper.h"
- #include "video_out.h"
-@@ -69,6 +69,12 @@ static const vo_info_t info = {
-
- const LIBVO_EXTERN(gif89a)
-
-+#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
-+#define EGifOpenFileName(a, b) EGifOpenFileName(a, b, NULL)
-+#define MakeMapObject GifMakeMapObject
-+#define FreeMapObject GifFreeMapObject
-+#define QuantizeBuffer GifQuantizeBuffer
-+#endif
-
- // how many frames per second we are aiming for during output.
- static float target_fps;
-@@ -156,7 +162,7 @@ static int config(uint32_t s_width, uint32_t s_height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title,
- uint32_t format)
- {
--#ifdef CONFIG_GIF_4
-+#if defined CONFIG_GIF_4 || GIFLIB_MAJOR >= 5
- // these are control blocks for the gif looping extension.
- char LB1[] = "NETSCAPE2.0";
- char LB2[] = { 1, 0, 0 };
-@@ -185,23 +191,25 @@ static int config(uint32_t s_width, uint32_t s_height, uint32_t d_width,
- return 1;
- }
-
-+ new_gif = EGifOpenFileName(gif_filename, 0);
-+ if (new_gif == NULL) {
-+ mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: error opening file \"%s\" for output.\n", gif_filename);
-+ return 1;
-+ }
-+
-+#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
-+ EGifSetGifVersion(new_gif, 1);
-+#elif defined CONFIG_GIF_4
- // the EGifSetGifVersion line causes segfaults in certain
- // earlier versions of libungif. i don't know exactly which,
- // but certainly in all those before v4. if you have problems,
- // you need to upgrade your gif library.
--#ifdef CONFIG_GIF_4
- EGifSetGifVersion("89a");
- #else
- mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: Your version of libungif needs to be upgraded.\n");
- mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: Some functionality has been disabled.\n");
- #endif
-
-- new_gif = EGifOpenFileName(gif_filename, 0);
-- if (new_gif == NULL) {
-- mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: error opening file \"%s\" for output.\n", gif_filename);
-- return 1;
-- }
--
- slice_data = malloc(img_width * img_height * 3);
- if (slice_data == NULL) {
- mp_msg(MSGT_VO, MSGL_ERR, "GIF89a: malloc failed.\n");
-@@ -231,7 +239,12 @@ static int config(uint32_t s_width, uint32_t s_height, uint32_t d_width,
-
- // set the initial width and height info.
- EGifPutScreenDesc(new_gif, s_width, s_height, 256, 0, reduce_cmap);
--#ifdef CONFIG_GIF_4
-+#if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
-+ EGifPutExtensionLeader(new_gif, 0xFF);
-+ EGifPutExtensionBlock(new_gif, 11, LB1);
-+ EGifPutExtensionBlock(new_gif, 3, LB2);
-+ EGifPutExtensionTrailer(new_gif);
-+#elif defined CONFIG_GIF_4
- // version 3 of libungif does not support multiple control blocks.
- // looping requires multiple control blocks.
- // therefore, looping is only enabled for v4 and up.
---
-1.7.1
-
+++ /dev/null
-Support newer GIFLIB versions - Part 2
-
-Adding another patch to fix the problem with new versions of libgif.
-This patch has been sent upstream:
-
- https://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2015-February/072848.html
-
-Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
-
-Support newer GIFLIB versions - Part 2
-
-This patch is necessary because the previous upstream patch is
-incomplete. Without this one, MPlayer will fail to compile displaying
-an error message like this one:
-
-libvo/vo_gif89a.c: In function 'uninit':
-libvo/vo_gif89a.c:374:3: error: too few arguments to function 'EGifCloseFile'
- EGifCloseFile(new_gif); // also frees gif storage space.
-
-Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
----
-
-diff -rup a/libmpdemux/demux_gif.c b/libmpdemux/demux_gif.c
---- a/libmpdemux/demux_gif.c 2015-02-13 15:39:56.582310414 +0000
-+++ b/libmpdemux/demux_gif.c 2015-02-13 15:48:06.396837922 +0000
-@@ -48,6 +48,7 @@ typedef struct {
- #if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
- #define DGifOpen(a, b) DGifOpen(a, b, NULL)
- #define DGifOpenFileHandle(a) DGifOpenFileHandle(a, NULL)
-+#define DGifCloseFile(a) DGifCloseFile(a, NULL)
- #define GifError() (gif ? gif->Error : 0)
- #define GifErrorString() GifErrorString(gif->Error)
- #endif
-diff -rup a/libvo/vo_gif89a.c b/libvo/vo_gif89a.c
---- a/libvo/vo_gif89a.c 2015-02-13 15:39:56.631311186 +0000
-+++ b/libvo/vo_gif89a.c 2015-02-13 15:45:25.392168294 +0000
-@@ -71,6 +71,7 @@ const LIBVO_EXTERN(gif89a)
-
- #if defined GIFLIB_MAJOR && GIFLIB_MAJOR >= 5
- #define EGifOpenFileName(a, b) EGifOpenFileName(a, b, NULL)
-+#define EGifCloseFile(a) EGifCloseFile(a, NULL)
- #define MakeMapObject GifMakeMapObject
- #define FreeMapObject GifFreeMapObject
- #define QuantizeBuffer GifQuantizeBuffer
+++ /dev/null
-Add support for ARM64 architecture
-
-This patch adds aarch64 as a supported architecture to the configure script.
-
-Signed-off-by: Joao Pinto <jpinto@synopsys.com>
----
-
---- b/configure 2015-09-15 17:30:46.187307557 +0100
-+++ a/configure 2015-09-15 17:31:11.729307537 +0100
-@@ -2496,6 +2496,10 @@
- arch='arc'
- iproc='arc'
- ;;
-+ aarch64)
-+ arch='arm64'
-+ iproc='arm64'
-+ ;;
-
- *)
- echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
-
-
-# From http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.1.1.tar.xz.md5
-md5 39dd55f30eb5403f219a606e79a6648a MPlayer-1.1.1.tar.xz
-# From http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.1.1.tar.xz.sha1
-sha1 ba2f3bd1442d04b17b0143680850273d928689c1 MPlayer-1.1.1.tar.xz
+# From http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.2.tar.xz.md5
+md5 58409fccb8ef33013fb780405405491f MPlayer-1.2.tar.xz
+# From http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.2.tar.xz.sha1
+sha1 64fad840dfae466ab5ef3be2b6c74058892cd981 MPlayer-1.2.tar.xz
#
################################################################################
-MPLAYER_VERSION = 1.1.1
+MPLAYER_VERSION = 1.2
MPLAYER_SOURCE = MPlayer-$(MPLAYER_VERSION).tar.xz
MPLAYER_SITE = http://www.mplayerhq.hu/MPlayer/releases
ifeq ($(BR2_PACKAGE_LIBDVDREAD),y)
MPLAYER_CONF_OPTS += \
--enable-dvdread \
- --disable-dvdread-internal \
--with-dvdread-config=$(STAGING_DIR)/usr/bin/dvdread-config
MPLAYER_DEPENDENCIES += libdvdread
endif
ifeq ($(BR2_PACKAGE_TREMOR),y)
MPLAYER_DEPENDENCIES += tremor
-MPLAYER_CONF_OPTS += --disable-tremor-internal --enable-tremor
+MPLAYER_CONF_OPTS += --enable-tremor
endif
ifeq ($(BR2_PACKAGE_LIBVORBIS),y)