summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Andrews <candrews@gentoo.org>2018-11-05 14:12:44 -0500
committerCraig Andrews <candrews@gentoo.org>2018-11-05 14:15:18 -0500
commitcf68742d9375fd12be42f3da94aec4541096c16f (patch)
tree95a86833d99eef6fd4873d6e419274eb4ce0afa3 /www-plugins/freshplayerplugin
parentmedia-tv/kodi: No more generated addons for Kodi 18 (diff)
downloadgentoo-cf68742d9375fd12be42f3da94aec4541096c16f.tar.gz
gentoo-cf68742d9375fd12be42f3da94aec4541096c16f.tar.bz2
gentoo-cf68742d9375fd12be42f3da94aec4541096c16f.zip
www-plugins/freshplayerplugin: Fix building with >=media-video/ffmpeg-4.0
Closes: https://bugs.gentoo.org/654830 Package-Manager: Portage-2.3.51, Repoman-2.3.12 Signed-off-by: Craig Andrews <candrews@gentoo.org>
Diffstat (limited to 'www-plugins/freshplayerplugin')
-rw-r--r--www-plugins/freshplayerplugin/files/freshplayerplugin-0.3.9-ffmpeg-4.patch74
-rw-r--r--www-plugins/freshplayerplugin/freshplayerplugin-0.3.9.ebuild8
2 files changed, 80 insertions, 2 deletions
diff --git a/www-plugins/freshplayerplugin/files/freshplayerplugin-0.3.9-ffmpeg-4.patch b/www-plugins/freshplayerplugin/files/freshplayerplugin-0.3.9-ffmpeg-4.patch
new file mode 100644
index 000000000000..15d713bc4e90
--- /dev/null
+++ b/www-plugins/freshplayerplugin/files/freshplayerplugin-0.3.9-ffmpeg-4.patch
@@ -0,0 +1,74 @@
+From 934aa9c24d34f8203744b56e4ac6e8599446ca02 Mon Sep 17 00:00:00 2001
+From: Rinat Ibragimov <ibragimovrinat@mail.ru>
+Date: Tue, 26 Dec 2017 16:16:39 +0300
+Subject: [PATCH] ppb_video_decoder: use AV_ prefixed macros
+
+Looks like newer FFmpeg versions have droped old definitions.
+---
+ cmake/ffmpeg-compat/CMakeLists.txt | 1 +
+ cmake/ffmpeg-compat/cfg_avcodecflags.c | 4 ++++
+ cmake/ffmpeg-compat/ffmpeg_compat.h.in | 1 +
+ src/ppb_video_decoder.c | 11 ++++++++---
+ 4 files changed, 14 insertions(+), 3 deletions(-)
+ create mode 100644 cmake/ffmpeg-compat/cfg_avcodecflags.c
+
+diff --git a/cmake/ffmpeg-compat/CMakeLists.txt b/cmake/ffmpeg-compat/CMakeLists.txt
+index 732a71ee..8f67c581 100644
+--- a/cmake/ffmpeg-compat/CMakeLists.txt
++++ b/cmake/ffmpeg-compat/CMakeLists.txt
+@@ -29,6 +29,7 @@ MACRO_C_SOURCE_CHECK(cfg_av_pix_fmt_vdpau.c HAVE_AV_PIX_FMT_VDPAU)
+ MACRO_C_SOURCE_CHECK(cfg_avcodecid.c HAVE_AVCodecID)
+ MACRO_C_SOURCE_CHECK(cfg_avcodeccontext_get_buffer2.c HAVE_AVCodecContext_get_buffer2)
+ MACRO_C_SOURCE_CHECK(cfg_AVVDPAUContext.c HAVE_AVVDPAUContext)
++MACRO_C_SOURCE_CHECK(cfg_avcodecflags.c HAVE_AV_CODEC_FLAGS)
+
+ MACRO_SYMBOL_CHECK(av_frame_alloc "libavcodec/avcodec.h" HAVE_av_frame_alloc)
+ MACRO_SYMBOL_CHECK(av_frame_free "libavcodec/avcodec.h" HAVE_av_frame_free)
+diff --git a/cmake/ffmpeg-compat/cfg_avcodecflags.c b/cmake/ffmpeg-compat/cfg_avcodecflags.c
+new file mode 100644
+index 00000000..d04de55b
+--- /dev/null
++++ b/cmake/ffmpeg-compat/cfg_avcodecflags.c
+@@ -0,0 +1,4 @@
++#include <libavcodec/avcodec.h>
++int main(void) {
++ return AV_CODEC_FLAG_TRUNCATED + AV_CODEC_CAP_TRUNCATED;
++}
+diff --git a/cmake/ffmpeg-compat/ffmpeg_compat.h.in b/cmake/ffmpeg-compat/ffmpeg_compat.h.in
+index dd40922c..da7834b1 100644
+--- a/cmake/ffmpeg-compat/ffmpeg_compat.h.in
++++ b/cmake/ffmpeg-compat/ffmpeg_compat.h.in
+@@ -6,3 +6,4 @@
+ #define HAVE_av_frame_free (@HAVE_av_frame_free@)
+ #define HAVE_avcodec_free_context (@HAVE_avcodec_free_context@)
+ #define HAVE_AVVDPAUContext (@HAVE_AVVDPAUContext@)
++#define HAVE_AV_CODEC_FLAGS (@HAVE_AV_CODEC_FLAGS@)
+diff --git a/src/ppb_video_decoder.c b/src/ppb_video_decoder.c
+index eb150725..23647cdd 100644
+--- a/src/ppb_video_decoder.c
++++ b/src/ppb_video_decoder.c
+@@ -70,6 +70,11 @@
+ #define AV_CODEC_ID_H264 CODEC_ID_H264
+ #endif // !HAVE_AVCodecID
+
++#if !HAVE_AV_CODEC_FLAGS
++#define AV_CODEC_CAP_TRUNCATED CODEC_CAP_TRUNCATED
++#define AV_CODEC_FLAG_TRUNCATED CODEC_FLAG_TRUNCATED
++#endif // !HAVE_AV_CODEC_FLAGS
++
+ enum hwdec_api_e {
+ HWDEC_NONE = 0,
+ HWDEC_VAAPI,
+@@ -620,9 +625,9 @@ initialize_decoder(struct pp_video_decoder_s *vd)
+ goto err;
+ }
+
+- if (vd->avcodec->capabilities & CODEC_CAP_TRUNCATED) {
+- trace_info("%s, codec have CODEC_CAP_TRUNCATED\n", __func__);
+- vd->avctx->flags |= CODEC_FLAG_TRUNCATED;
++ if (vd->avcodec->capabilities & AV_CODEC_CAP_TRUNCATED) {
++ trace_info("%s, codec have AV_CODEC_CAP_TRUNCATED\n", __func__);
++ vd->avctx->flags |= AV_CODEC_FLAG_TRUNCATED;
+ }
+
+ vd->avctx->opaque = vd;
diff --git a/www-plugins/freshplayerplugin/freshplayerplugin-0.3.9.ebuild b/www-plugins/freshplayerplugin/freshplayerplugin-0.3.9.ebuild
index ea0561a19573..ffb3b7a382cb 100644
--- a/www-plugins/freshplayerplugin/freshplayerplugin-0.3.9.ebuild
+++ b/www-plugins/freshplayerplugin/freshplayerplugin-0.3.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -54,7 +54,11 @@ RDEPEND="${COMMON_DEPEND}
www-plugins/adobe-flash:22[abi_x86_64,ppapi(+)]
"
-PATCHES=( "${FILESDIR}/0.3.5-cmake.patch" "${FILESDIR}/0.3.9-ioctl.patch" )
+PATCHES=(
+ "${FILESDIR}/0.3.5-cmake.patch"
+ "${FILESDIR}/0.3.9-ioctl.patch"
+ "${FILESDIR}/${P}-ffmpeg-4.patch"
+)
DOCS=( ChangeLog data/freshwrapper.conf.example README.md )
src_configure() {