mplayer: bump to version 1.2
authorVicente Olivert Riera <Vincent.Riera@imgtec.com>
Tue, 6 Oct 2015 13:42:54 +0000 (14:42 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 7 Oct 2015 08:19:01 +0000 (10:19 +0200)
- Bump to version 1.2
- Update hash file.
- Remove no longer existent configure options:
  --disable-dvdread-internal, --disable-tremor-internal.
- Tweak 0001-disable-install-strip.patch.
- Remove 0002-fix-cc-parsing.patch. Upstreamed:
  https://github.com/pigoz/mplayer-svn/commit/0f3ddfe146b8b2c6fe9302017375ef6b30ffbe71
- Remove 0004-add-arc-support.patch. Upstreamed:
  https://github.com/pigoz/mplayer-svn/commit/3b8c5f22313a416b24dcc4e7facde0a886352a75
- Remove 0005-Support-newer-GIFLIB-versions.patch. Upstreamed:
  https://github.com/pigoz/mplayer-svn/commit/a0ddaef5457e222dade386901bf448c5e3ac7b89
- Remove 0006-Support-newer-GIFLIB-versions-part2.patch. Upstreamed:
  https://github.com/pigoz/mplayer-svn/commit/a43d259602723d92db1463b166739fb8d22c2d51
- Remove 0007-mplayer-enable-aarch64.patch. Upstreamed:
  https://github.com/pigoz/mplayer-svn/commit/1cceebf1fa0cc1b27429e937f1cfa61c406f9159
- Rename 0003-mpdemux-live555-async-interface.patch to
  0002-mpdemux-live555-async-interface.patch.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/mplayer/0001-disable-install-strip.patch
package/mplayer/0002-fix-cc-parsing.patch [deleted file]
package/mplayer/0002-mpdemux-live555-async-interface.patch [new file with mode: 0644]
package/mplayer/0003-mpdemux-live555-async-interface.patch [deleted file]
package/mplayer/0004-add-arc-support.patch [deleted file]
package/mplayer/0005-Support-newer-GIFLIB-versions.patch [deleted file]
package/mplayer/0006-Support-newer-GIFLIB-versions-part2.patch [deleted file]
package/mplayer/0007-mplayer-enable-aarch64.patch [deleted file]
package/mplayer/mplayer.hash
package/mplayer/mplayer.mk

index 644d292eb9c4cef322094d46662e7edfb25325aa..1bd1dc00ae7a33ee9f32b1e42c39e5cc20ef571e 100644 (file)
@@ -4,21 +4,20 @@ Using the -s option of install does not work, as it uses the host
 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"
diff --git a/package/mplayer/0002-fix-cc-parsing.patch b/package/mplayer/0002-fix-cc-parsing.patch
deleted file mode 100644 (file)
index a3ba03f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-[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)
diff --git a/package/mplayer/0002-mpdemux-live555-async-interface.patch b/package/mplayer/0002-mpdemux-live555-async-interface.patch
new file mode 100644 (file)
index 0000000..5a62a18
--- /dev/null
@@ -0,0 +1,126 @@
+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
+
diff --git a/package/mplayer/0003-mpdemux-live555-async-interface.patch b/package/mplayer/0003-mpdemux-live555-async-interface.patch
deleted file mode 100644 (file)
index 5a62a18..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-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
-
diff --git a/package/mplayer/0004-add-arc-support.patch b/package/mplayer/0004-add-arc-support.patch
deleted file mode 100644 (file)
index c14ef23..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- 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"
diff --git a/package/mplayer/0005-Support-newer-GIFLIB-versions.patch b/package/mplayer/0005-Support-newer-GIFLIB-versions.patch
deleted file mode 100644 (file)
index a439489..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-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
-
diff --git a/package/mplayer/0006-Support-newer-GIFLIB-versions-part2.patch b/package/mplayer/0006-Support-newer-GIFLIB-versions-part2.patch
deleted file mode 100644 (file)
index 271dce8..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-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
diff --git a/package/mplayer/0007-mplayer-enable-aarch64.patch b/package/mplayer/0007-mplayer-enable-aarch64.patch
deleted file mode 100644 (file)
index dc59f5f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-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"
-
-
index f1f9aca653fb60b631b7c45a1ad59c26da0a26db..49c56316bf0f316b83cf36a47414d2a8542ebd26 100644 (file)
@@ -1,4 +1,4 @@
-# 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
index 5a46aa3c2f7e503879eb1407a88b8eff4816a684..bab7ed75d3e0d1f14840fbf0e231c0e2496bfe7b 100644 (file)
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-MPLAYER_VERSION = 1.1.1
+MPLAYER_VERSION = 1.2
 MPLAYER_SOURCE = MPlayer-$(MPLAYER_VERSION).tar.xz
 MPLAYER_SITE = http://www.mplayerhq.hu/MPlayer/releases
 
@@ -107,7 +107,6 @@ MPLAYER_CONF_OPTS += --disable-libcdio
 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
@@ -160,7 +159,7 @@ 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)