summaryrefslogtreecommitdiff
path: root/media-video/webcamoid
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-11-18 09:38:27 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-11-18 09:38:27 +0000
commit536c3711867ec947c1738f2c4b96f22e4863322d (patch)
tree697733f5cb713908dcf378e13fd15a798a906a91 /media-video/webcamoid
parentf65628136faa35d0c4d3b5e7332275c7b35fcd96 (diff)
gentoo resync : 18.11.2018
Diffstat (limited to 'media-video/webcamoid')
-rw-r--r--media-video/webcamoid/Manifest3
-rw-r--r--media-video/webcamoid/files/webcamoid-8.1.0-ffmpeg-4.patch169
-rw-r--r--media-video/webcamoid/webcamoid-8.1.0.ebuild4
3 files changed, 174 insertions, 2 deletions
diff --git a/media-video/webcamoid/Manifest b/media-video/webcamoid/Manifest
index f9d3af7cc19a..7162b0df7102 100644
--- a/media-video/webcamoid/Manifest
+++ b/media-video/webcamoid/Manifest
@@ -1,3 +1,4 @@
+AUX webcamoid-8.1.0-ffmpeg-4.patch 7369 BLAKE2B 64c7e45b9b8b29efe6982dff8205eb30d51fbbca751fed9afca0644d571c2a99b9151130f90c7fbe3cc20d08b40ed5585cdd34e59cf405c71fd89e6b9fcf294d SHA512 0e91d8e5b85972ccb057ef56a847e8dbe48f09eaea6de3cb37a483f04dc2a79379ca847ce3e13701ff33b697e02db46c1786d79198f4476279e296acdf314d8e
DIST webcamoid-8.1.0.tar.gz 10062681 BLAKE2B e9501ace9ba42abdae4be4e9e689329b02796198fe2610ef3a404535d389a6aa7a7e540148548dd63ea6ba78c9b650b30f5497396e49b37d7ab06ca8708ad056 SHA512 6db53ed29288889c05955967d961b53fa0e4171aeed12cd1557829c26bb2e2031804319fcead4c5b888a695cfd84f531a27f992be56c38366076ff2945ec2dbb
-EBUILD webcamoid-8.1.0.ebuild 2150 BLAKE2B 07cccb730dafc0d1f576b38b3fc2896632ef651cc7774281948fc77d61fb31274a210ad8444da1d35acccb61e54f8d1eaa3bcf1624290053bc50cd31e7025797 SHA512 47b736f8fe4671f0bfa75a4b030eeae211a3bd36c69e4914d0db001cf1ba4a5a24c6848a6cb1bb8f47558e6764bb9f2f5cf6c6244e1916213ff2f06ff2dde449
+EBUILD webcamoid-8.1.0.ebuild 2194 BLAKE2B 56f685e00f74290e2d0e33c9551cd4a593fe7c8046479accc573b97396ae1845fdcbc3e0a4b3dc0c8332219699201c2bfe2493c8f5fc8889d9a92798f20ca664 SHA512 c6659577f769026b918c97f215ecbc7c9426b8243fcd06a69cae7ac21931b0f79189facd7011893347fcc6566d708f3db451c5e4da38964bb9ae1ff4d2bc61e7
MISC metadata.xml 784 BLAKE2B ce617d4a9bcbf3f8e4ce651fd673bf3c0015e13bc8814d4b4e97eaa4a6c5428553d4a314054315fd3dc8a6b1362b4a322a4af78745f3c3d2378e2e731bdc9ef9 SHA512 6518965213e9deffdb6163243865c9e37ec0a14b6e83558761ff27ad7984003be1b6c6518d455631cd2af29f663b6e91f60dd061151e63b3a4f5ad73e35df5cf
diff --git a/media-video/webcamoid/files/webcamoid-8.1.0-ffmpeg-4.patch b/media-video/webcamoid/files/webcamoid-8.1.0-ffmpeg-4.patch
new file mode 100644
index 000000000000..005d45255d32
--- /dev/null
+++ b/media-video/webcamoid/files/webcamoid-8.1.0-ffmpeg-4.patch
@@ -0,0 +1,169 @@
+Description: Patch to build with FFmpeg 4.0
+ https://github.com/webcamoid/webcamoid/pull/119/
+ commits/52fbf8376085aded2d87397be58cda6e209d3bb7
+Author: https://github.com/webcamoid/webcamoid/commits?author=jbeich
+Reviewed-By: Herbert Parentes Fortes Neto <hpfn@debian.org>
+Last-Update: 2018-07-21
+Index: webcamoid/libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.cpp
+===================================================================
+--- webcamoid.orig/libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.cpp
++++ webcamoid/libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.cpp
+@@ -62,7 +62,7 @@ AbstractStream::AbstractStream(const AVF
+
+ // Some formats want stream headers to be separate.
+ if (formatContext->oformat->flags & AVFMT_GLOBALHEADER)
+- this->m_codecContext->flags |= CODEC_FLAG_GLOBAL_HEADER;
++ this->m_codecContext->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+
+ this->m_codecContext->strict_std_compliance = CODEC_COMPLIANCE;
+
+Index: webcamoid/libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.h
+===================================================================
+--- webcamoid.orig/libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.h
++++ webcamoid/libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.h
+@@ -29,6 +29,15 @@ extern "C"
+ {
+ #include <libavformat/avformat.h>
+ #include <libavcodec/avcodec.h>
++ #ifndef AV_CODEC_CAP_EXPERIMENTAL
++ #define AV_CODEC_CAP_EXPERIMENTAL CODEC_CAP_EXPERIMENTAL
++ #endif
++ #ifndef AV_CODEC_CAP_VARIABLE_FRAME_SIZE
++ #define AV_CODEC_CAP_VARIABLE_FRAME_SIZE CODEC_CAP_VARIABLE_FRAME_SIZE
++ #endif
++ #ifndef AV_CODEC_FLAG_GLOBAL_HEADER
++ #define AV_CODEC_FLAG_GLOBAL_HEADER CODEC_FLAG_GLOBAL_HEADER
++ #endif
+ }
+
+ #define CODEC_COMPLIANCE FF_COMPLIANCE_VERY_STRICT
+Index: webcamoid/libAvKys/Plugins/MultiSink/src/ffmpeg/src/audiostream.cpp
+===================================================================
+--- webcamoid.orig/libAvKys/Plugins/MultiSink/src/ffmpeg/src/audiostream.cpp
++++ webcamoid/libAvKys/Plugins/MultiSink/src/ffmpeg/src/audiostream.cpp
+@@ -267,7 +267,7 @@ void AudioStream::convertPacket(const Ak
+ this->deleteFrame(&this->m_frame);
+ this->m_frame = oFrame;
+
+- if (codecContext->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE
++ if (codecContext->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE
+ || oFrame->nb_samples >= codecContext->frame_size) {
+ this->m_frameReady.wakeAll();
+ }
+@@ -280,7 +280,7 @@ int AudioStream::encodeData(AVFrame *fra
+ auto codecContext = this->codecContext();
+
+ if (!frame
+- && codecContext->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE)
++ && codecContext->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE)
+ return AVERROR_EOF;
+
+ if (frame) {
+@@ -366,7 +366,7 @@ AVFrame *AudioStream::dequeueFrame()
+ this->m_frameMutex.lock();
+
+ if (!this->m_frame
+- || (!(codecContext->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE)
++ || (!(codecContext->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE)
+ && this->m_frame->nb_samples < codecContext->frame_size)) {
+ if (!this->m_frameReady.wait(&this->m_frameMutex, THREAD_WAIT_LIMIT)) {
+ this->m_frameMutex.unlock();
+@@ -377,7 +377,7 @@ AVFrame *AudioStream::dequeueFrame()
+
+ AVFrame *oFrame = nullptr;
+
+- if (codecContext->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE
++ if (codecContext->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE
+ || this->m_frame->nb_samples == codecContext->frame_size) {
+ oFrame = this->m_frame;
+ this->m_frame = nullptr;
+Index: webcamoid/libAvKys/Plugins/MultiSink/src/ffmpeg/src/videostream.cpp
+===================================================================
+--- webcamoid.orig/libAvKys/Plugins/MultiSink/src/ffmpeg/src/videostream.cpp
++++ webcamoid/libAvKys/Plugins/MultiSink/src/ffmpeg/src/videostream.cpp
+@@ -273,8 +273,10 @@ int VideoStream::encodeData(AVFrame *fra
+ {
+ auto formatContext = this->formatContext();
+
++#ifdef AVFMT_RAWPICTURE
+ if (!frame && formatContext->oformat->flags & AVFMT_RAWPICTURE)
+ return AVERROR_EOF;
++#endif
+
+ auto codecContext = this->codecContext();
+
+@@ -300,6 +302,7 @@ int VideoStream::encodeData(AVFrame *fra
+
+ auto stream = this->stream();
+
++#ifdef AVFMT_RAWPICTURE
+ if (formatContext->oformat->flags & AVFMT_RAWPICTURE) {
+ // Raw video case - directly store the picture in the packet
+ AVPacket pkt;
+@@ -315,6 +318,7 @@ int VideoStream::encodeData(AVFrame *fra
+
+ return 0;
+ }
++#endif
+
+ // encode the image
+ #ifdef HAVE_SENDRECV
+Index: webcamoid/libAvKys/Plugins/MultiSrc/src/ffmpeg/src/abstractstream.cpp
+===================================================================
+--- webcamoid.orig/libAvKys/Plugins/MultiSrc/src/ffmpeg/src/abstractstream.cpp
++++ webcamoid/libAvKys/Plugins/MultiSrc/src/ffmpeg/src/abstractstream.cpp
+@@ -96,8 +96,10 @@ AbstractStream::AbstractStream(const AVF
+ this->m_codecContext->idct_algo = FF_IDCT_AUTO;
+ this->m_codecContext->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
+
++#ifdef CODEC_FLAG_EMU_EDGE
+ if (this->m_codec->capabilities & CODEC_CAP_DR1)
+ this->m_codecContext->flags |= CODEC_FLAG_EMU_EDGE;
++#endif
+
+ av_dict_set(&this->m_codecOptions, "refcounted_frames", "0", 0);
+ }
+Index: webcamoid/libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.cpp
+===================================================================
+--- webcamoid.orig/libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.cpp
++++ webcamoid/libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.cpp
+@@ -19,6 +19,10 @@
+
+ #include <QMetaEnum>
+
++#ifndef AV_CODEC_FLAG_TRUNCATED
++#define AV_CODEC_FLAG_TRUNCATED CODEC_FLAG_TRUNCATED
++#endif
++
+ #include "convertvideoffmpeg.h"
+
+ #define THREAD_WAIT_LIMIT 500
+@@ -219,11 +223,13 @@ bool ConvertVideoFFmpeg::init(const AkCa
+ if (!this->m_codecContext)
+ return false;
+
+- if (codec->capabilities & CODEC_CAP_TRUNCATED)
+- this->m_codecContext->flags |= CODEC_FLAG_TRUNCATED;
++ if (codec->capabilities & AV_CODEC_CAP_TRUNCATED)
++ this->m_codecContext->flags |= AV_CODEC_FLAG_TRUNCATED;
+
++#ifdef CODEC_FLAG_EMU_EDGE
+ if (codec->capabilities & CODEC_CAP_DR1)
+ this->m_codecContext->flags |= CODEC_FLAG_EMU_EDGE;
++#endif
+
+ this->m_codecContext->pix_fmt = rawToFF->value(fourcc, AV_PIX_FMT_NONE);
+ this->m_codecContext->width = caps.property("width").toInt();
+Index: webcamoid/libAvKys/Plugins/MultiSink/src/ffmpeg/src/mediawriterffmpeg.cpp
+===================================================================
+--- webcamoid.orig/libAvKys/Plugins/MultiSink/src/ffmpeg/src/mediawriterffmpeg.cpp
++++ webcamoid/libAvKys/Plugins/MultiSink/src/ffmpeg/src/mediawriterffmpeg.cpp
+@@ -251,7 +251,7 @@ class MediaWriterFFmpegGlobal
+ AVCodec *codec = nullptr;
+
+ while ((codec = av_codec_next(codec))) {
+- if (codec->capabilities & CODEC_CAP_EXPERIMENTAL
++ if (codec->capabilities & AV_CODEC_CAP_EXPERIMENTAL
+ && CODEC_COMPLIANCE > FF_COMPLIANCE_EXPERIMENTAL)
+ continue;
+
diff --git a/media-video/webcamoid/webcamoid-8.1.0.ebuild b/media-video/webcamoid/webcamoid-8.1.0.ebuild
index 50eb5018b024..0069489ecf2d 100644
--- a/media-video/webcamoid/webcamoid-8.1.0.ebuild
+++ b/media-video/webcamoid/webcamoid-8.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -50,6 +50,8 @@ DEPEND="${RDEPEND}
virtual/pkgconfig
"
+PATCHES=( "${FILESDIR}/${P}-ffmpeg-4.patch" )
+
src_prepare() {
local tsdir="${S}/StandAlone/share/ts"
local mylrelease="$(qt5_get_bindir)"/lrelease