mirror of
https://github.com/void-linux/void-packages.git
synced 2025-07-29 08:52:56 +02:00
hedgewars: fix build with ffmpeg>=3.0 (via Debian)
This commit is contained in:
parent
dc09f552ec
commit
3726e50ed5
2 changed files with 81 additions and 9 deletions
76
srcpkgs/hedgewars/patches/ffmpeg3.patch
Normal file
76
srcpkgs/hedgewars/patches/ffmpeg3.patch
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
Description: Replace deprecated FFmpeg API
|
||||||
|
Author: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
|
||||||
|
Last-Update: <2015-11-02>
|
||||||
|
|
||||||
|
--- QTfrontend/util/LibavInteraction.cpp
|
||||||
|
+++ 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/avwrapper/avwrapper.c
|
||||||
|
+++ 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);
|
||||||
|
}
|
|
@ -1,19 +1,15 @@
|
||||||
broken="ffmpeg 3.0"
|
|
||||||
|
|
||||||
# Template file for 'hedgewars'
|
# Template file for 'hedgewars'
|
||||||
pkgname=hedgewars
|
pkgname=hedgewars
|
||||||
version=0.9.22
|
version=0.9.22
|
||||||
revision=3
|
revision=3
|
||||||
wrksrc="${pkgname}-src-${version}"
|
wrksrc="${pkgname}-src-${version}"
|
||||||
build_style=cmake
|
build_style=cmake
|
||||||
configure_args="
|
configure_args="-DNOSERVER=1 -DDATA_INSTALL_DIR=/usr/share/${pkgname}
|
||||||
-DNOSERVER=1
|
-DPHYSFS_SYSTEM=1 -DCMAKE_VERBOSE_MAKEFILE=1 -DMINIMAL_FLAGS=1"
|
||||||
-DDATA_INSTALL_DIR=/usr/share/${pkgname}
|
|
||||||
-DPHYSFS_SYSTEM=1
|
|
||||||
"
|
|
||||||
hostmakedepends="lua51 pkg-config fpc qt-qmake"
|
hostmakedepends="lua51 pkg-config fpc qt-qmake"
|
||||||
makedepends="qt-devel SDL_net-devel SDL_mixer-devel SDL_image-devel SDL_ttf-devel lua51-devel physfs-devel libpng-devel ffmpeg-devel libfreeglut-devel"
|
makedepends="qt-devel SDL_net-devel SDL_mixer-devel SDL_image-devel SDL_ttf-devel
|
||||||
depends="dejavu-fonts-ttf hedgewars-data libfreeglut"
|
lua51-devel physfs-devel libpng-devel ffmpeg-devel libfreeglut-devel"
|
||||||
|
depends="hedgewars-data>=${version}_${revision} libfreeglut"
|
||||||
short_desc="Funny turn-based artillery game, featuring fighting Hedgehogs!"
|
short_desc="Funny turn-based artillery game, featuring fighting Hedgehogs!"
|
||||||
maintainer="Jakub Skrzypnik <jot.skrzyp@gmail.com>"
|
maintainer="Jakub Skrzypnik <jot.skrzyp@gmail.com>"
|
||||||
license="GPL-2"
|
license="GPL-2"
|
||||||
|
|
Loading…
Add table
Reference in a new issue