Date: Wednesday, February 17, 2016 @ 10:19:38
  Author: arojas
Revision: 259892

ffmpeg 3.0 rebuild

Added:
  moc/trunk/moc-ffmpeg3.patch
Modified:
  moc/trunk/PKGBUILD

-------------------+
 PKGBUILD          |   13 +++++-
 moc-ffmpeg3.patch |  102 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 112 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2016-02-17 09:11:03 UTC (rev 259891)
+++ PKGBUILD    2016-02-17 09:19:38 UTC (rev 259892)
@@ -3,7 +3,7 @@
 
 pkgname=moc
 pkgver=2.5.0
-pkgrel=3
+pkgrel=4
 epoch=1
 pkgdesc="An ncurses console audio player designed to be powerful and easy to 
use"
 arch=('i686' 'x86_64')
@@ -18,11 +18,18 @@
             'wavpack: for using the wavpack plugin'
             'faad2: for using the aac plugin'
            'libmodplug: for using the modplug plugin')
-source=(http://ftp.daper.net/pub/soft/moc/stable/${pkgname}-${pkgver}.tar.bz2{,.sig})
+source=(http://ftp.daper.net/pub/soft/moc/stable/${pkgname}-${pkgver}.tar.bz2{,.sig}
 moc-ffmpeg3.patch)
 sha1sums=('a02c10075541995771dbdccb7f2d0ecd19d70b81'
-          'SKIP')
+          'SKIP'
+          '7d997ac25041010837d5f3ec79920b8afeec87f7')
 validpgpkeys=('59359B80406D9E73E80599BEF3121E4F2885A7AA')
 
+prepare() {
+  cd $pkgname-$pkgver
+# Fix build with ffmpeg 3.0 (Debian)
+  patch -p1 -i ../moc-ffmpeg3.patch
+}
+
 build() {
   cd ${pkgname}-${pkgver}
   ./configure --prefix=/usr --without-rcc \

Added: moc-ffmpeg3.patch
===================================================================
--- moc-ffmpeg3.patch                           (rev 0)
+++ moc-ffmpeg3.patch   2016-02-17 09:19:38 UTC (rev 259892)
@@ -0,0 +1,102 @@
+--- moc-2.5.0.orig/configure.in
++++ moc-2.5.0/configure.in
+@@ -557,22 +557,6 @@ then
+       echo
+ fi
+ 
+-dnl
+-dnl  If the warning below gets reported, then for further guidance:
+-dnl
+-dnl         vi +/REQUEST_CHANNELS decoder_plugins/ffmpeg/ffmpeg.c
+-dnl
+-if test "x$want_ffmpeg" = "xyes" && \
+-   test "x$ac_cv_member_struct_AVCodecContext_request_channels" != "xyes"
+-then
+-      echo "WARNING: It appears that the FFmpeg/LibAV API has changed and no 
longer"
+-      echo "         supports downmixing to stereo as it did previously.  
Report"
+-      echo "         this message along with the output of 'ffmpeg -version' 
to"
+-      echo "         <$PACKAGE_BUGREPORT>.  Meanwhile, you may have to live 
without"
+-      echo "         stereo downmixing."
+-      echo
+-fi
+-
+ echo "WARNING: Since MOC version 2 the executable file name has changed to 
mocp!"
+ echo "         Please remove old moc binary if you have installed an older 
version."
+ echo
+--- moc-2.5.0.orig/decoder_plugins/ffmpeg/ffmpeg.c
++++ moc-2.5.0/decoder_plugins/ffmpeg/ffmpeg.c
+@@ -67,7 +67,7 @@ GCC_DIAG_OFF(deprecated-declarations)
+ GCC_DIAG_ON(deprecated-declarations)
+ #include <libavutil/mathematics.h>
+ #ifdef HAVE_AV_GET_CHANNEL_LAYOUT_NB_CHANNELS
+-#include <libavutil/audioconvert.h>
++#include <libavutil/channel_layout.h>
+ #endif
+ #else
+ #include <ffmpeg/avformat.h>
+@@ -823,17 +823,6 @@ static bool is_seek_broken (struct ffmpe
+       return false;
+ }
+ 
+-#ifdef HAVE_STRUCT_AVCODECCONTEXT_REQUEST_CHANNELS
+-/* This warning reset suppresses a deprecation warning message
+- * for the AVCodecContext's 'request_channels' field. */
+-GCC_DIAG_OFF(deprecated-declarations)
+-static inline void set_request_channels (AVCodecContext *enc, int channels)
+-{
+-      enc->request_channels = channels;
+-}
+-GCC_DIAG_ON(deprecated-declarations)
+-#endif
+-
+ /* Downmix multi-channel audios to stereo. */
+ static void set_downmixing (struct ffmpeg_data *data)
+ {
+@@ -847,30 +836,11 @@ static void set_downmixing (struct ffmpe
+ 
+       data->enc->channels = 2;
+ 
+-#ifdef HAVE_STRUCT_AVCODECCONTEXT_REQUEST_CHANNELS
+-
+-      /*
+-       * When FFmpeg breaks its API (and it will), this code will be
+-       * disabled and users will complain that MOC no longer downmixes
+-       * to stereo.  This is because the 'request_channels' field in
+-       * AVCodecContext is marked as deprecated (and so will probably
+-       * be removed at some time) but FFmpeg requires it to be set to
+-       * trigger downmixing (go figure!).  Currently, there is no
+-       * guidance on how it will work in the future, but looking at
+-       * where 's->downmixed' is set near the end of 'ac3_decode_init()'
+-       * in the FFmpeg's source code file 'libavcodec/ac3dec.c' might
+-       * help (in the absence of proper documentation).
+-       */
+-
+-      set_request_channels (data->enc, 2);
+-
+ #ifdef AV_CH_LAYOUT_STEREO_DOWNMIX
+       data->enc->request_channel_layout = AV_CH_LAYOUT_STEREO_DOWNMIX;
+ #else
+       data->enc->request_channel_layout = CH_LAYOUT_STEREO_DOWNMIX;
+ #endif
+-
+-#endif
+ }
+ 
+ static void *ffmpeg_open (const char *file)
+--- moc-2.5.0.orig/decoder_plugins/ffmpeg/ffmpeg.m4
++++ moc-2.5.0/decoder_plugins/ffmpeg/ffmpeg.m4
+@@ -51,14 +51,6 @@ then
+               save_LIBS="$LIBS"
+               LIBS="$LIBS $ffmpeg_LIBS"
+               AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
+-              if test "x$ac_cv_header_ffmpeg_avformat_h" = "xyes"
+-              then
+-                      AC_CHECK_MEMBERS([struct 
AVCodecContext.request_channels], [], [],
+-                                   [#include <ffmpeg/avcodec.h>])
+-              else
+-                      AC_CHECK_MEMBERS([struct 
AVCodecContext.request_channels], [], [],
+-                                   [#include <libavcodec/avcodec.h>])
+-              fi
+               AC_SEARCH_LIBS(avcodec_open2, avcodec,
+                       [AC_DEFINE([HAVE_AVCODEC_OPEN2], 1,
+                               [Define to 1 if you have the `avcodec_open2' 
function.])])

Reply via email to