svn commit: r455418 - in head/multimedia: . webcamoid webcamoid/files

Yuri Victorovich yuri at FreeBSD.org
Sun Dec 3 17:55:35 UTC 2017


Author: yuri
Date: Sun Dec  3 17:55:33 2017
New Revision: 455418
URL: https://svnweb.freebsd.org/changeset/ports/455418

Log:
  New port: multimedia/webcamoid: Full featured webcam suite
  
  Approved by:	tcberner (mentor)
  Differential Revision:	https://reviews.freebsd.org/D13348

Added:
  head/multimedia/webcamoid/
  head/multimedia/webcamoid/Makefile   (contents, props changed)
  head/multimedia/webcamoid/distinfo   (contents, props changed)
  head/multimedia/webcamoid/files/
  head/multimedia/webcamoid/files/patch-libAvKys_Plugins_MultiSrc_src_multisrcelement.cpp   (contents, props changed)
  head/multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_v4l2sys_src_capturev4l2.cpp   (contents, props changed)
  head/multimedia/webcamoid/pkg-descr   (contents, props changed)
  head/multimedia/webcamoid/pkg-plist   (contents, props changed)
Modified:
  head/multimedia/Makefile

Modified: head/multimedia/Makefile
==============================================================================
--- head/multimedia/Makefile	Sun Dec  3 17:41:24 2017	(r455417)
+++ head/multimedia/Makefile	Sun Dec  3 17:55:33 2017	(r455418)
@@ -443,6 +443,7 @@
     SUBDIR += vtkmpeg2encode
     SUBDIR += w_scan
     SUBDIR += webcamd
+    SUBDIR += webcamoid
     SUBDIR += webvfx-qt5
     SUBDIR += win32-codecs
     SUBDIR += winff

Added: head/multimedia/webcamoid/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/webcamoid/Makefile	Sun Dec  3 17:55:33 2017	(r455418)
@@ -0,0 +1,30 @@
+# $FreeBSD$
+
+PORTNAME=	webcamoid
+DISTVERSION=	8.1.0
+CATEGORIES=	multimedia
+
+MAINTAINER=	yuri at FreeBSD.org
+COMMENT=	Full featured webcam suite
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+LIB_DEPENDS=	libasound.so:audio/alsa-lib \
+		libavcodec.so:multimedia/ffmpeg \
+		libjack.so:audio/jack \
+		libpulse.so:audio/pulseaudio \
+		libv4l2.so:multimedia/libv4l
+
+USES=		pkgconfig qmake
+USE_GITHUB=	yes
+USE_GNOME=	glib20
+USE_GSTREAMER1=	yes
+USE_GL=		gl
+USE_QT5=	concurrent core gui multimedia network opengl qml quick svg widgets 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
+
+.include <bsd.port.mk>

Added: head/multimedia/webcamoid/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/webcamoid/distinfo	Sun Dec  3 17:55:33 2017	(r455418)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1512092375
+SHA256 (webcamoid-webcamoid-8.1.0_GH0.tar.gz) = 2e51731c36a86a4b3e323c11000a04b7ce06b5d228519676f4070e44e2a62947
+SIZE (webcamoid-webcamoid-8.1.0_GH0.tar.gz) = 10062681

