[arch-commits] Commit in hedgewars/trunk (PKGBUILD hedgewars-ffmpeg3.patch)
Antonio Rojas
arojas at archlinux.org
Thu Feb 18 08:15:56 UTC 2016
Date: Thursday, February 18, 2016 @ 09:15:55
Author: arojas
Revision: 162224
ffmpeg 3.0 rebuild
Added:
hedgewars/trunk/hedgewars-ffmpeg3.patch
Modified:
hedgewars/trunk/PKGBUILD
-------------------------+
PKGBUILD | 10 ++++--
hedgewars-ffmpeg3.patch | 76 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 83 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2016-02-18 08:15:33 UTC (rev 162223)
+++ PKGBUILD 2016-02-18 08:15:55 UTC (rev 162224)
@@ -4,7 +4,7 @@
pkgname=hedgewars
pkgver=0.9.22
-pkgrel=5
+pkgrel=6
pkgdesc="Turn-based strategy artillery game similiar to Worms"
arch=('i686' 'x86_64')
url="http://hedgewars.org"
@@ -26,12 +26,16 @@
# for scaling the icon
'imagemagick')
install='hedgewars.install'
-source=("http://download.gna.org/hedgewars/${pkgname}-src-${pkgver}.tar.bz2")
-sha256sums=('b699c8971ff420c3edd6533527ae2e99040f1e79207c9140826945bcf0e62192')
+source=("http://download.gna.org/hedgewars/${pkgname}-src-${pkgver}.tar.bz2" hedgewars-ffmpeg3.patch)
+sha256sums=('b699c8971ff420c3edd6533527ae2e99040f1e79207c9140826945bcf0e62192'
+ '8c77091440f0e9c6ca365e160f56b2195a573dca206ee29d762ff6a35af84604')
prepare() {
cd ${pkgname}-src-${pkgver}
sed -i 's|instance NFData (Chan a)$|instance NFData (Chan a) where rnf x = seq x ()|' gameServer/CoreTypes.hs
+
+# Fix build with ffmpeg 3.0 (Debian)
+ patch -p1 -i ../hedgewars-ffmpeg3.patch
}
build() {
Added: hedgewars-ffmpeg3.patch
===================================================================
--- hedgewars-ffmpeg3.patch (rev 0)
+++ hedgewars-ffmpeg3.patch 2016-02-18 08:15:55 UTC (rev 162224)
@@ -0,0 +1,76 @@
+Description: Replace deprecated FFmpeg API
+Author: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+Last-Update: <2015-11-02>
+
+--- hedgewars-0.9.22-dfsg.orig/QTfrontend/util/LibavInteraction.cpp
++++ hedgewars-0.9.22-dfsg/QTfrontend/util/LibavInteraction.cpp
+@@ -106,8 +106,8 @@ LibavInteraction::LibavInteraction() : Q
+ if (!pCodec->pix_fmts)
+ continue;
+ bool yuv420Supported = false;
+- for (const PixelFormat* pfmt = pCodec->pix_fmts; *pfmt != -1; pfmt++)
+- if (*pfmt == PIX_FMT_YUV420P)
++ for (const AVPixelFormat* pfmt = pCodec->pix_fmts; *pfmt != -1; pfmt++)
++ if (*pfmt == AV_PIX_FMT_YUV420P)
+ {
+ yuv420Supported = true;
+ break;
+--- hedgewars-0.9.22-dfsg.orig/hedgewars/avwrapper/avwrapper.c
++++ hedgewars-0.9.22-dfsg/hedgewars/avwrapper/avwrapper.c
+@@ -158,7 +158,7 @@ static void AddAudioStream()
+ else
+ g_NumSamples = g_pAudio->frame_size;
+ g_pSamples = (int16_t*)av_malloc(g_NumSamples*g_Channels*sizeof(int16_t));
+- g_pAFrame = avcodec_alloc_frame();
++ g_pAFrame = av_frame_alloc();
+ if (!g_pAFrame)
+ {
+ Log("Could not allocate frame\n");
+@@ -241,7 +241,7 @@ static int AddVideoStream()
+ g_pVideo->time_base.den = g_Framerate.num;
+ g_pVideo->time_base.num = g_Framerate.den;
+ //g_pVideo->gop_size = 12; /* emit one intra frame every twelve frames at most */
+- g_pVideo->pix_fmt = PIX_FMT_YUV420P;
++ g_pVideo->pix_fmt = AV_PIX_FMT_YUV420P;
+
+ // set quality
+ if (g_VQuality > 100)
+@@ -299,7 +299,7 @@ static int AddVideoStream()
+ #endif
+ return FatalError("Could not open video codec %s", g_pVCodec->long_name);
+
+- g_pVFrame = avcodec_alloc_frame();
++ g_pVFrame = av_frame_alloc();
+ if (!g_pVFrame)
+ return FatalError("Could not allocate frame");
+
+@@ -317,10 +317,10 @@ static int WriteFrame(AVFrame* pFrame)
+ // write interleaved audio frame
+ if (g_pAStream)
+ {
+- VideoTime = (double)g_pVStream->pts.val*g_pVStream->time_base.num/g_pVStream->time_base.den;
++ VideoTime = (double)av_stream_get_end_pts(g_pVStream)*g_pVStream->time_base.num/g_pVStream->time_base.den;
+ do
+ {
+- AudioTime = (double)g_pAStream->pts.val*g_pAStream->time_base.num/g_pAStream->time_base.den;
++ AudioTime = (double)av_stream_get_end_pts(g_pAStream)*g_pAStream->time_base.num/g_pAStream->time_base.den;
+ ret = WriteAudioFrame();
+ }
+ while (AudioTime < VideoTime && ret);
+@@ -526,14 +526,14 @@ AVWRAP_DECL int AVWrapper_Close()
+ avcodec_close(g_pVideo);
+ av_free(g_pVideo);
+ av_free(g_pVStream);
+- av_free(g_pVFrame);
++ av_frame_free(&g_pVFrame);
+ }
+ if (g_pAStream)
+ {
+ avcodec_close(g_pAudio);
+ av_free(g_pAudio);
+ av_free(g_pAStream);
+- av_free(g_pAFrame);
++ av_frame_free(&g_pAFrame);
+ av_free(g_pSamples);
+ fclose(g_pSoundFile);
+ }
More information about the arch-commits
mailing list