multimedia/webcamoid: Update 8.1.0 -> 8.5.0
Reported by: portscout
This commit is contained in:
parent
8dcace9106
commit
f459433d44
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=494857
@ -1,8 +1,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= webcamoid
|
||||
DISTVERSION= 8.1.0
|
||||
PORTREVISION= 9
|
||||
DISTVERSION= 8.5.0
|
||||
CATEGORIES= multimedia
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
@ -18,20 +17,17 @@ LIB_DEPENDS= libasound.so:audio/alsa-lib \
|
||||
libpulse.so:audio/pulseaudio \
|
||||
libv4l2.so:multimedia/libv4l
|
||||
|
||||
USES= pkgconfig qmake qt:5
|
||||
USES= gl gnome pkgconfig qmake qt:5
|
||||
USE_GITHUB= yes
|
||||
USE_GNOME= glib20
|
||||
USE_GSTREAMER1= yes
|
||||
USE_GL= gl
|
||||
USE_QT= concurrent core declarative gui multimedia network opengl svg widgets buildtools_build quickcontrols_run
|
||||
USE_QT= concurrent core declarative gui multimedia network opengl quickcontrols2 svg widgets xml buildtools_build
|
||||
|
||||
MAKE_ENV= NOOSS=1 # NOOSS is because the OSS module attempts to use kevent on OSS devices, which is broken in the base
|
||||
QMAKE_ARGS= INSTALLQMLDIR=${QT_QMLDIR} \
|
||||
MANDIR=${PREFIX}/man
|
||||
|
||||
# Workaround for the crash when built with clang that the upstream author says is a bug in clang
|
||||
USE_GCC= yes
|
||||
|
||||
# Workaround for Bug#224137: devel/qt5-qmake: Doesn't use the right compiler in case USE_GCC is selected
|
||||
BINARY_ALIAS= g++=${CXX}
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1512092375
|
||||
SHA256 (webcamoid-webcamoid-8.1.0_GH0.tar.gz) = 2e51731c36a86a4b3e323c11000a04b7ce06b5d228519676f4070e44e2a62947
|
||||
SIZE (webcamoid-webcamoid-8.1.0_GH0.tar.gz) = 10062681
|
||||
TIMESTAMP = 1551890419
|
||||
SHA256 (webcamoid-webcamoid-8.5.0_GH0.tar.gz) = b45ac278cd7e487031052fe4fd61a2de23a2d7ee10a76c80459be127abdcaec2
|
||||
SIZE (webcamoid-webcamoid-8.5.0_GH0.tar.gz) = 8697016
|
||||
|
@ -1,156 +0,0 @@
|
||||
https://github.com/webcamoid/webcamoid/commit/52fbf8376085
|
||||
https://github.com/webcamoid/webcamoid/commit/0ee66c7dd24b
|
||||
|
||||
--- libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.cpp.orig 2017-10-09 06:45:30 UTC
|
||||
+++ libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.cpp
|
||||
@@ -62,7 +62,7 @@ AbstractStream::AbstractStream(const AVFormatContext *
|
||||
|
||||
// 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;
|
||||
|
||||
--- libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.h.orig 2017-10-09 06:45:30 UTC
|
||||
+++ 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
|
||||
--- libAvKys/Plugins/MultiSink/src/ffmpeg/src/audiostream.cpp.orig 2017-10-09 06:45:30 UTC
|
||||
+++ libAvKys/Plugins/MultiSink/src/ffmpeg/src/audiostream.cpp
|
||||
@@ -267,7 +267,7 @@ void AudioStream::convertPacket(const AkPacket &packet
|
||||
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 *frame)
|
||||
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;
|
||||
--- libAvKys/Plugins/MultiSink/src/ffmpeg/src/mediawriterffmpeg.cpp.orig 2017-10-09 06:45:30 UTC
|
||||
+++ 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;
|
||||
|
||||
--- libAvKys/Plugins/MultiSink/src/ffmpeg/src/videostream.cpp.orig 2017-10-09 06:45:30 UTC
|
||||
+++ libAvKys/Plugins/MultiSink/src/ffmpeg/src/videostream.cpp
|
||||
@@ -273,8 +273,10 @@ int VideoStream::encodeData(AVFrame *frame)
|
||||
{
|
||||
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 *frame)
|
||||
|
||||
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 *frame)
|
||||
|
||||
return 0;
|
||||
}
|
||||
+#endif
|
||||
|
||||
// encode the image
|
||||
#ifdef HAVE_SENDRECV
|
||||
--- libAvKys/Plugins/MultiSrc/src/ffmpeg/src/abstractstream.cpp.orig 2017-10-09 06:45:30 UTC
|
||||
+++ libAvKys/Plugins/MultiSrc/src/ffmpeg/src/abstractstream.cpp
|
||||
@@ -96,8 +96,10 @@ AbstractStream::AbstractStream(const AVFormatContext *
|
||||
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);
|
||||
}
|
||||
--- libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.cpp.orig 2017-10-09 06:45:30 UTC
|
||||
+++ libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.cpp
|
||||
@@ -219,11 +219,13 @@ bool ConvertVideoFFmpeg::init(const AkCaps &caps)
|
||||
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();
|
||||
--- libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.h.orig 2017-10-09 06:45:30 UTC
|
||||
+++ libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.h
|
||||
@@ -33,6 +33,12 @@ extern "C"
|
||||
#include <libavutil/imgutils.h>
|
||||
#include <libavutil/pixdesc.h>
|
||||
#include <libavutil/mem.h>
|
||||
+ #ifndef AV_CODEC_CAP_TRUNCATED
|
||||
+ #define AV_CODEC_CAP_TRUNCATED CODEC_CAP_TRUNCATED
|
||||
+ #endif
|
||||
+ #ifndef AV_CODEC_FLAG_TRUNCATED
|
||||
+ #define AV_CODEC_FLAG_TRUNCATED CODEC_FLAG_TRUNCATED
|
||||
+ #endif
|
||||
}
|
||||
|
||||
#include "convertvideo.h"
|
@ -1,53 +1,51 @@
|
||||
--- libAvKys/Plugins/VideoCapture/src/v4l2sys/src/capturev4l2.cpp.orig 2017-10-09 06:45:30 UTC
|
||||
--- libAvKys/Plugins/VideoCapture/src/v4l2sys/src/capturev4l2.cpp.orig 2019-03-06 17:26:33 UTC
|
||||
+++ libAvKys/Plugins/VideoCapture/src/v4l2sys/src/capturev4l2.cpp
|
||||
@@ -60,12 +60,15 @@ inline IoMethodMap initIoMethodMap()
|
||||
|
||||
Q_GLOBAL_STATIC_WITH_ARGS(IoMethodMap, ioMethodToStr, (initIoMethodMap()))
|
||||
@@ -162,10 +162,13 @@ class CaptureV4L2Private
|
||||
const QVariantMap &map2) const;
|
||||
};
|
||||
|
||||
+#define FREEBSD_BUG224011_VIDEO0
|
||||
+
|
||||
CaptureV4L2::CaptureV4L2(QObject *parent):
|
||||
Capture(parent)
|
||||
{
|
||||
this->m_id = -1;
|
||||
this->m_ioMethod = IoMethodUnknown;
|
||||
this->m_nBuffers = 32;
|
||||
this->d = new CaptureV4L2Private(this);
|
||||
+#if !defined(FREEBSD_BUG224011_VIDEO0)
|
||||
this->m_fsWatcher = new QFileSystemWatcher({"/dev"}, this);
|
||||
this->d->m_fsWatcher = new QFileSystemWatcher({"/dev"}, this);
|
||||
|
||||
QObject::connect(this->m_fsWatcher,
|
||||
@@ -76,13 +79,15 @@ CaptureV4L2::CaptureV4L2(QObject *parent
|
||||
QObject::connect(this->d->m_fsWatcher,
|
||||
@@ -176,13 +179,16 @@ CaptureV4L2::CaptureV4L2(QObject *parent
|
||||
&QFileSystemWatcher::fileChanged,
|
||||
this,
|
||||
&CaptureV4L2::onFileChanged);
|
||||
-
|
||||
+#endif
|
||||
|
||||
this->updateDevices();
|
||||
}
|
||||
|
||||
CaptureV4L2::~CaptureV4L2()
|
||||
{
|
||||
+#if !defined(FREEBSD_BUG224011_VIDEO0)
|
||||
delete this->m_fsWatcher;
|
||||
delete this->d->m_fsWatcher;
|
||||
+#endif
|
||||
delete this->d;
|
||||
}
|
||||
|
||||
QStringList CaptureV4L2::webcams() const
|
||||
@@ -1176,13 +1181,16 @@ void CaptureV4L2::updateDevices()
|
||||
this->m_cameraControls = cameraControls;
|
||||
@@ -1302,13 +1308,17 @@ void CaptureV4L2::updateDevices()
|
||||
this->d->m_devicesCaps = devicesCaps;
|
||||
|
||||
if (this->m_devices != devices) {
|
||||
if (this->d->m_devices != devices) {
|
||||
+#if !defined(FREEBSD_BUG224011_VIDEO0)
|
||||
if (!this->m_devices.isEmpty())
|
||||
this->m_fsWatcher->removePaths(this->m_devices);
|
||||
-
|
||||
+#endif
|
||||
this->m_devices = devices;
|
||||
|
||||
+#if !defined(FREEBSD_BUG224011_VIDEO0)
|
||||
if (!this->m_devices.isEmpty())
|
||||
this->m_fsWatcher->addPaths(this->m_devices);
|
||||
if (!this->d->m_devices.isEmpty())
|
||||
this->d->m_fsWatcher->removePaths(this->d->m_devices);
|
||||
+#endif
|
||||
|
||||
emit this->webcamsChanged(this->m_devices);
|
||||
this->d->m_devices = devices;
|
||||
|
||||
+#if !defined(FREEBSD_BUG224011_VIDEO0)
|
||||
if (!this->d->m_devices.isEmpty())
|
||||
this->d->m_fsWatcher->addPaths(this->d->m_devices);
|
||||
+#endif
|
||||
|
||||
emit this->webcamsChanged(this->d->m_devices);
|
||||
}
|
||||
|
@ -61,6 +61,7 @@ lib/avkys/libWarp.so
|
||||
lib/avkys/libWave.so
|
||||
lib/avkys/submodules/ACapsConvert/libffmpegav.so
|
||||
lib/avkys/submodules/ACapsConvert/libffmpegsw.so
|
||||
lib/avkys/submodules/ACapsConvert/libgstreamer.so
|
||||
lib/avkys/submodules/AudioDevice/libalsa.so
|
||||
lib/avkys/submodules/AudioDevice/libjack.so
|
||||
lib/avkys/submodules/AudioDevice/liboss.so
|
||||
@ -75,17 +76,12 @@ lib/avkys/submodules/VideoCapture/libffmpeg.so
|
||||
lib/avkys/submodules/VideoCapture/libgstreamer.so
|
||||
lib/avkys/submodules/VideoCapture/libv4l2sys.so
|
||||
lib/avkys/submodules/VideoCapture/libv4lutils.so
|
||||
lib/avkys/submodules/VirtualCamera/libffmpeg.so
|
||||
lib/avkys/submodules/VirtualCamera/libgstreamer.so
|
||||
lib/avkys/submodules/VirtualCamera/libv4l2sys.so
|
||||
lib/avkys/submodules/VirtualCamera/libv4lutils.so
|
||||
lib/libavkys.so
|
||||
lib/libavkys.so.8
|
||||
lib/libavkys.so.8.1
|
||||
lib/libavkys.so.8.1.0
|
||||
lib/libavkys.so.8.5
|
||||
lib/libavkys.so.8.5.0
|
||||
%%QT_QMLDIR%%/AkQml/libAkQml.so
|
||||
%%QT_QMLDIR%%/AkQml/qmldir
|
||||
man/man1/webcamoid.1.gz
|
||||
share/applications/webcamoid.desktop
|
||||
share/icons/hicolor/128x128/apps/webcamoid.png
|
||||
share/icons/hicolor/16x16/apps/webcamoid.png
|
||||
|
Loading…
Reference in New Issue
Block a user