Added: head/multimedia/webcamoid/files/patch-libAvKys_Plugins_MultiSrc_src_multisrcelement.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/webcamoid/files/patch-libAvKys_Plugins_MultiSrc_src_multisrcelement.cpp	Sun Dec  3 17:55:33 2017	(r455418)
@@ -0,0 +1,21 @@
+--- libAvKys/Plugins/MultiSrc/src/multisrcelement.cpp.orig	2017-10-09 06:45:30 UTC
++++ libAvKys/Plugins/MultiSrc/src/multisrcelement.cpp
+@@ -201,9 +201,15 @@ void MultiSrcElement::codecLibUpdated(co
+     auto state = this->state();
+     this->setState(AkElement::ElementStateNull);
+ 
+-    auto media = this->m_mediaSource->media();
+-    auto loop = this->m_mediaSource->loop();
+-    auto showLog = this->m_mediaSource->showLog();
++    // crashes with these lines: https://github.com/webcamoid/webcamoid/issues/100
++    // auto media = this->m_mediaSource->media();
++    // auto loop = this->m_mediaSource->loop();
++    // auto showLog = this->m_mediaSource->showLog();
++
++    // workaround for the crash
++    QString media;
++    bool loop = true;
++    bool showLog = true;
+ 
+     this->m_mutexLib.lock();
+ 

Added: head/multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_v4l2sys_src_capturev4l2.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_v4l2sys_src_capturev4l2.cpp	Sun Dec  3 17:55:33 2017	(r455418)
@@ -0,0 +1,53 @@
+--- libAvKys/Plugins/VideoCapture/src/v4l2sys/src/capturev4l2.cpp.orig	2017-10-09 06:45:30 UTC
++++ libAvKys/Plugins/VideoCapture/src/v4l2sys/src/capturev4l2.cpp
+@@ -60,12 +60,15 @@ inline IoMethodMap initIoMethodMap()
+ 
+ Q_GLOBAL_STATIC_WITH_ARGS(IoMethodMap, ioMethodToStr, (initIoMethodMap()))
+ 
++#define FREEBSD_BUG224011_VIDEO0
++
+ CaptureV4L2::CaptureV4L2(QObject *parent):
+     Capture(parent)
+ {
+     this->m_id = -1;
+     this->m_ioMethod = IoMethodUnknown;
+     this->m_nBuffers = 32;
++#if !defined(FREEBSD_BUG224011_VIDEO0)
+     this->m_fsWatcher = new QFileSystemWatcher({"/dev"}, this);
+ 
+     QObject::connect(this->m_fsWatcher,
+@@ -76,13 +79,15 @@ CaptureV4L2::CaptureV4L2(QObject *parent
+                      &QFileSystemWatcher::fileChanged,
+                      this,
+                      &CaptureV4L2::onFileChanged);
+-
++#endif
+     this->updateDevices();
+ }
+ 
+ CaptureV4L2::~CaptureV4L2()
+ {
++#if !defined(FREEBSD_BUG224011_VIDEO0)
+     delete this->m_fsWatcher;
++#endif
+ }
+ 
+ QStringList CaptureV4L2::webcams() const
+@@ -1176,13 +1181,16 @@ void CaptureV4L2::updateDevices()
+     this->m_cameraControls = cameraControls;
+ 
+     if (this->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);
++#endif
+ 
+         emit this->webcamsChanged(this->m_devices);
+     }

Added: head/multimedia/webcamoid/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/webcamoid/pkg-descr	Sun Dec  3 17:55:33 2017	(r455418)
@@ -0,0 +1,17 @@
+Webcamoid is a full featured and multiplatform webcam suite.
+
+Features:
+* Cross-platform (GNU/Linux, Mac, Windows)
+* Take pictures and record videos with the webcam.
+* Manages multiple webcams.
+* Written in C++ and Qt.
+* Custom controls for each webcam.
+* Add funny effects to the webcam.
+* +60 effects available.
+* Translated to many languages.
+* Use custom network and local files as capture devices.
+* Capture from desktop.
+* Many recording formats.
+* Virtual webcam support for feeding other programs.
+
+WWW: https://webcamoid.github.io

Added: head/multimedia/webcamoid/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/webcamoid/pkg-plist	Sun Dec  3 17:55:33 2017	(r455418)
@@ -0,0 +1,98 @@
+bin/webcamoid
+lib/avkys/libACapsConvert.so
+lib/avkys/libAging.so
+lib/avkys/libAudioDevice.so
+lib/avkys/libAudioGen.so
+lib/avkys/libBin.so
+lib/avkys/libBlur.so
+lib/avkys/libCartoon.so
+lib/avkys/libChangeHSL.so
+lib/avkys/libCharify.so
+lib/avkys/libCinema.so
+lib/avkys/libColorFilter.so
+lib/avkys/libColorReplace.so
+lib/avkys/libColorTap.so
+lib/avkys/libColorTransform.so
+lib/avkys/libConvolve.so
+lib/avkys/libDelayGrab.so
+lib/avkys/libDenoise.so
+lib/avkys/libDesktopCapture.so
+lib/avkys/libDice.so
+lib/avkys/libDistort.so
+lib/avkys/libDizzy.so
+lib/avkys/libEdge.so
+lib/avkys/libEmboss.so
+lib/avkys/libEqualize.so
+lib/avkys/libFaceDetect.so
+lib/avkys/libFalseColor.so
+lib/avkys/libFire.so
+lib/avkys/libFrameOverlap.so
+lib/avkys/libGrayScale.so
+lib/avkys/libHalftone.so
+lib/avkys/libHypnotic.so
+lib/avkys/libImplode.so
+lib/avkys/libInvert.so
+lib/avkys/libLife.so
+lib/avkys/libMatrix.so
+lib/avkys/libMatrixTransform.so
+lib/avkys/libMultiSink.so
+lib/avkys/libMultiSrc.so
+lib/avkys/libMultiplex.so
+lib/avkys/libNervous.so
+lib/avkys/libNormalize.so
+lib/avkys/libOilPaint.so
+lib/avkys/libPhotocopy.so
+lib/avkys/libPixelate.so
+lib/avkys/libPrimariesColors.so
+lib/avkys/libProbe.so
+lib/avkys/libQuark.so
+lib/avkys/libRadioactive.so
+lib/avkys/libRipple.so
+lib/avkys/libScanLines.so
+lib/avkys/libScroll.so
+lib/avkys/libShagadelic.so
+lib/avkys/libSwirl.so
+lib/avkys/libTemperature.so
+lib/avkys/libVideoCapture.so
+lib/avkys/libVignette.so
+lib/avkys/libVirtualCamera.so
+lib/avkys/libWarhol.so
+lib/avkys/libWarp.so
+lib/avkys/libWave.so
+lib/avkys/submodules/ACapsConvert/libffmpegav.so
+lib/avkys/submodules/ACapsConvert/libffmpegsw.so
+lib/avkys/submodules/AudioDevice/libalsa.so
+lib/avkys/submodules/AudioDevice/libjack.so
+lib/avkys/submodules/AudioDevice/liboss.so
+lib/avkys/submodules/AudioDevice/libpulseaudio.so
+lib/avkys/submodules/AudioDevice/libqtaudio.so
+lib/avkys/submodules/DesktopCapture/libqtscreen.so
+lib/avkys/submodules/MultiSink/libffmpeg.so
+lib/avkys/submodules/MultiSink/libgstreamer.so
+lib/avkys/submodules/MultiSrc/libffmpeg.so
+lib/avkys/submodules/MultiSrc/libgstreamer.so
+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
+%%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
+share/icons/hicolor/22x22/apps/webcamoid.png
+share/icons/hicolor/256x256/apps/webcamoid.png
+share/icons/hicolor/32x32/apps/webcamoid.png
+share/icons/hicolor/48x48/apps/webcamoid.png
+share/icons/hicolor/64x64/apps/webcamoid.png
+share/icons/hicolor/8x8/apps/webcamoid.png
+share/icons/hicolor/scalable/apps/webcamoid.svg


More information about the svn-ports-head mailing list