summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Sutton2018-05-14 16:48:01 +0100
committerPeter Sutton2018-05-14 16:48:01 +0100
commitc470a0e2acf738accf6278b908d0423f5f729598 (patch)
tree546d7a2a5e36b2c0d4f439ace9b09c3adca4f1f6
parent2f80d5f24ecfc72aa9635a34b6b1b41f1d6e28e2 (diff)
downloadaur-c470a0e2acf738accf6278b908d0423f5f729598.tar.gz
Patch to work with latest ffmpeg
-rw-r--r--.SRCINFO10
-rw-r--r--318.patch92
-rw-r--r--PKGBUILD14
3 files changed, 109 insertions, 7 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b2af2fa1cd4d..ffec16870043 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = pangolin-git
pkgdesc = Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.
- pkgver = 2017.10.07
- pkgrel = 2
+ pkgver = r1610.c2a6ef5
+ pkgrel = 1
url = https://github.com/stevenlovegrove/Pangolin
arch = x86_64
license = MIT
@@ -23,9 +23,11 @@ pkgbase = pangolin-git
provides = pangolin
conflicts = pangolin
source = LICENSE
+ source = 318.patch
source = pangolin::git+https://github.com/stevenlovegrove/Pangolin.git
- md5sums = 4e1a0885cb682d59abd660ae471481aa
- md5sums = SKIP
+ sha256sums = fe25815547bcad7ff6d9ab12a381f64c0ef57e9fbb06cb831e9becdd22fde7c7
+ sha256sums = 13e2dfe72209656e309e3d767e021f8c341326bec1c2a579aef5a610dab9efe6
+ sha256sums = SKIP
pkgname = pangolin-git
diff --git a/318.patch b/318.patch
new file mode 100644
index 000000000000..29e8ddd90731
--- /dev/null
+++ b/318.patch
@@ -0,0 +1,92 @@
+From b56a041ca1586ebaac0659892e5ba381e0a4288d Mon Sep 17 00:00:00 2001
+From: ericb <eric.bachard@free.fr>
+Date: Wed, 3 Jan 2018 18:46:31 +0100
+Subject: [PATCH] Proposed fix for the Linux (maybe other OSs) issue, because
+ of deprecated CONSTANTS
+
+---
+ CMakeModules/FindFFMPEG.cmake | 4 ++--
+ src/video/drivers/ffmpeg.cpp | 12 ++++++++++++
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeModules/FindFFMPEG.cmake b/CMakeModules/FindFFMPEG.cmake
+index 4f77e5a6..0f3b6cb8 100644
+--- a/CMakeModules/FindFFMPEG.cmake
++++ b/CMakeModules/FindFFMPEG.cmake
+@@ -60,8 +60,8 @@ IF(AVCODEC_INCLUDE_DIR AND AVFORMAT_INCLUDE_DIR AND AVUTIL_INCLUDE_DIR AND SWSCA
+ CHECK_CXX_SOURCE_COMPILES(
+ "#include \"${AVCODEC_INCLUDE_DIR}/libavformat/avformat.h\"
+ int main() {
+- sizeof(AVFormatContext::max_analyze_duration2);
+- }" HAVE_FFMPEG_MAX_ANALYZE_DURATION2
++ sizeof(AVFormatContext::max_analyze_duration);
++ }" HAVE_FFMPEG_MAX_ANALYZE_DURATION
+ )
+ CHECK_CXX_SOURCE_COMPILES(
+ "#include \"${AVCODEC_INCLUDE_DIR}/libavformat/avformat.h\"
+diff --git a/src/video/drivers/ffmpeg.cpp b/src/video/drivers/ffmpeg.cpp
+index f0aa6ad5..efd48ddc 100644
+--- a/src/video/drivers/ffmpeg.cpp
++++ b/src/video/drivers/ffmpeg.cpp
+@@ -40,6 +40,8 @@ extern "C"
+ #include <libavutil/mathematics.h>
+ }
+
++#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
++
+ namespace pangolin
+ {
+
+@@ -80,8 +82,10 @@ std::string FfmpegFmtToString(const AVPixelFormat fmt)
+ TEST_PIX_FMT_RETURN(YUVJ420P);
+ TEST_PIX_FMT_RETURN(YUVJ422P);
+ TEST_PIX_FMT_RETURN(YUVJ444P);
++#ifdef FF_API_XVMC
+ TEST_PIX_FMT_RETURN(XVMC_MPEG2_MC);
+ TEST_PIX_FMT_RETURN(XVMC_MPEG2_IDCT);
++#endif
+ TEST_PIX_FMT_RETURN(UYVY422);
+ TEST_PIX_FMT_RETURN(UYYVYY411);
+ TEST_PIX_FMT_RETURN(BGR8);
+@@ -101,11 +105,13 @@ std::string FfmpegFmtToString(const AVPixelFormat fmt)
+ TEST_PIX_FMT_RETURN(YUV440P);
+ TEST_PIX_FMT_RETURN(YUVJ440P);
+ TEST_PIX_FMT_RETURN(YUVA420P);
++#ifdef FF_API_VDPAU
+ TEST_PIX_FMT_RETURN(VDPAU_H264);
+ TEST_PIX_FMT_RETURN(VDPAU_MPEG1);
+ TEST_PIX_FMT_RETURN(VDPAU_MPEG2);
+ TEST_PIX_FMT_RETURN(VDPAU_WMV3);
+ TEST_PIX_FMT_RETURN(VDPAU_VC1);
++#endif
+ TEST_PIX_FMT_RETURN(RGB48BE );
+ TEST_PIX_FMT_RETURN(RGB48LE );
+ TEST_PIX_FMT_RETURN(RGB565BE);
+@@ -125,7 +131,9 @@ std::string FfmpegFmtToString(const AVPixelFormat fmt)
+ TEST_PIX_FMT_RETURN(YUV422P16BE);
+ TEST_PIX_FMT_RETURN(YUV444P16LE);
+ TEST_PIX_FMT_RETURN(YUV444P16BE);
++#ifdef FF_API_VDPAU
+ TEST_PIX_FMT_RETURN(VDPAU_MPEG4);
++#endif
+ TEST_PIX_FMT_RETURN(DXVA2_VLD);
+ TEST_PIX_FMT_RETURN(RGB444BE);
+ TEST_PIX_FMT_RETURN(RGB444LE);
+@@ -578,6 +586,7 @@ void FfmpegVideoOutputStream::WriteFrame(AVFrame* frame)
+ int ret;
+ int got_packet = 1;
+
++#if FF_API_LAVF_FMT_RAWPICTURE
+ // Setup AVPacket
+ if (recorder.oc->oformat->flags & AVFMT_RAWPICTURE) {
+ /* Raw video case - directly store the picture in the packet */
+@@ -587,6 +596,9 @@ void FfmpegVideoOutputStream::WriteFrame(AVFrame* frame)
+ pkt.pts = frame->pts;
+ ret = 0;
+ } else {
++#else
++ {
++#endif
+ /* encode the image */
+ #if (LIBAVFORMAT_VERSION_MAJOR >= 54)
+ ret = avcodec_encode_video2(stream->codec, &pkt, frame, &got_packet);
diff --git a/PKGBUILD b/PKGBUILD
index 657125789b63..bb10aaf1f8c1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Peter Sutton <foxxy@foxdogstudios.com>
pkgname=pangolin-git
-pkgver=2017.10.07
-pkgrel=2
+pkgver=r1610.c2a6ef5
+pkgrel=1
pkgdesc="Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input."
arch=(x86_64)
url="https://github.com/stevenlovegrove/Pangolin"
@@ -34,16 +34,24 @@ options=()
install=
source=(
'LICENSE'
+ '318.patch'
'pangolin::git+https://github.com/stevenlovegrove/Pangolin.git'
)
noextract=()
-md5sums=('4e1a0885cb682d59abd660ae471481aa' 'SKIP')
+sha256sums=('fe25815547bcad7ff6d9ab12a381f64c0ef57e9fbb06cb831e9becdd22fde7c7'
+ '13e2dfe72209656e309e3d767e021f8c341326bec1c2a579aef5a610dab9efe6'
+ 'SKIP')
pkgver() {
cd "$srcdir/${pkgname%-git}"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
+prepare() {
+ cd "$srcdir/${pkgname%-git}"
+ git apply "$srcdir/318.patch"
+}
+
build() {
cd "$srcdir/${pkgname%-git}"
mkdir build