commit 9846421274ab6c5bce74731965de217773906f1b parent 9ef2923df41c3aa9718897e92b83e0d5b352bfb9 Author: Shokara Kou <kou@13f0.net> Date: Sun, 3 Mar 2024 20:55:12 -0500 import multimedia/gstreamer1 Diffstat:
93 files changed, 3822 insertions(+), 0 deletions(-)
diff --git a/multimedia/gstreamer1/CVS/Entries b/multimedia/gstreamer1/CVS/Entries @@ -0,0 +1,10 @@ +D/core//// +D/plugins-bad//// +D/plugins-base//// +D/plugins-good//// +D/plugins-libav//// +D/plugins-ugly//// +D/mm//// +D/py-gstreamer//// +/Makefile/1.6/Sat Mar 12 08:17:10 2022// +/Makefile.inc/1.91/Wed Feb 14 18:21:07 2024// diff --git a/multimedia/gstreamer1/CVS/Repository b/multimedia/gstreamer1/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1 diff --git a/multimedia/gstreamer1/Makefile b/multimedia/gstreamer1/Makefile @@ -0,0 +1,11 @@ + SUBDIR = + SUBDIR += core + SUBDIR += mm + SUBDIR += plugins-base + SUBDIR += plugins-good + SUBDIR += plugins-libav + SUBDIR += plugins-ugly + SUBDIR += plugins-bad + SUBDIR += py-gstreamer,python3 + +.include <bsd.port.subdir.mk> diff --git a/multimedia/gstreamer1/Makefile.inc b/multimedia/gstreamer1/Makefile.inc @@ -0,0 +1,64 @@ +# Most frequent usage of the GStreamer packages: +# core base library +# plugins-base minimal set: audio (sndio), gio, playback, Ogg Vorbis +# plugins-good base audio, video and graphic codecs +# plugins-ugly dvd +# plugins-bad vaapi +# plugins-libav divx, mp3, mpeg4, h264, vp8 (same decoding capabilities as FFmpeg) +# +# Most applications that use GStreamer require: +# gstreamer1-plugins-base and gstreamer1-plugins-good +# Support for most audio and video codecs is provided by +# gstreamer1-plugins-libav + +PORTROACH= limitw:1,even + +V ?= 1.22.10 +API= 1.0 +SUBST_VARS += API + +CATEGORIES ?= multimedia devel + +HOMEPAGE ?= http://gstreamer.freedesktop.org/ + +MAINTAINER ?= Antoine Jacoutot <ajacoutot@openbsd.org> + +GST_PKGNAME_PREFIX= gstreamer1 + +# GPLv2 - GPLv2+ - LGPLv2 +PERMIT_PACKAGE ?= Yes + +DIST_SUBDIR= gstreamer +SITE_GST= http://gstreamer.freedesktop.org/src/ +EXTRACT_SUFX ?= .tar.xz +P= multimedia/${GST_PKGNAME_PREFIX} + +COMPILER= base-clang ports-gcc +COMPILER_LANGS ?= c + +.if empty(CONFIGURE_STYLE) +MODULES += devel/meson +BUILD_DEPENDS += devel/gettext,-tools # -Dnls +# X11BASE needed (at least) to find libdrm/drm_fourcc.h in plugins-base +CONFIGURE_ENV += CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" \ + LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib" + +.if ! ${.CURDIR:M*py-gstreamer} +CONFIGURE_ARGS += -Dpackage-name="OpenBSD ${DISTNAME} package" +CONFIGURE_ARGS += -Dpackage-origin="https://www.openbsd.org/" +# requires hotdoc +CONFIGURE_ARGS += -Ddoc=disabled +.endif + +.if ! ${.CURDIR:M*plugins-libav} && ! ${.CURDIR:M*plugins-ugly} && ! ${.CURDIR:M*py-gstreamer} +# BDEP on gtk+3, gmp, gsl +CONFIGURE_ARGS += -Dexamples=disabled +CONFIGURE_ARGS += -Dtests=disabled +.endif + +.if ! ${.CURDIR:M*plugins-libav} && ! ${.CURDIR:M*py-gstreamer} +# requires hotdoc +CONFIGURE_ARGS += -Ddoc=disabled +.endif + +.endif diff --git a/multimedia/gstreamer1/core/CVS/Entries b/multimedia/gstreamer1/core/CVS/Entries @@ -0,0 +1,3 @@ +D/pkg//// +/Makefile/1.85/Wed Feb 14 18:21:07 2024// +/distinfo/1.71/Wed Feb 14 18:21:07 2024// diff --git a/multimedia/gstreamer1/core/CVS/Repository b/multimedia/gstreamer1/core/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/core diff --git a/multimedia/gstreamer1/core/Makefile b/multimedia/gstreamer1/core/Makefile @@ -0,0 +1,36 @@ +COMMENT= framework for streaming media + +DISTNAME= gstreamer-${V} +PKGNAME= ${GST_PKGNAME_PREFIX}-${V} + +SHARED_LIBS += gstreamer-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstbase-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstcontroller-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstnet-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstcheck-1.0 7.1 # 0.2210.0 + +WANTLIB += c execinfo gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 intl m + +SITES= ${SITE_GST:=gstreamer/} + +BUILD_DEPENDS= devel/bison \ + devel/gobject-introspection \ + shells/bash-completion + +LIB_DEPENDS= devel/glib2 + +CONFIGURE_ARGS= -Dbenchmarks=disabled \ + -Dlibunwind=disabled \ + -Dlibdw=disabled \ + -Ddbghelp=disabled + +# PTP helper does not do anything on OpenBSD (functionality needs to be +# implemented): no need to install it suid root +CONFIGURE_ARGS += -Dptp-helper-permissions=none + +# XXX configure check lost in the autoconf -> meson migration +CFLAGS += -DHAVE_SYS_SOCKET_H + +DEBUG_PACKAGES= ${BUILD_PACKAGES} + +.include <bsd.port.mk> diff --git a/multimedia/gstreamer1/core/distinfo b/multimedia/gstreamer1/core/distinfo @@ -0,0 +1,2 @@ +SHA256 (gstreamer/gstreamer-1.22.10.tar.xz) = lpqu85byUs6SUTKkviqgBOAyD1wbrwrKquCcVEpnWfQ= +SIZE (gstreamer/gstreamer-1.22.10.tar.xz) = 1799780 diff --git a/multimedia/gstreamer1/core/pkg/CVS/Entries b/multimedia/gstreamer1/core/pkg/CVS/Entries @@ -0,0 +1,3 @@ +/DESCR/1.1/Thu Sep 6 12:59:46 2012// +/PLIST/1.47/Wed Feb 14 18:21:07 2024// +D diff --git a/multimedia/gstreamer1/core/pkg/CVS/Repository b/multimedia/gstreamer1/core/pkg/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/core/pkg diff --git a/multimedia/gstreamer1/core/pkg/DESCR b/multimedia/gstreamer1/core/pkg/DESCR @@ -0,0 +1,5 @@ +This is GStreamer, a framework for streaming media. +This package provides the core around which all other modules revolve. + +Base functionality and libraries, some essential elements, +documentation, and testing. diff --git a/multimedia/gstreamer1/core/pkg/PLIST b/multimedia/gstreamer1/core/pkg/PLIST @@ -0,0 +1,220 @@ +@bin bin/gst-inspect-${API} +@bin bin/gst-launch-${API} +@bin bin/gst-stats-${API} +@bin bin/gst-typefind-${API} +include/gstreamer-${API}/ +include/gstreamer-${API}/gst/ +include/gstreamer-${API}/gst/base/ +include/gstreamer-${API}/gst/base/base-prelude.h +include/gstreamer-${API}/gst/base/base.h +include/gstreamer-${API}/gst/base/gstadapter.h +include/gstreamer-${API}/gst/base/gstaggregator.h +include/gstreamer-${API}/gst/base/gstbaseparse.h +include/gstreamer-${API}/gst/base/gstbasesink.h +include/gstreamer-${API}/gst/base/gstbasesrc.h +include/gstreamer-${API}/gst/base/gstbasetransform.h +include/gstreamer-${API}/gst/base/gstbitreader.h +include/gstreamer-${API}/gst/base/gstbitwriter.h +include/gstreamer-${API}/gst/base/gstbytereader.h +include/gstreamer-${API}/gst/base/gstbytewriter.h +include/gstreamer-${API}/gst/base/gstcollectpads.h +include/gstreamer-${API}/gst/base/gstdataqueue.h +include/gstreamer-${API}/gst/base/gstflowcombiner.h +include/gstreamer-${API}/gst/base/gstpushsrc.h +include/gstreamer-${API}/gst/base/gstqueuearray.h +include/gstreamer-${API}/gst/base/gsttypefindhelper.h +include/gstreamer-${API}/gst/check/ +include/gstreamer-${API}/gst/check/check-prelude.h +include/gstreamer-${API}/gst/check/check.h +include/gstreamer-${API}/gst/check/gstbufferstraw.h +include/gstreamer-${API}/gst/check/gstcheck.h +include/gstreamer-${API}/gst/check/gstconsistencychecker.h +include/gstreamer-${API}/gst/check/gstharness.h +include/gstreamer-${API}/gst/check/gsttestclock.h +include/gstreamer-${API}/gst/check/internal-check.h +include/gstreamer-${API}/gst/controller/ +include/gstreamer-${API}/gst/controller/controller-enumtypes.h +include/gstreamer-${API}/gst/controller/controller-prelude.h +include/gstreamer-${API}/gst/controller/controller.h +include/gstreamer-${API}/gst/controller/gstargbcontrolbinding.h +include/gstreamer-${API}/gst/controller/gstdirectcontrolbinding.h +include/gstreamer-${API}/gst/controller/gstinterpolationcontrolsource.h +include/gstreamer-${API}/gst/controller/gstlfocontrolsource.h +include/gstreamer-${API}/gst/controller/gstproxycontrolbinding.h +include/gstreamer-${API}/gst/controller/gsttimedvaluecontrolsource.h +include/gstreamer-${API}/gst/controller/gsttriggercontrolsource.h +include/gstreamer-${API}/gst/glib-compat.h +include/gstreamer-${API}/gst/gst.h +include/gstreamer-${API}/gst/gstallocator.h +include/gstreamer-${API}/gst/gstatomicqueue.h +include/gstreamer-${API}/gst/gstbin.h +include/gstreamer-${API}/gst/gstbuffer.h +include/gstreamer-${API}/gst/gstbufferlist.h +include/gstreamer-${API}/gst/gstbufferpool.h +include/gstreamer-${API}/gst/gstbus.h +include/gstreamer-${API}/gst/gstcaps.h +include/gstreamer-${API}/gst/gstcapsfeatures.h +include/gstreamer-${API}/gst/gstchildproxy.h +include/gstreamer-${API}/gst/gstclock.h +include/gstreamer-${API}/gst/gstcompat.h +include/gstreamer-${API}/gst/gstconfig.h +include/gstreamer-${API}/gst/gstcontext.h +include/gstreamer-${API}/gst/gstcontrolbinding.h +include/gstreamer-${API}/gst/gstcontrolsource.h +include/gstreamer-${API}/gst/gstdatetime.h +include/gstreamer-${API}/gst/gstdebugutils.h +include/gstreamer-${API}/gst/gstdevice.h +include/gstreamer-${API}/gst/gstdevicemonitor.h +include/gstreamer-${API}/gst/gstdeviceprovider.h +include/gstreamer-${API}/gst/gstdeviceproviderfactory.h +include/gstreamer-${API}/gst/gstdynamictypefactory.h +include/gstreamer-${API}/gst/gstelement.h +include/gstreamer-${API}/gst/gstelementfactory.h +include/gstreamer-${API}/gst/gstelementmetadata.h +include/gstreamer-${API}/gst/gstenumtypes.h +include/gstreamer-${API}/gst/gsterror.h +include/gstreamer-${API}/gst/gstevent.h +include/gstreamer-${API}/gst/gstformat.h +include/gstreamer-${API}/gst/gstghostpad.h +include/gstreamer-${API}/gst/gstinfo.h +include/gstreamer-${API}/gst/gstiterator.h +include/gstreamer-${API}/gst/gstmacros.h +include/gstreamer-${API}/gst/gstmemory.h +include/gstreamer-${API}/gst/gstmessage.h +include/gstreamer-${API}/gst/gstmeta.h +include/gstreamer-${API}/gst/gstminiobject.h +include/gstreamer-${API}/gst/gstobject.h +include/gstreamer-${API}/gst/gstpad.h +include/gstreamer-${API}/gst/gstpadtemplate.h +include/gstreamer-${API}/gst/gstparamspecs.h +include/gstreamer-${API}/gst/gstparse.h +include/gstreamer-${API}/gst/gstpipeline.h +include/gstreamer-${API}/gst/gstplugin.h +include/gstreamer-${API}/gst/gstpluginfeature.h +include/gstreamer-${API}/gst/gstpoll.h +include/gstreamer-${API}/gst/gstpreset.h +include/gstreamer-${API}/gst/gstpromise.h +include/gstreamer-${API}/gst/gstprotection.h +include/gstreamer-${API}/gst/gstquery.h +include/gstreamer-${API}/gst/gstregistry.h +include/gstreamer-${API}/gst/gstsample.h +include/gstreamer-${API}/gst/gstsegment.h +include/gstreamer-${API}/gst/gststreamcollection.h +include/gstreamer-${API}/gst/gststreams.h +include/gstreamer-${API}/gst/gststructure.h +include/gstreamer-${API}/gst/gstsystemclock.h +include/gstreamer-${API}/gst/gsttaglist.h +include/gstreamer-${API}/gst/gsttagsetter.h +include/gstreamer-${API}/gst/gsttask.h +include/gstreamer-${API}/gst/gsttaskpool.h +include/gstreamer-${API}/gst/gsttoc.h +include/gstreamer-${API}/gst/gsttocsetter.h +include/gstreamer-${API}/gst/gsttracer.h +include/gstreamer-${API}/gst/gsttracerfactory.h +include/gstreamer-${API}/gst/gsttracerrecord.h +include/gstreamer-${API}/gst/gsttypefind.h +include/gstreamer-${API}/gst/gsttypefindfactory.h +include/gstreamer-${API}/gst/gsturi.h +include/gstreamer-${API}/gst/gstutils.h +include/gstreamer-${API}/gst/gstvalue.h +include/gstreamer-${API}/gst/gstversion.h +include/gstreamer-${API}/gst/math-compat.h +include/gstreamer-${API}/gst/net/ +include/gstreamer-${API}/gst/net/gstnet.h +include/gstreamer-${API}/gst/net/gstnetaddressmeta.h +include/gstreamer-${API}/gst/net/gstnetclientclock.h +include/gstreamer-${API}/gst/net/gstnetcontrolmessagemeta.h +include/gstreamer-${API}/gst/net/gstnettimepacket.h +include/gstreamer-${API}/gst/net/gstnettimeprovider.h +include/gstreamer-${API}/gst/net/gstnetutils.h +include/gstreamer-${API}/gst/net/gstptpclock.h +include/gstreamer-${API}/gst/net/net-prelude.h +include/gstreamer-${API}/gst/net/net.h +lib/girepository-${API}/ +lib/girepository-${API}/Gst-${API}.typelib +lib/girepository-${API}/GstBase-${API}.typelib +lib/girepository-${API}/GstCheck-${API}.typelib +lib/girepository-${API}/GstController-${API}.typelib +lib/girepository-${API}/GstNet-${API}.typelib +lib/gstreamer-${API}/ +@so lib/gstreamer-${API}/libgstcoreelements.so +@so lib/gstreamer-${API}/libgstcoretracers.so +@lib lib/libgstbase-${API}.so.${LIBgstbase-${API}_VERSION} +@lib lib/libgstcheck-${API}.so.${LIBgstcheck-${API}_VERSION} +@lib lib/libgstcontroller-${API}.so.${LIBgstcontroller-${API}_VERSION} +@lib lib/libgstnet-${API}.so.${LIBgstnet-${API}_VERSION} +@lib lib/libgstreamer-${API}.so.${LIBgstreamer-${API}_VERSION} +lib/pkgconfig/gstreamer-${API}.pc +lib/pkgconfig/gstreamer-base-${API}.pc +lib/pkgconfig/gstreamer-check-${API}.pc +lib/pkgconfig/gstreamer-controller-${API}.pc +lib/pkgconfig/gstreamer-net-${API}.pc +libexec/gstreamer-${API}/ +@bin libexec/gstreamer-${API}/gst-completion-helper +@bin libexec/gstreamer-${API}/gst-hotdoc-plugins-scanner +@bin libexec/gstreamer-${API}/gst-plugin-scanner +libexec/gstreamer-${API}/gst-plugins-doc-cache-generator +@bin libexec/gstreamer-${API}/gst-ptp-helper +@man man/man1/gst-inspect-${API}.1 +@man man/man1/gst-launch-${API}.1 +@man man/man1/gst-stats-${API}.1 +@man man/man1/gst-typefind-${API}.1 +share/aclocal/gst-element-check-${API}.m4 +share/bash-completion/completions/gst-inspect-${API} +share/bash-completion/completions/gst-launch-${API} +share/bash-completion/helpers/ +share/bash-completion/helpers/gst +share/gdb/auto-load/usr/local/lib/libgstreamer-${API}.so.0.2210.0-gdb.py +share/gir-${API}/ +share/gir-${API}/Gst-${API}.gir +share/gir-${API}/GstBase-${API}.gir +share/gir-${API}/GstCheck-${API}.gir +share/gir-${API}/GstController-${API}.gir +share/gir-${API}/GstNet-${API}.gir +share/gstreamer-${API}/ +share/gstreamer-${API}/gdb/ +share/gstreamer-${API}/gdb/glib_gobject_helper.py +share/gstreamer-${API}/gdb/gst_gdb.py +share/locale/af/LC_MESSAGES/gstreamer-${API}.mo +share/locale/ast/LC_MESSAGES/gstreamer-${API}.mo +share/locale/az/LC_MESSAGES/gstreamer-${API}.mo +share/locale/be/LC_MESSAGES/gstreamer-${API}.mo +share/locale/bg/LC_MESSAGES/gstreamer-${API}.mo +share/locale/ca/LC_MESSAGES/gstreamer-${API}.mo +share/locale/cs/LC_MESSAGES/gstreamer-${API}.mo +share/locale/da/LC_MESSAGES/gstreamer-${API}.mo +share/locale/de/LC_MESSAGES/gstreamer-${API}.mo +share/locale/el/LC_MESSAGES/gstreamer-${API}.mo +share/locale/en_GB/LC_MESSAGES/gstreamer-${API}.mo +share/locale/eo/LC_MESSAGES/gstreamer-${API}.mo +share/locale/es/LC_MESSAGES/gstreamer-${API}.mo +share/locale/eu/LC_MESSAGES/gstreamer-${API}.mo +share/locale/fi/LC_MESSAGES/gstreamer-${API}.mo +share/locale/fr/LC_MESSAGES/gstreamer-${API}.mo +share/locale/fur/LC_MESSAGES/gstreamer-${API}.mo +share/locale/gl/LC_MESSAGES/gstreamer-${API}.mo +share/locale/hr/LC_MESSAGES/gstreamer-${API}.mo +share/locale/hu/LC_MESSAGES/gstreamer-${API}.mo +share/locale/id/LC_MESSAGES/gstreamer-${API}.mo +share/locale/it/LC_MESSAGES/gstreamer-${API}.mo +share/locale/ja/LC_MESSAGES/gstreamer-${API}.mo +share/locale/ka/LC_MESSAGES/gstreamer-${API}.mo +share/locale/ko/LC_MESSAGES/gstreamer-${API}.mo +share/locale/lt/LC_MESSAGES/gstreamer-${API}.mo +share/locale/nb/LC_MESSAGES/gstreamer-${API}.mo +share/locale/nl/LC_MESSAGES/gstreamer-${API}.mo +share/locale/pl/LC_MESSAGES/gstreamer-${API}.mo +share/locale/pt_BR/LC_MESSAGES/gstreamer-${API}.mo +share/locale/ro/LC_MESSAGES/gstreamer-${API}.mo +share/locale/ru/LC_MESSAGES/gstreamer-${API}.mo +share/locale/rw/LC_MESSAGES/gstreamer-${API}.mo +share/locale/sk/LC_MESSAGES/gstreamer-${API}.mo +share/locale/sl/LC_MESSAGES/gstreamer-${API}.mo +share/locale/sq/LC_MESSAGES/gstreamer-${API}.mo +share/locale/sr/LC_MESSAGES/gstreamer-${API}.mo +share/locale/sv/LC_MESSAGES/gstreamer-${API}.mo +share/locale/tr/LC_MESSAGES/gstreamer-${API}.mo +share/locale/uk/LC_MESSAGES/gstreamer-${API}.mo +share/locale/vi/LC_MESSAGES/gstreamer-${API}.mo +share/locale/zh_CN/LC_MESSAGES/gstreamer-${API}.mo +share/locale/zh_TW/LC_MESSAGES/gstreamer-${API}.mo diff --git a/multimedia/gstreamer1/mm/CVS/Entries b/multimedia/gstreamer1/mm/CVS/Entries @@ -0,0 +1,4 @@ +D/pkg//// +/distinfo/1.4/Sat Oct 21 17:14:45 2017// +D/patches//// +/Makefile/1.28/Sun Nov 6 07:17:21 2022// diff --git a/multimedia/gstreamer1/mm/CVS/Repository b/multimedia/gstreamer1/mm/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/mm diff --git a/multimedia/gstreamer1/mm/Makefile b/multimedia/gstreamer1/mm/Makefile @@ -0,0 +1,37 @@ +COMMENT= C++ bindings for GStreamer + +GNOME_PROJECT= gstreamermm +GNOME_VERSION= 1.10.0 +PKGNAME= gstreamer1mm-${GNOME_VERSION} +REVISION= 8 + +SHARED_LIBS += gstreamermm-1.0 1.1 # 1.0 + +WANTLIB += ${COMPILER_LIBCXX} c ffi gio-2.0 giomm-2.4 glib-2.0 +WANTLIB += glibmm-2.4 gmodule-2.0 gobject-2.0 gstallocators-1.0 +WANTLIB += gstapp-1.0 gstaudio-1.0 gstbase-1.0 gstcheck-1.0 gstcontroller-1.0 +WANTLIB += gstfft-1.0 gstnet-1.0 gstpbutils-1.0 gstreamer-1.0 +WANTLIB += gstriff-1.0 gstrtp-1.0 gstrtsp-1.0 gstsdp-1.0 gsttag-1.0 +WANTLIB += gstvideo-1.0 iconv intl m orc-0.4 pcre2-8 sigc-2.0 z execinfo + +MODULES= x11/gnome + +# c++11 +# note that Makefile.inc has "c" as default +COMPILER_LANGS = c c++ + +LIB_DEPENDS= devel/glib2mm \ + multimedia/gstreamer1/plugins-base + +CONFIGURE_STYLE= gnu + +CONFIGURE_ARGS= ac_cv_path_DOT= \ + ac_cv_path_DOXYGEN= \ + --disable-unittests + +# needed for the examples +BUILD_DEPENDS += x11/gtk3mm + +DEBUG_PACKAGES= ${BUILD_PACKAGES} + +.include <bsd.port.mk> diff --git a/multimedia/gstreamer1/mm/distinfo b/multimedia/gstreamer1/mm/distinfo @@ -0,0 +1,2 @@ +SHA256 (gstreamer/gstreamermm-1.10.0.tar.xz) = vlj+nvfX45JWjshegKhPRzCtv5H7A1X/fXxhZnXqjWA= +SIZE (gstreamer/gstreamermm-1.10.0.tar.xz) = 3529640 diff --git a/multimedia/gstreamer1/mm/patches/CVS/Entries b/multimedia/gstreamer1/mm/patches/CVS/Entries @@ -0,0 +1,2 @@ +/patch-gstreamer_gstreamermm_register_h/1.2/Sat Mar 12 08:17:10 2022// +D diff --git a/multimedia/gstreamer1/mm/patches/CVS/Repository b/multimedia/gstreamer1/mm/patches/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/mm/patches diff --git a/multimedia/gstreamer1/mm/patches/patch-gstreamer_gstreamermm_register_h b/multimedia/gstreamer1/mm/patches/patch-gstreamer_gstreamermm_register_h @@ -0,0 +1,14 @@ +Fix build with GLib >=2.68 + +Index: gstreamer/gstreamermm/register.h +--- gstreamer/gstreamermm/register.h.orig ++++ gstreamer/gstreamermm/register.h +@@ -110,7 +110,7 @@ register_mm_type(const gchar * type_name) + /* The typedef for GType may be gulong or gsize, depending on the + * system and whether the compiler is c++ or not. The g_once_init_* + * functions always take a gsize * though ... */ +- static volatile gsize gonce_data = 0; ++ static gsize gonce_data = 0; + if (g_once_init_enter (&gonce_data)) { + GTypeInfo info; + diff --git a/multimedia/gstreamer1/mm/pkg/CVS/Entries b/multimedia/gstreamer1/mm/pkg/CVS/Entries @@ -0,0 +1,3 @@ +/DESCR/1.1.1.1/Thu Aug 14 20:05:38 2014// +/PLIST/1.8/Sat Mar 12 08:17:10 2022// +D diff --git a/multimedia/gstreamer1/mm/pkg/CVS/Repository b/multimedia/gstreamer1/mm/pkg/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/mm/pkg diff --git a/multimedia/gstreamer1/mm/pkg/DESCR b/multimedia/gstreamer1/mm/pkg/DESCR @@ -0,0 +1,3 @@ +gstreamermm provides C++ bindings for the GStreamer streaming multimedia +library. With gstreamermm it is possible to develop applications that +work with multimedia in C++. diff --git a/multimedia/gstreamer1/mm/pkg/PLIST b/multimedia/gstreamer1/mm/pkg/PLIST @@ -0,0 +1,974 @@ +include/gstreamermm-${API}/ +include/gstreamermm-${API}/gstreamermm/ +include/gstreamermm-${API}/gstreamermm.h +include/gstreamermm-${API}/gstreamermm/adder.h +include/gstreamermm-${API}/gstreamermm/allocator.h +include/gstreamermm-${API}/gstreamermm/alsasink.h +include/gstreamermm-${API}/gstreamermm/alsasrc.h +include/gstreamermm-${API}/gstreamermm/appsink.h +include/gstreamermm-${API}/gstreamermm/appsrc.h +include/gstreamermm-${API}/gstreamermm/atomicqueue.h +include/gstreamermm-${API}/gstreamermm/audiobasesink.h +include/gstreamermm-${API}/gstreamermm/audiobasesrc.h +include/gstreamermm-${API}/gstreamermm/audiocdsrc.h +include/gstreamermm-${API}/gstreamermm/audioclock.h +include/gstreamermm-${API}/gstreamermm/audioconvert.h +include/gstreamermm-${API}/gstreamermm/audiofilter.h +include/gstreamermm-${API}/gstreamermm/audioformat.h +include/gstreamermm-${API}/gstreamermm/audioinfo.h +include/gstreamermm-${API}/gstreamermm/audiorate.h +include/gstreamermm-${API}/gstreamermm/audioringbuffer.h +include/gstreamermm-${API}/gstreamermm/audiosink.h +include/gstreamermm-${API}/gstreamermm/audiosrc.h +include/gstreamermm-${API}/gstreamermm/audiotestsrc.h +include/gstreamermm-${API}/gstreamermm/basesink.h +include/gstreamermm-${API}/gstreamermm/basesrc.h +include/gstreamermm-${API}/gstreamermm/basetransform.h +include/gstreamermm-${API}/gstreamermm/bin.h +include/gstreamermm-${API}/gstreamermm/buffer.h +include/gstreamermm-${API}/gstreamermm/bufferlist.h +include/gstreamermm-${API}/gstreamermm/bus.h +include/gstreamermm-${API}/gstreamermm/caps.h +include/gstreamermm-${API}/gstreamermm/capsfeatures.h +include/gstreamermm-${API}/gstreamermm/capsfilter.h +include/gstreamermm-${API}/gstreamermm/cdparanoiasrc.h +include/gstreamermm-${API}/gstreamermm/check.h +include/gstreamermm-${API}/gstreamermm/childproxy.h +include/gstreamermm-${API}/gstreamermm/clock.h +include/gstreamermm-${API}/gstreamermm/clockoverlay.h +include/gstreamermm-${API}/gstreamermm/clockutils.h +include/gstreamermm-${API}/gstreamermm/colorbalance.h +include/gstreamermm-${API}/gstreamermm/colorbalancechannel.h +include/gstreamermm-${API}/gstreamermm/concat.h +include/gstreamermm-${API}/gstreamermm/context.h +include/gstreamermm-${API}/gstreamermm/decodebin.h +include/gstreamermm-${API}/gstreamermm/discoverer.h +include/gstreamermm-${API}/gstreamermm/discovererinfo.h +include/gstreamermm-${API}/gstreamermm/downloadbuffer.h +include/gstreamermm-${API}/gstreamermm/element.h +include/gstreamermm-${API}/gstreamermm/elementfactory.h +include/gstreamermm-${API}/gstreamermm/encodebin.h +include/gstreamermm-${API}/gstreamermm/encodingprofile.h +include/gstreamermm-${API}/gstreamermm/enums.h +include/gstreamermm-${API}/gstreamermm/error.h +include/gstreamermm-${API}/gstreamermm/event.h +include/gstreamermm-${API}/gstreamermm/fakesink.h +include/gstreamermm-${API}/gstreamermm/fakesrc.h +include/gstreamermm-${API}/gstreamermm/fdsink.h +include/gstreamermm-${API}/gstreamermm/fdsrc.h +include/gstreamermm-${API}/gstreamermm/filesink.h +include/gstreamermm-${API}/gstreamermm/filesrc.h +include/gstreamermm-${API}/gstreamermm/format.h +include/gstreamermm-${API}/gstreamermm/funnel.h +include/gstreamermm-${API}/gstreamermm/ghostpad.h +include/gstreamermm-${API}/gstreamermm/giosink.h +include/gstreamermm-${API}/gstreamermm/giosrc.h +include/gstreamermm-${API}/gstreamermm/giostreamsink.h +include/gstreamermm-${API}/gstreamermm/giostreamsrc.h +include/gstreamermm-${API}/gstreamermm/handle_error.h +include/gstreamermm-${API}/gstreamermm/identity.h +include/gstreamermm-${API}/gstreamermm/init.h +include/gstreamermm-${API}/gstreamermm/inputselector.h +include/gstreamermm-${API}/gstreamermm/iterator.h +include/gstreamermm-${API}/gstreamermm/mapinfo.h +include/gstreamermm-${API}/gstreamermm/memory.h +include/gstreamermm-${API}/gstreamermm/message.h +include/gstreamermm-${API}/gstreamermm/miniobject.h +include/gstreamermm-${API}/gstreamermm/multifdsink.h +include/gstreamermm-${API}/gstreamermm/multiqueue.h +include/gstreamermm-${API}/gstreamermm/multisocketsink.h +include/gstreamermm-${API}/gstreamermm/navigation.h +include/gstreamermm-${API}/gstreamermm/netclientclock.h +include/gstreamermm-${API}/gstreamermm/object.h +include/gstreamermm-${API}/gstreamermm/oggdemux.h +include/gstreamermm-${API}/gstreamermm/oggmux.h +include/gstreamermm-${API}/gstreamermm/outputselector.h +include/gstreamermm-${API}/gstreamermm/pad.h +include/gstreamermm-${API}/gstreamermm/padtemplate.h +include/gstreamermm-${API}/gstreamermm/parse.h +include/gstreamermm-${API}/gstreamermm/pipeline.h +include/gstreamermm-${API}/gstreamermm/playbin.h +include/gstreamermm-${API}/gstreamermm/playsink.h +include/gstreamermm-${API}/gstreamermm/plugin.h +include/gstreamermm-${API}/gstreamermm/pluginfeature.h +include/gstreamermm-${API}/gstreamermm/preset.h +include/gstreamermm-${API}/gstreamermm/private/ +include/gstreamermm-${API}/gstreamermm/private/adder_p.h +include/gstreamermm-${API}/gstreamermm/private/allocator_p.h +include/gstreamermm-${API}/gstreamermm/private/alsasink_p.h +include/gstreamermm-${API}/gstreamermm/private/alsasrc_p.h +include/gstreamermm-${API}/gstreamermm/private/appsink_p.h +include/gstreamermm-${API}/gstreamermm/private/appsrc_p.h +include/gstreamermm-${API}/gstreamermm/private/audiobasesink_p.h +include/gstreamermm-${API}/gstreamermm/private/audiobasesrc_p.h +include/gstreamermm-${API}/gstreamermm/private/audiocdsrc_p.h +include/gstreamermm-${API}/gstreamermm/private/audioclock_p.h +include/gstreamermm-${API}/gstreamermm/private/audioconvert_p.h +include/gstreamermm-${API}/gstreamermm/private/audiofilter_p.h +include/gstreamermm-${API}/gstreamermm/private/audioformat_p.h +include/gstreamermm-${API}/gstreamermm/private/audioinfo_p.h +include/gstreamermm-${API}/gstreamermm/private/audiorate_p.h +include/gstreamermm-${API}/gstreamermm/private/audioringbuffer_p.h +include/gstreamermm-${API}/gstreamermm/private/audiosink_p.h +include/gstreamermm-${API}/gstreamermm/private/audiosrc_p.h +include/gstreamermm-${API}/gstreamermm/private/audiotestsrc_p.h +include/gstreamermm-${API}/gstreamermm/private/basesink_p.h +include/gstreamermm-${API}/gstreamermm/private/basesrc_p.h +include/gstreamermm-${API}/gstreamermm/private/basetransform_p.h +include/gstreamermm-${API}/gstreamermm/private/bin_p.h +include/gstreamermm-${API}/gstreamermm/private/buffer_p.h +include/gstreamermm-${API}/gstreamermm/private/bufferlist_p.h +include/gstreamermm-${API}/gstreamermm/private/bus_p.h +include/gstreamermm-${API}/gstreamermm/private/caps_p.h +include/gstreamermm-${API}/gstreamermm/private/capsfeatures_p.h +include/gstreamermm-${API}/gstreamermm/private/capsfilter_p.h +include/gstreamermm-${API}/gstreamermm/private/cdparanoiasrc_p.h +include/gstreamermm-${API}/gstreamermm/private/childproxy_p.h +include/gstreamermm-${API}/gstreamermm/private/clock_p.h +include/gstreamermm-${API}/gstreamermm/private/clockoverlay_p.h +include/gstreamermm-${API}/gstreamermm/private/clockutils_p.h +include/gstreamermm-${API}/gstreamermm/private/colorbalance_p.h +include/gstreamermm-${API}/gstreamermm/private/colorbalancechannel_p.h +include/gstreamermm-${API}/gstreamermm/private/concat_p.h +include/gstreamermm-${API}/gstreamermm/private/context_p.h +include/gstreamermm-${API}/gstreamermm/private/decodebin_p.h +include/gstreamermm-${API}/gstreamermm/private/discoverer_p.h +include/gstreamermm-${API}/gstreamermm/private/discovererinfo_p.h +include/gstreamermm-${API}/gstreamermm/private/downloadbuffer_p.h +include/gstreamermm-${API}/gstreamermm/private/element_p.h +include/gstreamermm-${API}/gstreamermm/private/elementfactory_p.h +include/gstreamermm-${API}/gstreamermm/private/encodebin_p.h +include/gstreamermm-${API}/gstreamermm/private/encodingprofile_p.h +include/gstreamermm-${API}/gstreamermm/private/enums_p.h +include/gstreamermm-${API}/gstreamermm/private/error_p.h +include/gstreamermm-${API}/gstreamermm/private/event_p.h +include/gstreamermm-${API}/gstreamermm/private/fakesink_p.h +include/gstreamermm-${API}/gstreamermm/private/fakesrc_p.h +include/gstreamermm-${API}/gstreamermm/private/fdsink_p.h +include/gstreamermm-${API}/gstreamermm/private/fdsrc_p.h +include/gstreamermm-${API}/gstreamermm/private/filesink_p.h +include/gstreamermm-${API}/gstreamermm/private/filesrc_p.h +include/gstreamermm-${API}/gstreamermm/private/format_p.h +include/gstreamermm-${API}/gstreamermm/private/funnel_p.h +include/gstreamermm-${API}/gstreamermm/private/ghostpad_p.h +include/gstreamermm-${API}/gstreamermm/private/giosink_p.h +include/gstreamermm-${API}/gstreamermm/private/giosrc_p.h +include/gstreamermm-${API}/gstreamermm/private/giostreamsink_p.h +include/gstreamermm-${API}/gstreamermm/private/giostreamsrc_p.h +include/gstreamermm-${API}/gstreamermm/private/identity_p.h +include/gstreamermm-${API}/gstreamermm/private/inputselector_p.h +include/gstreamermm-${API}/gstreamermm/private/iterator_p.h +include/gstreamermm-${API}/gstreamermm/private/mapinfo_p.h +include/gstreamermm-${API}/gstreamermm/private/memory_p.h +include/gstreamermm-${API}/gstreamermm/private/message_p.h +include/gstreamermm-${API}/gstreamermm/private/miniobject_p.h +include/gstreamermm-${API}/gstreamermm/private/multifdsink_p.h +include/gstreamermm-${API}/gstreamermm/private/multiqueue_p.h +include/gstreamermm-${API}/gstreamermm/private/multisocketsink_p.h +include/gstreamermm-${API}/gstreamermm/private/navigation_p.h +include/gstreamermm-${API}/gstreamermm/private/netclientclock_p.h +include/gstreamermm-${API}/gstreamermm/private/object_p.h +include/gstreamermm-${API}/gstreamermm/private/oggdemux_p.h +include/gstreamermm-${API}/gstreamermm/private/oggmux_p.h +include/gstreamermm-${API}/gstreamermm/private/outputselector_p.h +include/gstreamermm-${API}/gstreamermm/private/pad_p.h +include/gstreamermm-${API}/gstreamermm/private/padtemplate_p.h +include/gstreamermm-${API}/gstreamermm/private/parse_p.h +include/gstreamermm-${API}/gstreamermm/private/pipeline_p.h +include/gstreamermm-${API}/gstreamermm/private/playbin_p.h +include/gstreamermm-${API}/gstreamermm/private/playsink_p.h +include/gstreamermm-${API}/gstreamermm/private/plugin_p.h +include/gstreamermm-${API}/gstreamermm/private/pluginfeature_p.h +include/gstreamermm-${API}/gstreamermm/private/preset_p.h +include/gstreamermm-${API}/gstreamermm/private/pushsrc_p.h +include/gstreamermm-${API}/gstreamermm/private/query_p.h +include/gstreamermm-${API}/gstreamermm/private/queue2_p.h +include/gstreamermm-${API}/gstreamermm/private/queue_p.h +include/gstreamermm-${API}/gstreamermm/private/registry_p.h +include/gstreamermm-${API}/gstreamermm/private/sample_p.h +include/gstreamermm-${API}/gstreamermm/private/sdpmessage_p.h +include/gstreamermm-${API}/gstreamermm/private/segment_p.h +include/gstreamermm-${API}/gstreamermm/private/socketsrc_p.h +include/gstreamermm-${API}/gstreamermm/private/streamiddemux_p.h +include/gstreamermm-${API}/gstreamermm/private/streamsynchronizer_p.h +include/gstreamermm-${API}/gstreamermm/private/streamvolume_p.h +include/gstreamermm-${API}/gstreamermm/private/structure_p.h +include/gstreamermm-${API}/gstreamermm/private/subtitleoverlay_p.h +include/gstreamermm-${API}/gstreamermm/private/systemclock_p.h +include/gstreamermm-${API}/gstreamermm/private/taglist_p.h +include/gstreamermm-${API}/gstreamermm/private/tagsetter_p.h +include/gstreamermm-${API}/gstreamermm/private/task_p.h +include/gstreamermm-${API}/gstreamermm/private/taskpool_p.h +include/gstreamermm-${API}/gstreamermm/private/tcpclientsink_p.h +include/gstreamermm-${API}/gstreamermm/private/tcpclientsrc_p.h +include/gstreamermm-${API}/gstreamermm/private/tcpserversink_p.h +include/gstreamermm-${API}/gstreamermm/private/tcpserversrc_p.h +include/gstreamermm-${API}/gstreamermm/private/tee_p.h +include/gstreamermm-${API}/gstreamermm/private/textoverlay_p.h +include/gstreamermm-${API}/gstreamermm/private/textrender_p.h +include/gstreamermm-${API}/gstreamermm/private/theoradec_p.h +include/gstreamermm-${API}/gstreamermm/private/theoraenc_p.h +include/gstreamermm-${API}/gstreamermm/private/theoraparse_p.h +include/gstreamermm-${API}/gstreamermm/private/timeoverlay_p.h +include/gstreamermm-${API}/gstreamermm/private/toc_p.h +include/gstreamermm-${API}/gstreamermm/private/tocsetter_p.h +include/gstreamermm-${API}/gstreamermm/private/typefind_p.h +include/gstreamermm-${API}/gstreamermm/private/typefindelement_p.h +include/gstreamermm-${API}/gstreamermm/private/typefindfactory_p.h +include/gstreamermm-${API}/gstreamermm/private/uridecodebin_p.h +include/gstreamermm-${API}/gstreamermm/private/urihandler_p.h +include/gstreamermm-${API}/gstreamermm/private/value_p.h +include/gstreamermm-${API}/gstreamermm/private/valuelist_p.h +include/gstreamermm-${API}/gstreamermm/private/valve_p.h +include/gstreamermm-${API}/gstreamermm/private/videochroma_p.h +include/gstreamermm-${API}/gstreamermm/private/videoconvert_p.h +include/gstreamermm-${API}/gstreamermm/private/videoformat_p.h +include/gstreamermm-${API}/gstreamermm/private/videoframe_p.h +include/gstreamermm-${API}/gstreamermm/private/videoinfo_p.h +include/gstreamermm-${API}/gstreamermm/private/videoorientation_p.h +include/gstreamermm-${API}/gstreamermm/private/videooverlay_p.h +include/gstreamermm-${API}/gstreamermm/private/videorate_p.h +include/gstreamermm-${API}/gstreamermm/private/videoscale_p.h +include/gstreamermm-${API}/gstreamermm/private/videosink_p.h +include/gstreamermm-${API}/gstreamermm/private/videotestsrc_p.h +include/gstreamermm-${API}/gstreamermm/private/volume_p.h +include/gstreamermm-${API}/gstreamermm/private/vorbisdec_p.h +include/gstreamermm-${API}/gstreamermm/private/vorbisenc_p.h +include/gstreamermm-${API}/gstreamermm/private/vorbisparse_p.h +include/gstreamermm-${API}/gstreamermm/private/vorbistag_p.h +include/gstreamermm-${API}/gstreamermm/private/ximagesink_p.h +include/gstreamermm-${API}/gstreamermm/private/xvimagesink_p.h +include/gstreamermm-${API}/gstreamermm/pushsrc.h +include/gstreamermm-${API}/gstreamermm/query.h +include/gstreamermm-${API}/gstreamermm/queue.h +include/gstreamermm-${API}/gstreamermm/queue2.h +include/gstreamermm-${API}/gstreamermm/register.h +include/gstreamermm-${API}/gstreamermm/registry.h +include/gstreamermm-${API}/gstreamermm/sample.h +include/gstreamermm-${API}/gstreamermm/sdpmessage.h +include/gstreamermm-${API}/gstreamermm/segment.h +include/gstreamermm-${API}/gstreamermm/socketsrc.h +include/gstreamermm-${API}/gstreamermm/streamiddemux.h +include/gstreamermm-${API}/gstreamermm/streamsynchronizer.h +include/gstreamermm-${API}/gstreamermm/streamvolume.h +include/gstreamermm-${API}/gstreamermm/structure.h +include/gstreamermm-${API}/gstreamermm/subtitleoverlay.h +include/gstreamermm-${API}/gstreamermm/systemclock.h +include/gstreamermm-${API}/gstreamermm/taglist.h +include/gstreamermm-${API}/gstreamermm/tagsetter.h +include/gstreamermm-${API}/gstreamermm/task.h +include/gstreamermm-${API}/gstreamermm/taskpool.h +include/gstreamermm-${API}/gstreamermm/tcpclientsink.h +include/gstreamermm-${API}/gstreamermm/tcpclientsrc.h +include/gstreamermm-${API}/gstreamermm/tcpserversink.h +include/gstreamermm-${API}/gstreamermm/tcpserversrc.h +include/gstreamermm-${API}/gstreamermm/tee.h +include/gstreamermm-${API}/gstreamermm/textoverlay.h +include/gstreamermm-${API}/gstreamermm/textrender.h +include/gstreamermm-${API}/gstreamermm/theoradec.h +include/gstreamermm-${API}/gstreamermm/theoraenc.h +include/gstreamermm-${API}/gstreamermm/theoraparse.h +include/gstreamermm-${API}/gstreamermm/timeoverlay.h +include/gstreamermm-${API}/gstreamermm/toc.h +include/gstreamermm-${API}/gstreamermm/tocsetter.h +include/gstreamermm-${API}/gstreamermm/typefind.h +include/gstreamermm-${API}/gstreamermm/typefindelement.h +include/gstreamermm-${API}/gstreamermm/typefindfactory.h +include/gstreamermm-${API}/gstreamermm/uridecodebin.h +include/gstreamermm-${API}/gstreamermm/urihandler.h +include/gstreamermm-${API}/gstreamermm/value.h +include/gstreamermm-${API}/gstreamermm/valuelist.h +include/gstreamermm-${API}/gstreamermm/valve.h +include/gstreamermm-${API}/gstreamermm/version.h +include/gstreamermm-${API}/gstreamermm/videochroma.h +include/gstreamermm-${API}/gstreamermm/videoconvert.h +include/gstreamermm-${API}/gstreamermm/videoformat.h +include/gstreamermm-${API}/gstreamermm/videoframe.h +include/gstreamermm-${API}/gstreamermm/videoinfo.h +include/gstreamermm-${API}/gstreamermm/videoorientation.h +include/gstreamermm-${API}/gstreamermm/videooverlay.h +include/gstreamermm-${API}/gstreamermm/videorate.h +include/gstreamermm-${API}/gstreamermm/videoscale.h +include/gstreamermm-${API}/gstreamermm/videosink.h +include/gstreamermm-${API}/gstreamermm/videotestsrc.h +include/gstreamermm-${API}/gstreamermm/volume.h +include/gstreamermm-${API}/gstreamermm/vorbisdec.h +include/gstreamermm-${API}/gstreamermm/vorbisenc.h +include/gstreamermm-${API}/gstreamermm/vorbisparse.h +include/gstreamermm-${API}/gstreamermm/vorbistag.h +include/gstreamermm-${API}/gstreamermm/wrap_init.h +include/gstreamermm-${API}/gstreamermm/ximagesink.h +include/gstreamermm-${API}/gstreamermm/xvimagesink.h +lib/gstreamermm-${API}/ +lib/gstreamermm-${API}/gen/ +@bin lib/gstreamermm-${API}/gen/generate_plugin_gmmproc_file +lib/gstreamermm-${API}/gen/m4/ +lib/gstreamermm-${API}/gen/m4/class_boxedtype_extra.m4 +lib/gstreamermm-${API}/gen/m4/convert.m4 +lib/gstreamermm-${API}/gen/m4/convert_gst.m4 +lib/gstreamermm-${API}/gen/m4/plugingen.m4 +lib/gstreamermm-${API}/gen/m4/plugingen_base.m4 +lib/gstreamermm-${API}/gen/m4/plugingen_gstreamermm.m4 +lib/gstreamermm-${API}/gen/m4/shared.m4 +lib/gstreamermm-${API}/include/ +lib/gstreamermm-${API}/include/gstreamermmconfig.h +@static-lib lib/libgstreamermm-${API}.a +lib/libgstreamermm-${API}.la +@lib lib/libgstreamermm-${API}.so.${LIBgstreamermm-${API}_VERSION} +lib/pkgconfig/gstreamermm-${API}.pc +share/devhelp/ +share/devhelp/books/ +share/devhelp/books/gstreamermm-${API}/ +share/devhelp/books/gstreamermm-${API}/gstreamermm-${API}.devhelp2 +share/doc/gstreamermm-${API}/ +share/doc/gstreamermm-${API}/reference/ +share/doc/gstreamermm-${API}/reference/gstreamermm-${API}.tag +share/doc/gstreamermm-${API}/reference/html/ +share/doc/gstreamermm-${API}/reference/html/annotated.html +share/doc/gstreamermm-${API}/reference/html/basics_2bin_8cc-example.html +share/doc/gstreamermm-${API}/reference/html/basics_2bus_8cc-example.html +share/doc/gstreamermm-${API}/reference/html/basics_2dynamic_pads_8cc-example.html +share/doc/gstreamermm-${API}/reference/html/basics_2element_factory_8cc-example.html +share/doc/gstreamermm-${API}/reference/html/basics_2init_gstreamermm_8cc-example.html +share/doc/gstreamermm-${API}/reference/html/bc_s.png +share/doc/gstreamermm-${API}/reference/html/bdwn.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AllocationParams-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AllocationParams.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Allocator-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Allocator.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Allocator__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AtomicQueue-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AtomicQueue.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioBaseSink-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioBaseSink.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioBaseSink__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioBaseSrc-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioBaseSrc.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioBaseSrc__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioCdSrc-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioCdSrc.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioCdSrc__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioClock-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioClock.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioClock__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioFilter-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioFilter.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioFilter__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioFormatInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioFormatInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioRingBuffer-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioRingBuffer.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioRingBufferSpec-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioRingBufferSpec.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioRingBuffer__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioSink-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioSink.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioSink__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioSrc-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioSrc.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1AudioSrc__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BaseSink-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BaseSink.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BaseSink__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BaseSrc-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BaseSrc.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BaseSrc__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BaseTransform-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BaseTransform.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BaseTransform__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Bin-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Bin.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Bin__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Buffer-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Buffer.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BufferList-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BufferList.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1BufferList__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Buffer__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Bus-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Bus.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Bus__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Caps-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Caps.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1CapsFeatures-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1CapsFeatures.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Caps__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Check-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Check.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ChildProxy-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ChildProxy.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ChildProxy__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Clock-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Clock.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ClockID-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ClockID.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Clock__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ColorBalance-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ColorBalance.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ColorBalanceChannel-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ColorBalanceChannel.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Context-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Context.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Context__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1CoreError-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1CoreError.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Discoverer-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Discoverer.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererAudioInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererAudioInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererAudioInfo__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererContainerInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererContainerInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererContainerInfo__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererInfo__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererStreamInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererStreamInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererStreamInfo__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererVideoInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererVideoInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1DiscovererVideoInfo__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Element-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Element.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ElementClass-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ElementClass.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ElementFactory-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ElementFactory.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ElementFactory__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Element__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EncodingProfile-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EncodingProfile.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EncodingProfile__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Event-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Event.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventBufferSize-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventBufferSize.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventBufferSize__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventCaps-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventCaps.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventCaps__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventEos-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventEos.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventEos__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventFlushStart-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventFlushStart.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventFlushStart__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventFlushStop-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventFlushStop.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventFlushStop__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventGap-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventGap.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventGap__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventLatency-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventLatency.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventLatency__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventProtection-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventProtection.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventProtection__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventQos-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventQos.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventQos__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventReconfigure-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventReconfigure.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventReconfigure__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSeek-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSeek.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSeek__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSegment-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSegment.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSegmentDone-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSegmentDone.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSegmentDone__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSegment__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSinkMessage-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSinkMessage.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventSinkMessage__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventStep-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventStep.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventStep__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventStreamStart-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventStreamStart.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventStreamStart__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventTag-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventTag.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventTag__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventToc-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventToc.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventTocSelect-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventTocSelect.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventTocSelect__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1EventToc__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Event__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Exception-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Exception.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Exception__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1FormatDefinition-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1FormatDefinition.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Fourcc-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Fourcc.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Fraction-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Fraction.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1GhostPad-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1GhostPad.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1GhostPad__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Iterator-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Iterator.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1IteratorBase-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1IteratorBase.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1IteratorBase__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1IteratorBasic-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1IteratorBasic.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1IteratorBasic__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Iterator__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1LibraryError-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1LibraryError.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MapInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MapInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Memory-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Memory.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Memory__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Message-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Message.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageApplication-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageApplication.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageApplication__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageAsyncDone-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageAsyncDone.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageAsyncDone__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageAsyncStart-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageAsyncStart.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageAsyncStart__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageBuffering-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageBuffering.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageBuffering__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageClockLost-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageClockLost.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageClockLost__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageClockProvide-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageClockProvide.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageClockProvide__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageCustom-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageCustom.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageCustom__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageDurationChanged-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageDurationChanged.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageDurationChanged__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageElement-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageElement.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageElement__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageEos-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageEos.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageEos__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageError-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageError.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageError__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageHaveContext-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageHaveContext.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageHaveContext__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageInfo__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageLatency-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageLatency.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageLatency__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageNeedContext-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageNeedContext.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageNeedContext__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageNewClock-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageNewClock.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageNewClock__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageProgress-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageProgress.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageProgress__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageQos-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageQos.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageQos__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageRequestState-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageRequestState.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageRequestState__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageResetTime-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageResetTime.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageResetTime__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageSegmentDone-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageSegmentDone.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageSegmentDone__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageSegmentStart-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageSegmentStart.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageSegmentStart__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStateChanged-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStateChanged.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStateChanged__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStateDirty-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStateDirty.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStateDirty__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStepDone-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStepDone.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStepDone__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStepStart-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStepStart.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStepStart__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStreamStart-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStreamStart.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStreamStart__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStreamStatus-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStreamStatus.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStreamStatus__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStructureChange-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStructureChange.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageStructureChange__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageTag-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageTag.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageTag__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageToc-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageToc.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageToc__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageWarning-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageWarning.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MessageWarning__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Message__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MiniObject-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MiniObject.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1MiniObject__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Navigation-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Navigation.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1NetClientClock-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1NetClientClock.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1NetClientClock__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Object-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Object.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Object__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Pad-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Pad.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PadProbeInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PadProbeInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PadTemplate-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PadTemplate.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PadTemplate__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Pad__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Parse-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Parse.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ParseError-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ParseError.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Pipeline-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Pipeline.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Pipeline__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Plugin-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Plugin.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PluginError-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PluginError.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PluginFeature-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PluginFeature.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PluginFeature__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Plugin__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Preset-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Preset.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PushSrc-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PushSrc.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1PushSrc__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QuarkData-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QuarkData.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Query-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Query.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryAcceptCaps-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryAcceptCaps.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryAcceptCaps__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryAllocation-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryAllocation.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryAllocation__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryApplication-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryApplication.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryApplication__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryBuffering-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryBuffering.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryBuffering__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryCaps-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryCaps.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryCaps__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryConvert-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryConvert.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryConvert__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryDuration-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryDuration.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryDuration__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryFormats-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryFormats.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryFormats__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryLatency-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryLatency.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryLatency__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryPosition-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryPosition.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryPosition__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryScheduling-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryScheduling.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryScheduling__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QuerySeeking-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QuerySeeking.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QuerySeeking__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QuerySegment-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QuerySegment.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QuerySegment__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryUri-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryUri.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1QueryUri__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Query__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Range-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Range.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Registry-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Registry.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Registry__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ResourceError-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ResourceError.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1SDP_1_1Key-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1SDP_1_1Key.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1SDP_1_1Media-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1SDP_1_1Media.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Sample-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Sample.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Sample__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Segment-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Segment.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1StaticPadTemplate-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1StaticPadTemplate.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1StreamError-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1StreamError.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1StreamVolume-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1StreamVolume.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Structure-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Structure.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1SystemClock-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1SystemClock.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1SystemClock__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TagList-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TagList.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TagSetter-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TagSetter.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Task-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Task.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TaskPool-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TaskPool.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TaskPool__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Task__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Toc-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Toc.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TocEntry-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TocEntry.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TocEntry__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TocSetter-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TocSetter.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1Toc__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TypeFind-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TypeFind.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TypeFindFactory-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TypeFindFactory.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1TypeFindFactory__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classGst_1_1URIHandler-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1URIHandler.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ValueList-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1ValueList.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoChromaResample-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoChromaResample.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoFormatInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoFormatInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoFrame-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoFrame.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoInfo-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoInfo.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoOrientation-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoOrientation.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoOverlay-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoOverlay.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoSink-members.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoSink.html +share/doc/gstreamermm-${API}/reference/html/classGst_1_1VideoSink__inherit__graph.png +share/doc/gstreamermm-${API}/reference/html/classes.html +share/doc/gstreamermm-${API}/reference/html/closed.png +share/doc/gstreamermm-${API}/reference/html/dir_ab4c30538121b47d54ba9165876a154b.html +share/doc/gstreamermm-${API}/reference/html/doc.png +share/doc/gstreamermm-${API}/reference/html/doxygen-extra.css +share/doc/gstreamermm-${API}/reference/html/doxygen.css +share/doc/gstreamermm-${API}/reference/html/doxygen.png +share/doc/gstreamermm-${API}/reference/html/dynsections.js +share/doc/gstreamermm-${API}/reference/html/examples.html +share/doc/gstreamermm-${API}/reference/html/folderclosed.png +share/doc/gstreamermm-${API}/reference/html/folderopen.png +share/doc/gstreamermm-${API}/reference/html/functions.html +share/doc/gstreamermm-${API}/reference/html/functions_0x7e.html +share/doc/gstreamermm-${API}/reference/html/functions_b.html +share/doc/gstreamermm-${API}/reference/html/functions_c.html +share/doc/gstreamermm-${API}/reference/html/functions_d.html +share/doc/gstreamermm-${API}/reference/html/functions_e.html +share/doc/gstreamermm-${API}/reference/html/functions_enum.html +share/doc/gstreamermm-${API}/reference/html/functions_eval.html +share/doc/gstreamermm-${API}/reference/html/functions_f.html +share/doc/gstreamermm-${API}/reference/html/functions_func.html +share/doc/gstreamermm-${API}/reference/html/functions_func_0x7e.html +share/doc/gstreamermm-${API}/reference/html/functions_func_b.html +share/doc/gstreamermm-${API}/reference/html/functions_func_c.html +share/doc/gstreamermm-${API}/reference/html/functions_func_d.html +share/doc/gstreamermm-${API}/reference/html/functions_func_e.html +share/doc/gstreamermm-${API}/reference/html/functions_func_f.html +share/doc/gstreamermm-${API}/reference/html/functions_func_g.html +share/doc/gstreamermm-${API}/reference/html/functions_func_h.html +share/doc/gstreamermm-${API}/reference/html/functions_func_i.html +share/doc/gstreamermm-${API}/reference/html/functions_func_j.html +share/doc/gstreamermm-${API}/reference/html/functions_func_k.html +share/doc/gstreamermm-${API}/reference/html/functions_func_l.html +share/doc/gstreamermm-${API}/reference/html/functions_func_m.html +share/doc/gstreamermm-${API}/reference/html/functions_func_n.html +share/doc/gstreamermm-${API}/reference/html/functions_func_o.html +share/doc/gstreamermm-${API}/reference/html/functions_func_p.html +share/doc/gstreamermm-${API}/reference/html/functions_func_q.html +share/doc/gstreamermm-${API}/reference/html/functions_func_r.html +share/doc/gstreamermm-${API}/reference/html/functions_func_s.html +share/doc/gstreamermm-${API}/reference/html/functions_func_t.html +share/doc/gstreamermm-${API}/reference/html/functions_func_u.html +share/doc/gstreamermm-${API}/reference/html/functions_func_v.html +share/doc/gstreamermm-${API}/reference/html/functions_func_w.html +share/doc/gstreamermm-${API}/reference/html/functions_g.html +share/doc/gstreamermm-${API}/reference/html/functions_h.html +share/doc/gstreamermm-${API}/reference/html/functions_i.html +share/doc/gstreamermm-${API}/reference/html/functions_j.html +share/doc/gstreamermm-${API}/reference/html/functions_k.html +share/doc/gstreamermm-${API}/reference/html/functions_l.html +share/doc/gstreamermm-${API}/reference/html/functions_m.html +share/doc/gstreamermm-${API}/reference/html/functions_n.html +share/doc/gstreamermm-${API}/reference/html/functions_o.html +share/doc/gstreamermm-${API}/reference/html/functions_p.html +share/doc/gstreamermm-${API}/reference/html/functions_q.html +share/doc/gstreamermm-${API}/reference/html/functions_r.html +share/doc/gstreamermm-${API}/reference/html/functions_rela.html +share/doc/gstreamermm-${API}/reference/html/functions_s.html +share/doc/gstreamermm-${API}/reference/html/functions_t.html +share/doc/gstreamermm-${API}/reference/html/functions_type.html +share/doc/gstreamermm-${API}/reference/html/functions_u.html +share/doc/gstreamermm-${API}/reference/html/functions_v.html +share/doc/gstreamermm-${API}/reference/html/functions_vars.html +share/doc/gstreamermm-${API}/reference/html/functions_w.html +share/doc/gstreamermm-${API}/reference/html/functions_x.html +share/doc/gstreamermm-${API}/reference/html/functions_y.html +share/doc/gstreamermm-${API}/reference/html/graph_legend.html +share/doc/gstreamermm-${API}/reference/html/graph_legend.png +share/doc/gstreamermm-${API}/reference/html/group__GstBaseClasses.html +share/doc/gstreamermm-${API}/reference/html/group__GstHelperClasses.html +share/doc/gstreamermm-${API}/reference/html/group__GstInterfaces.html +share/doc/gstreamermm-${API}/reference/html/group__GstPlugins.html +share/doc/gstreamermm-${API}/reference/html/group__gstreamermmEnums.html +share/doc/gstreamermm-${API}/reference/html/hierarchy.html +share/doc/gstreamermm-${API}/reference/html/index.html +share/doc/gstreamermm-${API}/reference/html/inherit_graph_0.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_1.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_10.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_11.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_12.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_13.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_14.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_15.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_16.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_17.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_18.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_19.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_2.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_20.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_21.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_22.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_23.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_24.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_25.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_26.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_27.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_28.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_29.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_3.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_30.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_31.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_32.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_33.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_34.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_4.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_5.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_6.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_7.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_8.png +share/doc/gstreamermm-${API}/reference/html/inherit_graph_9.png +share/doc/gstreamermm-${API}/reference/html/inherits.html +share/doc/gstreamermm-${API}/reference/html/jquery.js +share/doc/gstreamermm-${API}/reference/html/menu.js +share/doc/gstreamermm-${API}/reference/html/menudata.js +share/doc/gstreamermm-${API}/reference/html/modules.html +share/doc/gstreamermm-${API}/reference/html/namespaceGlib.html +share/doc/gstreamermm-${API}/reference/html/namespaceGst.html +share/doc/gstreamermm-${API}/reference/html/namespaceGst_1_1Enums.html +share/doc/gstreamermm-${API}/reference/html/namespaceGst_1_1SDP.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_b.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_c.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_d.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_e.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_enum.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_b.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_c.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_d.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_e.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_f.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_i.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_l.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_m.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_n.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_o.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_p.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_q.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_r.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_s.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_t.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_u.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_eval_v.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_f.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_func.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_func_f.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_func_g.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_func_i.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_func_o.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_func_r.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_func_s.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_func_u.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_func_v.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_func_w.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_g.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_i.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_l.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_m.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_n.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_o.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_p.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_q.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_r.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_s.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_t.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_type.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_u.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_v.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_vars.html +share/doc/gstreamermm-${API}/reference/html/namespacemembers_w.html +share/doc/gstreamermm-${API}/reference/html/namespaces.html +share/doc/gstreamermm-${API}/reference/html/nav_f.png +share/doc/gstreamermm-${API}/reference/html/nav_g.png +share/doc/gstreamermm-${API}/reference/html/nav_h.png +share/doc/gstreamermm-${API}/reference/html/open.png +share/doc/gstreamermm-${API}/reference/html/pages.html +share/doc/gstreamermm-${API}/reference/html/since_1_6.html +share/doc/gstreamermm-${API}/reference/html/since_1_8.html +share/doc/gstreamermm-${API}/reference/html/splitbar.png +share/doc/gstreamermm-${API}/reference/html/structGst_1_1VideoRectangle-members.html +share/doc/gstreamermm-${API}/reference/html/structGst_1_1VideoRectangle.html +share/doc/gstreamermm-${API}/reference/html/sync_off.png +share/doc/gstreamermm-${API}/reference/html/sync_on.png +share/doc/gstreamermm-${API}/reference/html/tab_a.png +share/doc/gstreamermm-${API}/reference/html/tab_b.png +share/doc/gstreamermm-${API}/reference/html/tab_h.png +share/doc/gstreamermm-${API}/reference/html/tab_s.png +share/doc/gstreamermm-${API}/reference/html/tabs.css diff --git a/multimedia/gstreamer1/plugins-bad/CVS/Entries b/multimedia/gstreamer1/plugins-bad/CVS/Entries @@ -0,0 +1,3 @@ +D/pkg//// +/Makefile/1.113/Wed Feb 14 18:21:07 2024// +/distinfo/1.71/Wed Feb 14 18:21:07 2024// diff --git a/multimedia/gstreamer1/plugins-bad/CVS/Repository b/multimedia/gstreamer1/plugins-bad/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-bad diff --git a/multimedia/gstreamer1/plugins-bad/Makefile b/multimedia/gstreamer1/plugins-bad/Makefile @@ -0,0 +1,73 @@ +COMMENT= bad elements for GStreamer + +DISTNAME= gst-plugins-bad-${V} +PKGNAME= ${GST_PKGNAME_PREFIX}-plugins-bad-${V} + +SHARED_LIBS += gsturidownloader-1.0 5.1 # 0.2210.0 +SHARED_LIBS += gstadaptivedemux-1.0 4.1 # 0.2210.0 +SHARED_LIBS += gstbadaudio-1.0 3.1 # 0.2210.0 +SHARED_LIBS += gstbasecamerabinsrc-1.0 6.1 # 0.2210.0 +SHARED_LIBS += gstcodecparsers-1.0 6.1 # 0.2210.0 +SHARED_LIBS += gstcodecs-1.0 1.1 # 0.2210.0 +SHARED_LIBS += gstinsertbin-1.0 5.1 # 0.2210.0 +SHARED_LIBS += gstphotography-1.0 6.1 # 0.2210.0 +SHARED_LIBS += gstisoff-1.0 3.1 # 0.2210.0 +SHARED_LIBS += gstmpegts-1.0 5.1 # 0.2210.0 +SHARED_LIBS += gstplay-1.0 0.1 # 0.2210.0 +SHARED_LIBS += gstplayer-1.0 3.1 # 0.2210.0 +SHARED_LIBS += gstsctp-1.0 3.1 # 0.2210.0 +SHARED_LIBS += gsttranscoder-1.0 1.1 # 0 +SHARED_LIBS += gstwayland-1.0 0.0 # 0.2210.0 +SHARED_LIBS += gstwebrtc-1.0 3.1 # 0.2210.0 + +COMPILER_LANGS = c c++ + +WANTLIB += ${COMPILER_LIBCXX} SoundTouch X11 ass bs2b bz2 c cairo +WANTLIB += crypto gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 gstallocators-1.0 +WANTLIB += gstapp-1.0 gstaudio-1.0 gstbase-1.0 gstfft-1.0 gstnet-1.0 +WANTLIB += gstpbutils-1.0 gstreamer-1.0 gstrtp-1.0 gstsdp-1.0 +WANTLIB += gsttag-1.0 gstvideo-1.0 intl lcms2 m nettle opus orc-0.4 +WANTLIB += pango-1.0 pangocairo-1.0 rsvg-2 wayland-client xml2 + +SITES = ${SITE_GST:=gst-plugins-bad/} + +BUILD_DEPENDS= devel/gobject-introspection \ + wayland/wayland-protocols + +# needed for ${WRKSRC}/tests/ +BUILD_DEPENDS += graphics/libexif + +LIB_DEPENDS= ${P}/plugins-base=${V} \ + audio/libbs2b \ + audio/opus \ + audio/soundtouch \ + graphics/lcms2 \ + multimedia/libass \ + security/libnettle \ + x11/gnome/librsvg + +# each plugin that has an external dependency is disabled unless proven useful +DISABLED += opencv aom androidmedia applemedia bluez ldac +DISABLED += chromaprint curl curl-ssh2 dc1394 decklink directfb +DISABLED += dtls dts dvb faac faad fbdev fdkaac flite fluidsynth +DISABLED += gme gsm iqa kate ladspa libde265 lv2 modplug mpeg2enc +DISABLED += mplex msdk musepack neon openal openexr gs isac onnx +DISABLED += openh264 openjpeg openmpt openni2 opensles resindvd rtmp +DISABLED += sbc sctp sndfile spandsp srt srtp teletext tinyalsa +DISABLED += uvch264 voaacenc voamrwbenc vulkan wasapi webp openaptx +DISABLED += webrtc webrtcdsp wildmidi winks winscreencap wpe x265 +DISABLED += zbar magicleap v4l2codecs va wasapi2 avtp microdns +DISABLED += svthevcenc zxing qroverlay timecode amfcodec directshow +DISABLED += nvcodec qsv gtk3 dvbsuboverlay siren + +.for d in ${DISABLED} +CONFIGURE_ARGS += -D${d}=disabled +.endfor + +# XXX cannot set to 'openssl' because meson.build will fail because of +# hls_crypto_dep not deing defined (if not hls_crypto_dep.found ...) +CONFIGURE_ARGS += -Dhls-crypto="nettle" + +DEBUG_PACKAGES= ${BUILD_PACKAGES} + +.include <bsd.port.mk> diff --git a/multimedia/gstreamer1/plugins-bad/distinfo b/multimedia/gstreamer1/plugins-bad/distinfo @@ -0,0 +1,2 @@ +SHA256 (gstreamer/gst-plugins-bad-1.22.10.tar.xz) = 2rzWDHYhZbsEPrp1PVmSElFMlGhOTbmi4lSEy2UI678= +SIZE (gstreamer/gst-plugins-bad-1.22.10.tar.xz) = 5549660 diff --git a/multimedia/gstreamer1/plugins-bad/pkg/CVS/Entries b/multimedia/gstreamer1/plugins-bad/pkg/CVS/Entries @@ -0,0 +1,3 @@ +/DESCR/1.2/Tue Sep 24 18:30:23 2013// +/PLIST/1.40/Sat Nov 25 18:20:23 2023// +D diff --git a/multimedia/gstreamer1/plugins-bad/pkg/CVS/Repository b/multimedia/gstreamer1/plugins-bad/pkg/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-bad/pkg diff --git a/multimedia/gstreamer1/plugins-bad/pkg/DESCR b/multimedia/gstreamer1/plugins-bad/pkg/DESCR @@ -0,0 +1,11 @@ +This is GStreamer, a framework for streaming media. +This package contains the "bad" elements for gstreamer-${API}. + + "That an accusation?" + +No perfectly groomed moustache or any amount of fine clothing is going +to cover up the truth - these plug-ins are Bad with a capital B. +They look fine on the outside, and might even appear to get the job +done, but at the end of the day they're a black sheep. Without a +golden-haired angel to watch over them, they'll probably land in an +unmarked grave at the final showdown. diff --git a/multimedia/gstreamer1/plugins-bad/pkg/PLIST b/multimedia/gstreamer1/plugins-bad/pkg/PLIST @@ -0,0 +1,290 @@ +@bin bin/gst-transcoder-${API} +include/gstreamer-${API}/gst/audio/audio-bad-prelude.h +include/gstreamer-${API}/gst/audio/gstnonstreamaudiodecoder.h +include/gstreamer-${API}/gst/audio/gstplanaraudioadapter.h +include/gstreamer-${API}/gst/basecamerabinsrc/ +include/gstreamer-${API}/gst/basecamerabinsrc/basecamerabinsrc-prelude.h +include/gstreamer-${API}/gst/basecamerabinsrc/gstbasecamerasrc.h +include/gstreamer-${API}/gst/basecamerabinsrc/gstcamerabin-enum.h +include/gstreamer-${API}/gst/basecamerabinsrc/gstcamerabinpreview.h +include/gstreamer-${API}/gst/codecparsers/ +include/gstreamer-${API}/gst/codecparsers/codecparsers-prelude.h +include/gstreamer-${API}/gst/codecparsers/gstav1parser.h +include/gstreamer-${API}/gst/codecparsers/gsth264parser.h +include/gstreamer-${API}/gst/codecparsers/gsth265parser.h +include/gstreamer-${API}/gst/codecparsers/gstjpeg2000sampling.h +include/gstreamer-${API}/gst/codecparsers/gstjpegparser.h +include/gstreamer-${API}/gst/codecparsers/gstmpeg4parser.h +include/gstreamer-${API}/gst/codecparsers/gstmpegvideometa.h +include/gstreamer-${API}/gst/codecparsers/gstmpegvideoparser.h +include/gstreamer-${API}/gst/codecparsers/gstvc1parser.h +include/gstreamer-${API}/gst/codecparsers/gstvp8parser.h +include/gstreamer-${API}/gst/codecparsers/gstvp8rangedecoder.h +include/gstreamer-${API}/gst/codecparsers/gstvp9parser.h +include/gstreamer-${API}/gst/insertbin/ +include/gstreamer-${API}/gst/insertbin/gstinsertbin.h +include/gstreamer-${API}/gst/interfaces/ +include/gstreamer-${API}/gst/interfaces/photography-enumtypes.h +include/gstreamer-${API}/gst/interfaces/photography-prelude.h +include/gstreamer-${API}/gst/interfaces/photography.h +include/gstreamer-${API}/gst/isoff/ +include/gstreamer-${API}/gst/isoff/gstisoff.h +include/gstreamer-${API}/gst/mpegts/ +include/gstreamer-${API}/gst/mpegts/gst-atsc-descriptor.h +include/gstreamer-${API}/gst/mpegts/gst-atsc-section.h +include/gstreamer-${API}/gst/mpegts/gst-dvb-descriptor.h +include/gstreamer-${API}/gst/mpegts/gst-dvb-section.h +include/gstreamer-${API}/gst/mpegts/gst-hdmv-section.h +include/gstreamer-${API}/gst/mpegts/gst-isdb-descriptor.h +include/gstreamer-${API}/gst/mpegts/gst-scte-section.h +include/gstreamer-${API}/gst/mpegts/gstmpegts-enumtypes.h +include/gstreamer-${API}/gst/mpegts/gstmpegtsdescriptor.h +include/gstreamer-${API}/gst/mpegts/gstmpegtssection.h +include/gstreamer-${API}/gst/mpegts/mpegts-prelude.h +include/gstreamer-${API}/gst/mpegts/mpegts.h +include/gstreamer-${API}/gst/play/ +include/gstreamer-${API}/gst/play/gstplay-media-info.h +include/gstreamer-${API}/gst/play/gstplay-signal-adapter.h +include/gstreamer-${API}/gst/play/gstplay-types.h +include/gstreamer-${API}/gst/play/gstplay-video-overlay-video-renderer.h +include/gstreamer-${API}/gst/play/gstplay-video-renderer.h +include/gstreamer-${API}/gst/play/gstplay-visualization.h +include/gstreamer-${API}/gst/play/gstplay.h +include/gstreamer-${API}/gst/play/play-prelude.h +include/gstreamer-${API}/gst/play/play.h +include/gstreamer-${API}/gst/player/ +include/gstreamer-${API}/gst/player/gstplayer-g-main-context-signal-dispatcher.h +include/gstreamer-${API}/gst/player/gstplayer-media-info.h +include/gstreamer-${API}/gst/player/gstplayer-signal-dispatcher.h +include/gstreamer-${API}/gst/player/gstplayer-types.h +include/gstreamer-${API}/gst/player/gstplayer-video-overlay-video-renderer.h +include/gstreamer-${API}/gst/player/gstplayer-video-renderer.h +include/gstreamer-${API}/gst/player/gstplayer-visualization.h +include/gstreamer-${API}/gst/player/gstplayer.h +include/gstreamer-${API}/gst/player/player-prelude.h +include/gstreamer-${API}/gst/player/player.h +include/gstreamer-${API}/gst/sctp/ +include/gstreamer-${API}/gst/sctp/sctp-prelude.h +include/gstreamer-${API}/gst/sctp/sctpreceivemeta.h +include/gstreamer-${API}/gst/sctp/sctpsendmeta.h +include/gstreamer-${API}/gst/transcoder/ +include/gstreamer-${API}/gst/transcoder/gsttranscoder-signal-adapter.h +include/gstreamer-${API}/gst/transcoder/gsttranscoder.h +include/gstreamer-${API}/gst/transcoder/transcoder-enumtypes.h +include/gstreamer-${API}/gst/transcoder/transcoder-prelude.h +include/gstreamer-${API}/gst/uridownloader/ +include/gstreamer-${API}/gst/uridownloader/gstfragment.h +include/gstreamer-${API}/gst/uridownloader/gsturidownloader.h +include/gstreamer-${API}/gst/uridownloader/gsturidownloader_debug.h +include/gstreamer-${API}/gst/uridownloader/uridownloader-prelude.h +include/gstreamer-${API}/gst/wayland/ +include/gstreamer-${API}/gst/wayland/gstwl_fwd.h +include/gstreamer-${API}/gst/wayland/gstwlbuffer.h +include/gstreamer-${API}/gst/wayland/gstwlcontext.h +include/gstreamer-${API}/gst/wayland/gstwldisplay.h +include/gstreamer-${API}/gst/wayland/gstwllinuxdmabuf.h +include/gstreamer-${API}/gst/wayland/gstwlshmallocator.h +include/gstreamer-${API}/gst/wayland/gstwlvideobufferpool.h +include/gstreamer-${API}/gst/wayland/gstwlvideoformat.h +include/gstreamer-${API}/gst/wayland/gstwlwindow.h +include/gstreamer-${API}/gst/wayland/wayland-prelude.h +include/gstreamer-${API}/gst/wayland/wayland.h +include/gstreamer-${API}/gst/webrtc/ +include/gstreamer-${API}/gst/webrtc/datachannel.h +include/gstreamer-${API}/gst/webrtc/dtlstransport.h +include/gstreamer-${API}/gst/webrtc/ice.h +include/gstreamer-${API}/gst/webrtc/icestream.h +include/gstreamer-${API}/gst/webrtc/icetransport.h +include/gstreamer-${API}/gst/webrtc/rtcsessiondescription.h +include/gstreamer-${API}/gst/webrtc/rtpreceiver.h +include/gstreamer-${API}/gst/webrtc/rtpsender.h +include/gstreamer-${API}/gst/webrtc/rtptransceiver.h +include/gstreamer-${API}/gst/webrtc/sctptransport.h +include/gstreamer-${API}/gst/webrtc/webrtc-enumtypes.h +include/gstreamer-${API}/gst/webrtc/webrtc.h +include/gstreamer-${API}/gst/webrtc/webrtc_fwd.h +lib/girepository-${API}/GstBadAudio-${API}.typelib +lib/girepository-${API}/GstCodecs-${API}.typelib +lib/girepository-${API}/GstInsertBin-${API}.typelib +lib/girepository-${API}/GstMpegts-${API}.typelib +lib/girepository-${API}/GstPlay-${API}.typelib +lib/girepository-${API}/GstPlayer-${API}.typelib +lib/girepository-${API}/GstTranscoder-${API}.typelib +lib/girepository-${API}/GstWebRTC-${API}.typelib +@so lib/gstreamer-${API}/libgstaccurip.so +@so lib/gstreamer-${API}/libgstadpcmdec.so +@so lib/gstreamer-${API}/libgstadpcmenc.so +@so lib/gstreamer-${API}/libgstaes.so +@so lib/gstreamer-${API}/libgstaiff.so +@so lib/gstreamer-${API}/libgstasfmux.so +@so lib/gstreamer-${API}/libgstassrender.so +@so lib/gstreamer-${API}/libgstaudiobuffersplit.so +@so lib/gstreamer-${API}/libgstaudiofxbad.so +@so lib/gstreamer-${API}/libgstaudiolatency.so +@so lib/gstreamer-${API}/libgstaudiomixmatrix.so +@so lib/gstreamer-${API}/libgstaudiovisualizers.so +@so lib/gstreamer-${API}/libgstautoconvert.so +@so lib/gstreamer-${API}/libgstbayer.so +@so lib/gstreamer-${API}/libgstbs2b.so +@so lib/gstreamer-${API}/libgstbz2.so +@so lib/gstreamer-${API}/libgstcamerabin.so +@so lib/gstreamer-${API}/libgstclosedcaption.so +@so lib/gstreamer-${API}/libgstcodecalpha.so +@so lib/gstreamer-${API}/libgstcodectimestamper.so +@so lib/gstreamer-${API}/libgstcoloreffects.so +@so lib/gstreamer-${API}/libgstcolormanagement.so +@so lib/gstreamer-${API}/libgstdash.so +@so lib/gstreamer-${API}/libgstdebugutilsbad.so +@so lib/gstreamer-${API}/libgstdvbsubenc.so +@so lib/gstreamer-${API}/libgstdvdspu.so +@so lib/gstreamer-${API}/libgstfaceoverlay.so +@so lib/gstreamer-${API}/libgstfestival.so +@so lib/gstreamer-${API}/libgstfieldanalysis.so +@so lib/gstreamer-${API}/libgstfreeverb.so +@so lib/gstreamer-${API}/libgstfrei0r.so +@so lib/gstreamer-${API}/libgstgaudieffects.so +@so lib/gstreamer-${API}/libgstgdp.so +@so lib/gstreamer-${API}/libgstgeometrictransform.so +@so lib/gstreamer-${API}/libgsthls.so +@so lib/gstreamer-${API}/libgstid3tag.so +@so lib/gstreamer-${API}/libgstinter.so +@so lib/gstreamer-${API}/libgstinterlace.so +@so lib/gstreamer-${API}/libgstipcpipeline.so +@so lib/gstreamer-${API}/libgstivfparse.so +@so lib/gstreamer-${API}/libgstivtc.so +@so lib/gstreamer-${API}/libgstjp2kdecimator.so +@so lib/gstreamer-${API}/libgstjpegformat.so +@so lib/gstreamer-${API}/libgstlegacyrawparse.so +@so lib/gstreamer-${API}/libgstmidi.so +@so lib/gstreamer-${API}/libgstmpegpsdemux.so +@so lib/gstreamer-${API}/libgstmpegpsmux.so +@so lib/gstreamer-${API}/libgstmpegtsdemux.so +@so lib/gstreamer-${API}/libgstmpegtsmux.so +@so lib/gstreamer-${API}/libgstmxf.so +@so lib/gstreamer-${API}/libgstnetsim.so +@so lib/gstreamer-${API}/libgstopusparse.so +@so lib/gstreamer-${API}/libgstpcapparse.so +@so lib/gstreamer-${API}/libgstpnm.so +@so lib/gstreamer-${API}/libgstproxy.so +@so lib/gstreamer-${API}/libgstremovesilence.so +@so lib/gstreamer-${API}/libgstrfbsrc.so +@so lib/gstreamer-${API}/libgstrist.so +@so lib/gstreamer-${API}/libgstrsvg.so +@so lib/gstreamer-${API}/libgstrtmp2.so +@so lib/gstreamer-${API}/libgstrtpmanagerbad.so +@so lib/gstreamer-${API}/libgstrtponvif.so +@so lib/gstreamer-${API}/libgstsdpelem.so +@so lib/gstreamer-${API}/libgstsegmentclip.so +@so lib/gstreamer-${API}/libgstshm.so +@so lib/gstreamer-${API}/libgstsmooth.so +@so lib/gstreamer-${API}/libgstsmoothstreaming.so +@so lib/gstreamer-${API}/libgstsoundtouch.so +@so lib/gstreamer-${API}/libgstspeed.so +@so lib/gstreamer-${API}/libgstsubenc.so +@so lib/gstreamer-${API}/libgstswitchbin.so +@so lib/gstreamer-${API}/libgsttranscode.so +@so lib/gstreamer-${API}/libgstttmlsubs.so +@so lib/gstreamer-${API}/libgstvideofiltersbad.so +@so lib/gstreamer-${API}/libgstvideoframe_audiolevel.so +@so lib/gstreamer-${API}/libgstvideoparsersbad.so +@so lib/gstreamer-${API}/libgstvideosignal.so +@so lib/gstreamer-${API}/libgstvmnc.so +@so lib/gstreamer-${API}/libgstwaylandsink.so +@so lib/gstreamer-${API}/libgsty4mdec.so +@lib lib/libgstadaptivedemux-${API}.so.${LIBgstadaptivedemux-${API}_VERSION} +@lib lib/libgstbadaudio-${API}.so.${LIBgstbadaudio-${API}_VERSION} +@lib lib/libgstbasecamerabinsrc-${API}.so.${LIBgstbasecamerabinsrc-${API}_VERSION} +@lib lib/libgstcodecparsers-${API}.so.${LIBgstcodecparsers-${API}_VERSION} +@lib lib/libgstcodecs-${API}.so.${LIBgstcodecs-${API}_VERSION} +@lib lib/libgstinsertbin-${API}.so.${LIBgstinsertbin-${API}_VERSION} +@lib lib/libgstisoff-${API}.so.${LIBgstisoff-${API}_VERSION} +@lib lib/libgstmpegts-${API}.so.${LIBgstmpegts-${API}_VERSION} +@lib lib/libgstphotography-${API}.so.${LIBgstphotography-${API}_VERSION} +@lib lib/libgstplay-${API}.so.${LIBgstplay-${API}_VERSION} +@lib lib/libgstplayer-${API}.so.${LIBgstplayer-${API}_VERSION} +@lib lib/libgstsctp-${API}.so.${LIBgstsctp-${API}_VERSION} +@lib lib/libgsttranscoder-${API}.so.${LIBgsttranscoder-${API}_VERSION} +@lib lib/libgsturidownloader-${API}.so.${LIBgsturidownloader-${API}_VERSION} +@lib lib/libgstwayland-${API}.so.${LIBgstwayland-${API}_VERSION} +@lib lib/libgstwebrtc-${API}.so.${LIBgstwebrtc-${API}_VERSION} +lib/pkgconfig/gstreamer-bad-audio-${API}.pc +lib/pkgconfig/gstreamer-codecparsers-${API}.pc +lib/pkgconfig/gstreamer-insertbin-${API}.pc +lib/pkgconfig/gstreamer-mpegts-${API}.pc +lib/pkgconfig/gstreamer-photography-${API}.pc +lib/pkgconfig/gstreamer-play-${API}.pc +lib/pkgconfig/gstreamer-player-${API}.pc +lib/pkgconfig/gstreamer-plugins-bad-${API}.pc +lib/pkgconfig/gstreamer-sctp-${API}.pc +lib/pkgconfig/gstreamer-transcoder-${API}.pc +lib/pkgconfig/gstreamer-wayland-${API}.pc +lib/pkgconfig/gstreamer-webrtc-${API}.pc +share/gir-${API}/GstBadAudio-${API}.gir +share/gir-${API}/GstCodecs-${API}.gir +share/gir-${API}/GstInsertBin-${API}.gir +share/gir-${API}/GstMpegts-${API}.gir +share/gir-${API}/GstPlay-${API}.gir +share/gir-${API}/GstPlayer-${API}.gir +share/gir-${API}/GstTranscoder-${API}.gir +share/gir-${API}/GstWebRTC-${API}.gir +share/gstreamer-${API}/encoding-profiles/ +share/gstreamer-${API}/encoding-profiles/device/ +share/gstreamer-${API}/encoding-profiles/device/dvd.gep +share/gstreamer-${API}/encoding-profiles/file-extension/ +share/gstreamer-${API}/encoding-profiles/file-extension/avi.gep +share/gstreamer-${API}/encoding-profiles/file-extension/flv.gep +share/gstreamer-${API}/encoding-profiles/file-extension/mkv.gep +share/gstreamer-${API}/encoding-profiles/file-extension/mp3.gep +share/gstreamer-${API}/encoding-profiles/file-extension/mp4.gep +share/gstreamer-${API}/encoding-profiles/file-extension/oga.gep +share/gstreamer-${API}/encoding-profiles/file-extension/ogv.gep +share/gstreamer-${API}/encoding-profiles/file-extension/ts.gep +share/gstreamer-${API}/encoding-profiles/file-extension/webm.gep +share/gstreamer-${API}/encoding-profiles/online-services/ +share/gstreamer-${API}/encoding-profiles/online-services/youtube.gep +share/gstreamer-${API}/presets/ +share/gstreamer-${API}/presets/GstFreeverb.prs +share/locale/af/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/ast/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/az/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/bg/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/ca/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/cs/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/da/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/de/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/el/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/en_GB/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/eo/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/es/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/eu/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/fi/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/fr/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/fur/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/gl/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/hr/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/hu/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/id/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/it/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/ja/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/ka/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/ky/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/lt/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/lv/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/mt/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/nb/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/nl/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/or/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/pl/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/pt_BR/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/ro/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/ru/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/sk/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/sl/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/sq/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/sr/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/sv/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/tr/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/uk/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/vi/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/zh_CN/LC_MESSAGES/gst-plugins-bad-${API}.mo +share/locale/zh_TW/LC_MESSAGES/gst-plugins-bad-${API}.mo diff --git a/multimedia/gstreamer1/plugins-base/CVS/Entries b/multimedia/gstreamer1/plugins-base/CVS/Entries @@ -0,0 +1,5 @@ +D/files//// +D/patches//// +D/pkg//// +/Makefile/1.105/Wed Feb 14 18:21:07 2024// +/distinfo/1.71/Wed Feb 14 18:21:07 2024// diff --git a/multimedia/gstreamer1/plugins-base/CVS/Repository b/multimedia/gstreamer1/plugins-base/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-base diff --git a/multimedia/gstreamer1/plugins-base/Makefile b/multimedia/gstreamer1/plugins-base/Makefile @@ -0,0 +1,64 @@ +COMMENT= base elements for GStreamer + +DISTNAME= gst-plugins-base-${V} +PKGNAME= ${GST_PKGNAME_PREFIX}-plugins-base-${V} + +SHARED_LIBS += gsttag-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstfft-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstvideo-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstaudio-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstrtp-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstpbutils-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstsdp-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstrtsp-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstriff-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstapp-1.0 7.1 # 0.2210.0 +SHARED_LIBS += gstallocators-1.0 6.1 # 0.2210.0 +SHARED_LIBS += gstgl-1.0 6.1 # 0.2210.0 + +SITES= ${SITE_GST:=gst-plugins-base/} + +WANTLIB += EGL GL X11 X11-xcb Xext Xi Xv c cairo cdda_interface +WANTLIB += cdda_paranoia gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 +WANTLIB += graphene-1.0 gstbase-1.0 gstcontroller-1.0 gstnet-1.0 +WANTLIB += gstreamer-1.0 intl jpeg m ogg opus orc-0.4 pango-1.0 +WANTLIB += pangocairo-1.0 png sndio theoradec theoraenc vorbis +WANTLIB += vorbisenc wayland-client wayland-cursor wayland-egl +WANTLIB += xcb z + +BUILD_DEPENDS= devel/iso-codes \ + devel/gobject-introspection \ + wayland/wayland-protocols + +RUN_DEPENDS= devel/iso-codes + +LIB_DEPENDS= ${P}/core=${V} \ + audio/cdparanoia \ + audio/libvorbis \ + audio/opus \ + devel/orc \ + devel/pango \ + graphics/graphene \ + graphics/jpeg \ + multimedia/libtheora \ + wayland/wayland + +# optional dependency for the the gio plugin; +# disabled because of cyclic build dependency: +# x11/gtk+4 -> gst-plugins-{bad,base} -> gvfs -> gtk+4,-guic -> x11/gtk+4 +#RUN_DEPENDS += x11/gnome/gvfs + +CONFIGURE_ARGS= -Dalsa=disabled + +#XXX libvisual needs to be ported +CONFIGURE_ARGS += -Dlibvisual=disabled + +# XXX needs vorbisidec +CONFIGURE_ARGS += -Dtremor=disabled + +DEBUG_PACKAGES= ${BUILD_PACKAGES} + +post-extract: + cp -R ${FILESDIR} ${WRKSRC}/ext/sndio + +.include <bsd.port.mk> diff --git a/multimedia/gstreamer1/plugins-base/distinfo b/multimedia/gstreamer1/plugins-base/distinfo @@ -0,0 +1,2 @@ +SHA256 (gstreamer/gst-plugins-base-1.22.10.tar.xz) = hDo6LaKOHuau6lbdK+m//MO0u80Pl066Sr/DqjHwOZw= +SIZE (gstreamer/gst-plugins-base-1.22.10.tar.xz) = 2371240 diff --git a/multimedia/gstreamer1/plugins-base/files/CVS/Entries b/multimedia/gstreamer1/plugins-base/files/CVS/Entries @@ -0,0 +1,8 @@ +/sndiosink.h/1.1/Sat Sep 22 07:34:44 2012// +/sndiosrc.h/1.1/Sat Sep 22 07:34:44 2012// +/sndiosink.c/1.2/Mon Nov 3 08:38:19 2014// +/gstsndio.c/1.4/Sun Apr 21 17:16:00 2019// +/gstsndio.h/1.3/Sun Apr 21 17:16:00 2019// +/sndiosrc.c/1.3/Sun Apr 21 17:16:00 2019// +/meson.build/1.3/Wed Jan 25 18:20:48 2023// +D diff --git a/multimedia/gstreamer1/plugins-base/files/CVS/Repository b/multimedia/gstreamer1/plugins-base/files/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-base/files diff --git a/multimedia/gstreamer1/plugins-base/files/gstsndio.c b/multimedia/gstreamer1/plugins-base/files/gstsndio.c @@ -0,0 +1,403 @@ +/* + * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org> + * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <stdio.h> +#include "gstsndio.h" + +GST_DEBUG_CATEGORY (gst_sndio_debug); +#define GST_CAT_DEFAULT gst_sndio_debug + +GType gst_sndiosink_get_type (void); +GType gst_sndiosrc_get_type (void); + +static gboolean +plugin_init (GstPlugin * plugin) +{ + GST_DEBUG_CATEGORY_INIT (gst_sndio_debug, "sndio", 0, "sndio plugins"); + + /* prefer sndiosrc over pulsesrc (GST_RANK_PRIMARY + 10) */ + if (!gst_element_register (plugin, "sndiosrc", GST_RANK_PRIMARY + 20, + gst_sndiosrc_get_type())) + return FALSE; + /* prefer sndiosink over pulsesink (GST_RANK_PRIMARY + 10) */ + if (!gst_element_register (plugin, "sndiosink", GST_RANK_PRIMARY + 20, + gst_sndiosink_get_type())) + return FALSE; + return TRUE; +} + +GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, + GST_VERSION_MINOR, + sndio, + "sndio plugin library", + plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN) + +/* + * common code to src and sink + */ + +void +gst_sndio_init (struct gstsndio *sio, GObject *obj) +{ + sio->obj = obj; + sio->hdl = NULL; + sio->device = g_strdup (SIO_DEVANY); + /* XXX not implemented; only used for src, not sink */ + // sio->driver_timestamps = FALSE; +} + +void +gst_sndio_finalize (struct gstsndio *sio) +{ + gst_caps_replace (&sio->cur_caps, NULL); + g_free (sio->device); +} + +GstCaps * +gst_sndio_getcaps (struct gstsndio *sio, GstCaps * filter) +{ + if (sio->cur_caps == NULL) { + /* XXX */ + GST_LOG_OBJECT (sio->obj, "getcaps called, returning template caps"); + return NULL; + } + + GST_LOG_OBJECT (sio->obj, "returning %" GST_PTR_FORMAT, sio->cur_caps); + + if (filter) { + return gst_caps_intersect_full (filter, + sio->cur_caps, GST_CAPS_INTERSECT_FIRST); + } else { + return gst_caps_ref (sio->cur_caps); + } +} + +static void +gst_sndio_onvol (void *arg, unsigned int vol) +{ + struct gstsndio *sio = arg; + sio->volume = vol; + g_object_notify (G_OBJECT (sio->obj), "mute"); + g_object_notify (G_OBJECT (sio->obj), "volume"); +} + +gboolean +gst_sndio_open (struct gstsndio *sio, gint mode) +{ + GValue list = G_VALUE_INIT, item = G_VALUE_INIT; + GstStructure *s; + GstCaps *caps; + struct sio_enc *enc; + struct sio_cap cap; + char fmt[16]; + int i, chan; + + GST_DEBUG_OBJECT (sio->obj, "open"); + + sio->hdl = sio_open (sio->device, mode, 0); + if (sio->hdl == NULL) { + GST_ELEMENT_ERROR (sio->obj, RESOURCE, OPEN_READ_WRITE, + ("Couldn't open sndio device"), (NULL)); + return FALSE; + } + sio->mode = mode; + + if (!sio_getcap(sio->hdl, &cap)) { + GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE, + ("Couldn't get device capabilities"), (NULL)); + sio_close(sio->hdl); + sio->hdl = NULL; + return FALSE; + } + if (cap.nconf == 0) { + GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE, + ("Device has empty capabilities"), (NULL)); + sio_close(sio->hdl); + sio->hdl = NULL; + return FALSE; + } + sio_onvol (sio->hdl, gst_sndio_onvol, sio); + + caps = gst_caps_new_empty (); + s = gst_structure_new ("audio/x-raw", (char *)NULL, (void *)NULL); + + /* + * scan supported rates + */ + g_value_init (&list, GST_TYPE_LIST); + g_value_init (&item, G_TYPE_INT); + for (i = 0; i < SIO_NRATE; i++) { + if ((cap.confs[0].rate & (1 << i)) == 0) + continue; + g_value_set_int(&item, cap.rate[i]); + gst_value_list_append_value (&list, &item); + } + gst_structure_set_value (s, "rate", &list); + g_value_unset (&item); + g_value_unset (&list); + + /* + * scan supported channels + */ + g_value_init (&list, GST_TYPE_LIST); + g_value_init (&item, G_TYPE_INT); + chan = (mode == SIO_PLAY) ? cap.confs[0].pchan : cap.confs[0].rchan; + for (i = 0; i < SIO_NCHAN; i++) { + if ((chan & (1 << i)) == 0) + continue; + g_value_set_int(&item, (mode == SIO_PLAY) ? cap.pchan[i] : cap.rchan[i]); + gst_value_list_append_value (&list, &item); + } + gst_structure_set_value (s, "channels", &list); + g_value_unset (&item); + g_value_unset (&list); + + /* + * scan supported encodings + */ + g_value_init (&list, GST_TYPE_LIST); + g_value_init (&item, G_TYPE_STRING); + for (i = 0; i < SIO_NENC; i++) { + if ((cap.confs[0].enc & (1 << i)) == 0) + continue; + enc = cap.enc + i; + if (enc->bits % 8 != 0) + continue; + if (enc->bits < enc->bps * 8 && enc->msb) + continue; + if (enc->bits == enc->bps * 8) { + snprintf(fmt, sizeof(fmt), "%s%u%s", + enc->sig ? "S" : "U", + enc->bits, + enc->bps > 1 ? (enc->le ? "LE" : "BE") : ""); + } else { + snprintf(fmt, sizeof(fmt), "%s%u_%u%s", + enc->sig ? "S" : "U", + enc->bits, + enc->bps * 8, + enc->bps > 1 ? (enc->le ? "LE" : "BE") : ""); + } + g_value_set_string(&item, fmt); + gst_value_list_append_value (&list, &item); + } + gst_structure_set_value (s, "format", &list); + g_value_unset (&item); + g_value_unset (&list); + + /* + * add the only supported layout: interleaved + */ + g_value_init (&item, G_TYPE_STRING); + g_value_set_string(&item, "interleaved"); + gst_structure_set_value (s, "layout", &item); + g_value_unset (&item); + + gst_caps_append_structure (caps, s); + sio->cur_caps = caps; + GST_DEBUG ("caps are %s", gst_caps_to_string(caps)); + return TRUE; +} + +gboolean +gst_sndio_close (struct gstsndio *sio) +{ + GST_DEBUG_OBJECT (sio->obj, "close"); + + gst_caps_replace (&sio->cur_caps, NULL); + sio_close (sio->hdl); + sio->hdl = NULL; + return TRUE; +} + +static void +gst_sndio_cb (void *addr, int delta) +{ + struct gstsndio *sio = addr; + + delta *= sio->bpf; + if (sio->mode == SIO_PLAY) + sio->delay -= delta; + else + sio->delay += delta; +} + +gboolean +gst_sndio_prepare (struct gstsndio *sio, GstAudioRingBufferSpec *spec) +{ + struct sio_par par, retpar; + unsigned nchannels; + + GST_DEBUG_OBJECT (sio, "prepare"); + + if (spec->type != GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW) { + GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE, + ("Only raw buffer format supported by sndio"), (NULL)); + return FALSE; + } + if (!GST_AUDIO_INFO_IS_INTEGER(&spec->info)) { + GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE, + ("Only integer format supported"), (NULL)); + return FALSE; + } + if (GST_AUDIO_INFO_DEPTH(&spec->info) % 8) { + GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE, + ("Only depths multiple of 8 are supported"), (NULL)); + return FALSE; + } + + sio_initpar (&par); + switch (GST_AUDIO_INFO_FORMAT (&spec->info)) { + case GST_AUDIO_FORMAT_S8: + case GST_AUDIO_FORMAT_U8: + case GST_AUDIO_FORMAT_S16LE: + case GST_AUDIO_FORMAT_S16BE: + case GST_AUDIO_FORMAT_U16LE: + case GST_AUDIO_FORMAT_U16BE: + case GST_AUDIO_FORMAT_S32LE: + case GST_AUDIO_FORMAT_S32BE: + case GST_AUDIO_FORMAT_U32LE: + case GST_AUDIO_FORMAT_U32BE: + case GST_AUDIO_FORMAT_S24_32LE: + case GST_AUDIO_FORMAT_S24_32BE: + case GST_AUDIO_FORMAT_U24_32LE: + case GST_AUDIO_FORMAT_U24_32BE: + case GST_AUDIO_FORMAT_S24LE: + case GST_AUDIO_FORMAT_S24BE: + case GST_AUDIO_FORMAT_U24LE: + case GST_AUDIO_FORMAT_U24BE: + break; + default: + GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE, + ("Unsupported audio format"), + ("format = %d", GST_AUDIO_INFO_FORMAT (&spec->info))); + return FALSE; + } + par.sig = GST_AUDIO_INFO_IS_SIGNED(&spec->info); + par.bits = GST_AUDIO_INFO_WIDTH(&spec->info); + par.bps = GST_AUDIO_INFO_DEPTH(&spec->info) / 8; + if (par.bps > 1) + par.le = GST_AUDIO_INFO_IS_LITTLE_ENDIAN(&spec->info); + if (par.bits < par.bps * 8) + par.msb = 0; + par.rate = GST_AUDIO_INFO_RATE(&spec->info); + if (sio->mode == SIO_PLAY) + par.pchan = GST_AUDIO_INFO_CHANNELS(&spec->info); + else + par.rchan = GST_AUDIO_INFO_CHANNELS(&spec->info); + par.round = par.rate / 1000000. * spec->latency_time; + par.appbufsz = par.rate / 1000000. * spec->buffer_time; + + if (!sio_setpar (sio->hdl, &par)) { + GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE, + ("Unsupported audio encoding"), (NULL)); + return FALSE; + } + if (!sio_getpar (sio->hdl, &retpar)) { + GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE, + ("Couldn't get audio device parameters"), (NULL)); + return FALSE; + } +#if 0 + GST_DEBUG ("format = %s, " + "requested: sig = %d, bits = %d, bps = %d, le = %d, msb = %d, " + "rate = %d, pchan = %d, round = %d, appbufsz = %d; " + "returned: sig = %d, bits = %d, bps = %d, le = %d, msb = %d, " + "rate = %d, pchan = %d, round = %d, appbufsz = %d, bufsz = %d", + GST_AUDIO_INFO_NAME(&spec->info), + par.sig, par.bits, par.bps, par.le, par.msb, + par.rate, par.pchan, par.round, par.appbufsz, + retpar.sig, retpar.bits, retpar.bps, retpar.le, retpar.msb, + retpar.rate, retpar.pchan, retpar.round, retpar.appbufsz, retpar.bufsz); +#endif + if (par.bits != retpar.bits || + par.bps != retpar.bps || + par.rate != retpar.rate || + (sio->mode == SIO_PLAY && par.pchan != retpar.pchan) || + (sio->mode == SIO_REC && par.rchan != retpar.rchan) || + (par.bps > 1 && par.le != retpar.le) || + (par.bits < par.bps * 8 && par.msb != retpar.msb)) { + GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE, + ("Audio device refused requested parameters"), (NULL)); + return FALSE; + } + + nchannels = (sio->mode == SIO_PLAY) ? retpar.pchan : retpar.rchan; + spec->segsize = retpar.round * retpar.bps * nchannels; + spec->segtotal = retpar.bufsz / retpar.round; + sio->bpf = retpar.bps * nchannels; + sio->delay = 0; + sio_onmove (sio->hdl, gst_sndio_cb, sio); + + if (!sio_start (sio->hdl)) { + GST_ELEMENT_ERROR (sio->obj, RESOURCE, OPEN_READ_WRITE, + ("Could not start sndio"), (NULL)); + return FALSE; + } + return TRUE; +} + +gboolean +gst_sndio_unprepare (struct gstsndio *sio) +{ + if (sio->hdl) + sio_stop (sio->hdl); + return TRUE; +} + +void +gst_sndio_set_property (struct gstsndio *sio, guint prop_id, + const GValue * value, GParamSpec * pspec) +{ + switch (prop_id) { + case PROP_DEVICE: + g_free (sio->device); + sio->device = g_value_dup_string (value); + break; + case PROP_VOLUME: + sio_setvol (sio->hdl, g_value_get_double (value) * SIO_MAXVOL); + break; + case PROP_MUTE: + if (g_value_get_boolean (value)) + sio_setvol (sio->hdl, 0); + break; + default: + break; + } +} + +void +gst_sndio_get_property (struct gstsndio *sio, guint prop_id, + GValue * value, GParamSpec * pspec) +{ + switch (prop_id) { + case PROP_DEVICE: + g_value_set_string (value, sio->device); + break; + case PROP_VOLUME: + g_value_set_double (value, (gdouble)sio->volume / SIO_MAXVOL); + break; + case PROP_MUTE: + g_value_set_boolean (value, (sio->volume == 0)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (sio->obj, prop_id, pspec); + } +} diff --git a/multimedia/gstreamer1/plugins-base/files/gstsndio.h b/multimedia/gstreamer1/plugins-base/files/gstsndio.h @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +#ifndef __GST_SNDIO_H__ +#define __GST_SNDIO_H__ + +#include <sndio.h> +#include <gst/gst.h> +#include <gst/audio/gstaudiosink.h> +#include <gst/audio/gstaudiosrc.h> +#include <gst/audio/streamvolume.h> + +enum +{ + PROP_0, + PROP_DEVICE, + PROP_VOLUME, + PROP_MUTE +}; + +#define GST_SNDIO_CAPS_STRING \ + "audio/x-raw, " \ + "format = (string) { " \ + "S8, U8, " \ + "S16LE, S16BE, U16LE, U16BE, " \ + "S32LE, S32BE, U32LE, U32BE, " \ + "S24_32LE, S24_32BE, U24_32LE, " \ + "U24_32BE, S24LE, S24BE, U24LE, U24BE " \ + "}, " \ + "layout = (string) interleaved, " \ + "rate = (int) [ 8000, 192000 ], " \ + "channels = (int) [1, 16]" + +/* + * data common to src and sink + */ +struct gstsndio { + struct sio_hdl *hdl; + gchar *device; + gint mode; + gint bpf; /* bytes per frame */ + gint delay; /* bytes stored in the audio fifo */ + guint volume; /* volume level */ + GstCaps *cur_caps; /* saved capabilities of opened device */ + GObject *obj; /* for logging */ + gboolean driver_timestamps; +}; + +#define GST_SNDIO_DELAY(s) ((s)->delay / (s)->bpf) + +void gst_sndio_init (struct gstsndio *sio, GObject *obj); +void gst_sndio_finalize (struct gstsndio *sio); +GstCaps *gst_sndio_getcaps (struct gstsndio *sio, GstCaps * filter); +gboolean gst_sndio_open (struct gstsndio *sio, gint mode); +gboolean gst_sndio_close (struct gstsndio *sio); +gboolean gst_sndio_prepare (struct gstsndio *sio, GstAudioRingBufferSpec *spec); +gboolean gst_sndio_unprepare (struct gstsndio *sio); +void gst_sndio_set_property (struct gstsndio *sio, guint prop_id, + const GValue * value, GParamSpec * pspec); +void gst_sndio_get_property (struct gstsndio *sio, guint prop_id, + GValue * value, GParamSpec * pspec); + +int gst_sndio_setpar(gpointer sio, GstAudioRingBufferSpec * spec, + int mode, struct sio_hdl *hdl); +GstCaps *gst_sndio_caps (gpointer sio, int mode, struct sio_hdl *hdl); + +#endif diff --git a/multimedia/gstreamer1/plugins-base/files/meson.build b/multimedia/gstreamer1/plugins-base/files/meson.build @@ -0,0 +1,19 @@ +sndio_sources = [ + 'gstsndio.c', + 'sndiosink.c', + 'sndiosrc.c', +] + +sndio_dep = dependency('sndio', required : get_option('sndio')) + +if sndio_dep.found() + gstsndio = library('gstsndio', + sndio_sources, + c_args : gst_plugins_base_args, + include_directories: [configinc, libsinc], + dependencies : [sndio_dep, audio_dep, tag_dep, gst_dep, gst_base_dep], + install : true, + install_dir : plugins_install_dir, + ) + pkgconfig.generate(gstsndio, install_dir : plugins_pkgconfig_install_dir) +endif diff --git a/multimedia/gstreamer1/plugins-base/files/sndiosink.c b/multimedia/gstreamer1/plugins-base/files/sndiosink.c @@ -0,0 +1,226 @@ +/* + * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org> + * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/** + * SECTION:element-sndiosink + * @see_also: #GstAutoAudioSink + * + * <refsect2> + * <para> + * This element outputs sound to a sound card using sndio. + * </para> + * <para> + * Simple example pipeline that plays an Ogg/Vorbis file via sndio: + * <programlisting> + * gst-launch -v filesrc location=foo.ogg ! decodebin ! audioconvert ! audioresample ! sndiosink + * </programlisting> + * </para> + * </refsect2> + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include "sndiosink.h" + +GST_DEBUG_CATEGORY_EXTERN (gst_sndio_debug); +#define GST_CAT_DEFAULT gst_sndio_debug + +#define gst_sndiosink_parent_class parent_class + +static GstStaticPadTemplate sndiosink_factory = + GST_STATIC_PAD_TEMPLATE ("sink", + GST_PAD_SINK, + GST_PAD_ALWAYS, + GST_STATIC_CAPS (GST_SNDIO_CAPS_STRING) + ); + +G_DEFINE_TYPE_WITH_CODE (GstSndioSink, gst_sndiosink, GST_TYPE_AUDIO_SINK, + G_IMPLEMENT_INTERFACE (GST_TYPE_STREAM_VOLUME, NULL)); + +static void gst_sndiosink_finalize (GObject * object); +static GstCaps *gst_sndiosink_getcaps (GstBaseSink * bsink, + GstCaps * filter); +static gboolean gst_sndiosink_open (GstAudioSink * asink); +static gboolean gst_sndiosink_close (GstAudioSink * asink); +static gboolean gst_sndiosink_prepare (GstAudioSink * asink, + GstAudioRingBufferSpec * spec); +static gboolean gst_sndiosink_unprepare (GstAudioSink * asink); +static gint gst_sndiosink_write (GstAudioSink * asink, gpointer data, + guint length); +static guint gst_sndiosink_delay (GstAudioSink * asink); +static void gst_sndiosink_reset (GstAudioSink * asink); +static void gst_sndiosink_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec); +static void gst_sndiosink_get_property (GObject * object, guint prop_id, + GValue * value, GParamSpec * pspec); + +static void +gst_sndiosink_init (GstSndioSink * sink) +{ + gst_sndio_init (&sink->sndio, G_OBJECT(sink)); +} + +static void +gst_sndiosink_finalize (GObject * object) +{ + GstSndioSink *sink = GST_SNDIOSINK (object); + + gst_sndio_finalize (&sink->sndio); + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +static GstCaps * +gst_sndiosink_getcaps (GstBaseSink * bsink, GstCaps * filter) +{ + GstSndioSink *sink = GST_SNDIOSINK (bsink); + + return gst_sndio_getcaps (&sink->sndio, filter); +} + +static gboolean +gst_sndiosink_open (GstAudioSink * asink) +{ + GstSndioSink *sink = GST_SNDIOSINK (asink); + + return gst_sndio_open (&sink->sndio, SIO_PLAY); +} + +static gboolean +gst_sndiosink_close (GstAudioSink * asink) +{ + GstSndioSink *sink = GST_SNDIOSINK (asink); + + return gst_sndio_close (&sink->sndio); +} + +static gboolean +gst_sndiosink_prepare (GstAudioSink * asink, GstAudioRingBufferSpec * spec) +{ + GstSndioSink *sink = GST_SNDIOSINK (asink); + + return gst_sndio_prepare (&sink->sndio, spec); +} + +static gboolean +gst_sndiosink_unprepare (GstAudioSink * asink) +{ + GstSndioSink *sink = GST_SNDIOSINK (asink); + + return gst_sndio_unprepare (&sink->sndio); +} + +static gint +gst_sndiosink_write (GstAudioSink * asink, gpointer data, guint length) +{ + GstSndioSink *sink = GST_SNDIOSINK (asink); + guint done; + + if (length == 0) + return 0; + done = sio_write (sink->sndio.hdl, data, length); + if (done == 0) { + GST_ELEMENT_ERROR (sink, RESOURCE, WRITE, + ("Failed to write data to sndio"), (NULL)); + return 0; + } + sink->sndio.delay += done; + return done; +} + +static guint +gst_sndiosink_delay (GstAudioSink * asink) +{ + GstSndioSink *sink = GST_SNDIOSINK (asink); + + return GST_SNDIO_DELAY(&sink->sndio); +} + +static void +gst_sndiosink_reset (GstAudioSink * asink) +{ +} + +static void +gst_sndiosink_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec) +{ + GstSndioSink *sink = GST_SNDIOSINK (object); + + gst_sndio_set_property (&sink->sndio, prop_id, value, pspec); +} + +static void +gst_sndiosink_get_property (GObject * object, guint prop_id, GValue * value, + GParamSpec * pspec) +{ + GstSndioSink *sink = GST_SNDIOSINK (object); + + gst_sndio_get_property (&sink->sndio, prop_id, value, pspec); +} + +static void +gst_sndiosink_class_init (GstSndioSinkClass * klass) +{ + GObjectClass *gobject_class; + GstElementClass *gstelement_class; + GstBaseSinkClass *gstbasesink_class; + GstAudioBaseSinkClass *gstbaseaudiosink_class; + GstAudioSinkClass *gstaudiosink_class; + + gobject_class = (GObjectClass *) klass; + gstelement_class = (GstElementClass *) klass; + gstbasesink_class = (GstBaseSinkClass *) klass; + gstbaseaudiosink_class = (GstAudioBaseSinkClass *) klass; + gstaudiosink_class = (GstAudioSinkClass *) klass; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class->finalize = gst_sndiosink_finalize; + gobject_class->get_property = gst_sndiosink_get_property; + gobject_class->set_property = gst_sndiosink_set_property; + + gst_element_class_set_static_metadata (gstelement_class, + "Audio sink (sndio)", "Sink/Audio", + "Output to a sound card via sndio", + "Jacob Meuser <jakemsr@sdf.lonestar.org>"); + + gst_element_class_add_pad_template (gstelement_class, + gst_static_pad_template_get (&sndiosink_factory)); + + gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_sndiosink_getcaps); + gstaudiosink_class->open = GST_DEBUG_FUNCPTR (gst_sndiosink_open); + gstaudiosink_class->prepare = GST_DEBUG_FUNCPTR (gst_sndiosink_prepare); + gstaudiosink_class->unprepare = GST_DEBUG_FUNCPTR (gst_sndiosink_unprepare); + gstaudiosink_class->close = GST_DEBUG_FUNCPTR (gst_sndiosink_close); + gstaudiosink_class->write = GST_DEBUG_FUNCPTR (gst_sndiosink_write); + gstaudiosink_class->delay = GST_DEBUG_FUNCPTR (gst_sndiosink_delay); + gstaudiosink_class->reset = GST_DEBUG_FUNCPTR (gst_sndiosink_reset); + + g_object_class_install_property (gobject_class, PROP_DEVICE, + g_param_spec_string ("device", "Device", + "sndio device as defined in sndio(7)", + SIO_DEVANY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + g_object_class_install_property (gobject_class, PROP_VOLUME, + g_param_spec_double ("volume", "Volume", + "Linear volume of this stream, 1.0=100%", 0.0, 1.0, + 1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + g_object_class_install_property (gobject_class, PROP_MUTE, + g_param_spec_boolean ("mute", "Mute", + "Mute state of this stream", FALSE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); +} diff --git a/multimedia/gstreamer1/plugins-base/files/sndiosink.h b/multimedia/gstreamer1/plugins-base/files/sndiosink.h @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org> + * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +#ifndef __GST_SNDIOSINK_H__ +#define __GST_SNDIOSINK_H__ + +#include <sndio.h> + +#include <gst/gst.h> +#include <gst/audio/gstaudiosink.h> +#include "gstsndio.h" + +G_BEGIN_DECLS + +#define GST_TYPE_SNDIOSINK \ + (gst_sndiosink_get_type()) +#define GST_SNDIOSINK(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SNDIOSINK,GstSndioSink)) +#define GST_SNDIOSINK_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SNDIOSINK,GstSndioSinkClass)) +#define GST_IS_SNDIOSINK(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SNDIOSINK)) +#define GST_IS_SNDIOSINK_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SNDIOSINK)) + +typedef struct _GstSndioSink GstSndioSink; +typedef struct _GstSndioSinkClass GstSndioSinkClass; + +struct _GstSndioSink { + GstAudioSink sink; + struct gstsndio sndio; +}; + +struct _GstSndioSinkClass { + GstAudioSinkClass parent_class; +}; + +GType gst_sndiosink_get_type (void); + +G_END_DECLS + +#endif /* __GST_SNDIOSINK_H__ */ diff --git a/multimedia/gstreamer1/plugins-base/files/sndiosrc.c b/multimedia/gstreamer1/plugins-base/files/sndiosrc.c @@ -0,0 +1,228 @@ +/* + * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org> + * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/** + * SECTION:element-sndiosrc + * @see_also: #GstAutoAudioSrc + * + * <refsect2> + * <para> + * This element retrieves samples from a sound card using sndio. + * </para> + * <para> + * Simple example pipeline that records an Ogg/Vorbis file via sndio: + * <programlisting> + * gst-launch -v sndiosrc ! audioconvert ! vorbisenc ! oggmux ! filesink location=foo.ogg + * </programlisting> + * </para> + * </refsect2> + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "sndiosrc.h" +#include "gstsndio.h" + +GST_DEBUG_CATEGORY_EXTERN (gst_sndio_debug); +#define GST_CAT_DEFAULT gst_sndio_debug + +#define gst_sndiosrc_parent_class parent_class +G_DEFINE_TYPE_WITH_CODE (GstSndioSrc, gst_sndiosrc, GST_TYPE_AUDIO_SRC, + G_IMPLEMENT_INTERFACE (GST_TYPE_STREAM_VOLUME, NULL)); + +static void gst_sndiosrc_finalize (GObject * object); +static GstCaps *gst_sndiosrc_getcaps (GstBaseSrc * bsrc, GstCaps * filter); +static gboolean gst_sndiosrc_open (GstAudioSrc * asrc); +static gboolean gst_sndiosrc_close (GstAudioSrc * asrc); +static gboolean gst_sndiosrc_prepare (GstAudioSrc * asrc, + GstAudioRingBufferSpec * spec); +static gboolean gst_sndiosrc_unprepare (GstAudioSrc * asrc); +static guint gst_sndiosrc_read (GstAudioSrc * asrc, gpointer data, + guint length, GstClockTime * timestamp); +static guint gst_sndiosrc_delay (GstAudioSrc * asrc); +static void gst_sndiosrc_reset (GstAudioSrc * asrc); +static void gst_sndiosrc_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec); +static void gst_sndiosrc_get_property (GObject * object, + guint prop_id, GValue * value, GParamSpec * pspec); + +static GstStaticPadTemplate sndiosrc_factory = + GST_STATIC_PAD_TEMPLATE ("src", + GST_PAD_SRC, + GST_PAD_ALWAYS, + GST_STATIC_CAPS (GST_SNDIO_CAPS_STRING) + ); + +static void +gst_sndiosrc_init (GstSndioSrc * src) +{ + gst_sndio_init (&src->sndio, G_OBJECT(src)); + /* XXX not implemented */ + src->sndio.driver_timestamps = FALSE; +} + +static void +gst_sndiosrc_finalize (GObject * object) +{ + GstSndioSrc *src = GST_SNDIOSRC (object); + + gst_sndio_finalize (&src->sndio); + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +static GstCaps * +gst_sndiosrc_getcaps (GstBaseSrc * bsrc, GstCaps * filter) +{ + GstSndioSrc *src = GST_SNDIOSRC (bsrc); + + return gst_sndio_getcaps (&src->sndio, filter); +} + +static gboolean +gst_sndiosrc_open (GstAudioSrc * asrc) +{ + GstSndioSrc *src = GST_SNDIOSRC (asrc); + + return gst_sndio_open (&src->sndio, SIO_REC); +} + +static gboolean +gst_sndiosrc_close (GstAudioSrc * asrc) +{ + GstSndioSrc *src = GST_SNDIOSRC (asrc); + + return gst_sndio_close (&src->sndio); +} + +static gboolean +gst_sndiosrc_prepare (GstAudioSrc * asrc, GstAudioRingBufferSpec * spec) +{ + GstSndioSrc *src = GST_SNDIOSRC (asrc); + + return gst_sndio_prepare (&src->sndio, spec); +} + +static gboolean +gst_sndiosrc_unprepare (GstAudioSrc * asrc) +{ + GstSndioSrc *src = GST_SNDIOSRC (asrc); + + return gst_sndio_unprepare (&src->sndio); +} + +static guint +gst_sndiosrc_read (GstAudioSrc * asrc, gpointer data, guint length, + GstClockTime * timestamp) +{ + GstSndioSrc *src = GST_SNDIOSRC (asrc); + guint done; + + if (length == 0) + return 0; + done = sio_read (src->sndio.hdl, data, length); + if (done == 0) { + GST_ELEMENT_ERROR (src, RESOURCE, READ, + ("Failed to read data from sndio"), (NULL)); + return 0; + } + src->sndio.delay -= done; + return done; +} + +static guint +gst_sndiosrc_delay (GstAudioSrc * asrc) +{ + GstSndioSrc *src = GST_SNDIOSRC (asrc); + + return GST_SNDIO_DELAY(&src->sndio); +} + +static void +gst_sndiosrc_reset (GstAudioSrc * asrc) +{ +} + +static void +gst_sndiosrc_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec) +{ + GstSndioSrc *src = GST_SNDIOSRC (object); + + gst_sndio_set_property (&src->sndio, prop_id, value, pspec); +} + +static void +gst_sndiosrc_get_property (GObject * object, guint prop_id, GValue * value, + GParamSpec * pspec) +{ + GstSndioSrc *src = GST_SNDIOSRC (object); + + gst_sndio_get_property (&src->sndio, prop_id, value, pspec); +} + +static void +gst_sndiosrc_class_init (GstSndioSrcClass * klass) +{ + GObjectClass *gobject_class; + GstElementClass *gstelement_class; + GstBaseSrcClass *gstbasesrc_class; + GstAudioBaseSrcClass *gstbaseaudiosrc_class; + GstAudioSrcClass *gstaudiosrc_class; + gobject_class = (GObjectClass *) klass; + gstelement_class = (GstElementClass *) klass; + gstbasesrc_class = (GstBaseSrcClass *) klass; + gstbaseaudiosrc_class = (GstAudioBaseSrcClass *) klass; + gstaudiosrc_class = (GstAudioSrcClass *) klass; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class->finalize = gst_sndiosrc_finalize; + gobject_class->get_property = gst_sndiosrc_get_property; + gobject_class->set_property = gst_sndiosrc_set_property; + + gst_element_class_set_static_metadata (gstelement_class, + "Audio src (sndio)", "Src/Audio", + "Input from a sound card via sndio", + "Jacob Meuser <jakemsr@sdf.lonestar.org>"); + + gst_element_class_add_pad_template (gstelement_class, + gst_static_pad_template_get (&sndiosrc_factory)); + + gstbasesrc_class->get_caps = GST_DEBUG_FUNCPTR (gst_sndiosrc_getcaps); + gstaudiosrc_class->open = GST_DEBUG_FUNCPTR (gst_sndiosrc_open); + gstaudiosrc_class->prepare = GST_DEBUG_FUNCPTR (gst_sndiosrc_prepare); + gstaudiosrc_class->unprepare = GST_DEBUG_FUNCPTR (gst_sndiosrc_unprepare); + gstaudiosrc_class->close = GST_DEBUG_FUNCPTR (gst_sndiosrc_close); + gstaudiosrc_class->read = GST_DEBUG_FUNCPTR (gst_sndiosrc_read); + gstaudiosrc_class->delay = GST_DEBUG_FUNCPTR (gst_sndiosrc_delay); + gstaudiosrc_class->reset = GST_DEBUG_FUNCPTR (gst_sndiosrc_reset); + + g_object_class_install_property (gobject_class, PROP_DEVICE, + g_param_spec_string ("device", "Device", + "sndio device as defined in sndio(7)", + SIO_DEVANY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + g_object_class_install_property (gobject_class, PROP_VOLUME, + g_param_spec_double ("volume", "Volume", + "Linear volume of this stream, 1.0=100%", 0.0, 1.0, + 1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + g_object_class_install_property (gobject_class, PROP_MUTE, + g_param_spec_boolean ("mute", "Mute", + "Mute state of this stream", FALSE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); +} diff --git a/multimedia/gstreamer1/plugins-base/files/sndiosrc.h b/multimedia/gstreamer1/plugins-base/files/sndiosrc.h @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org> + * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +#ifndef __GST_SNDIOSRC_H__ +#define __GST_SNDIOSRC_H__ + +#include <sndio.h> + +#include <gst/gst.h> +#include <gst/audio/gstaudiosrc.h> +#include "gstsndio.h" + +G_BEGIN_DECLS + +#define GST_TYPE_SNDIOSRC \ + (gst_sndiosrc_get_type()) +#define GST_SNDIOSRC(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SNDIOSRC,GstSndioSrc)) +#define GST_SNDIOSRC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SNDIOSRC,GstSndioSrcClass)) +#define GST_IS_SNDIOSRC(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SNDIOSRC)) +#define GST_IS_SNDIOSRC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SNDIOSRC)) + +typedef struct _GstSndioSrc GstSndioSrc; +typedef struct _GstSndioSrcClass GstSndioSrcClass; + +struct _GstSndioSrc { + GstAudioSrc src; + struct gstsndio sndio; +}; + +struct _GstSndioSrcClass { + GstAudioSrcClass parent_class; +}; + +GType gst_sndiosrc_get_type (void); + +G_END_DECLS + +#endif /* __GST_SNDIOSRC_H__ */ diff --git a/multimedia/gstreamer1/plugins-base/patches/CVS/Entries b/multimedia/gstreamer1/plugins-base/patches/CVS/Entries @@ -0,0 +1,5 @@ +/patch-ext_cdparanoia_gstcdparanoiasrc_c/1.6/Sat Mar 12 08:17:10 2022// +/patch-ext_meson_build/1.2/Sat Mar 12 08:17:10 2022// +/patch-gst_tcp_gstmultihandlesink_c/1.7/Sat Mar 12 08:17:10 2022// +/patch-meson_options_txt/1.4/Wed Jan 25 18:20:48 2023// +D diff --git a/multimedia/gstreamer1/plugins-base/patches/CVS/Repository b/multimedia/gstreamer1/plugins-base/patches/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-base/patches diff --git a/multimedia/gstreamer1/plugins-base/patches/patch-ext_cdparanoia_gstcdparanoiasrc_c b/multimedia/gstreamer1/plugins-base/patches/patch-ext_cdparanoia_gstcdparanoiasrc_c @@ -0,0 +1,21 @@ +XXX old cdparanoia-3.a9.8 (cdparanoia-III-9.8) does not have cache control. + +Index: ext/cdparanoia/gstcdparanoiasrc.c +--- ext/cdparanoia/gstcdparanoiasrc.c.orig ++++ ext/cdparanoia/gstcdparanoiasrc.c +@@ -259,6 +259,7 @@ gst_cd_paranoia_src_open (GstAudioCdSrc * audiocdsrc, + GST_INFO_OBJECT (src, "search overlap set to %u", src->search_overlap); + } + ++#ifdef PARANOIA_CB_CACHEERR + cache_size = src->cache_size; + if (cache_size == -1) { + /* if paranoia mode is low (the default), assume we're doing playback */ +@@ -269,6 +270,7 @@ gst_cd_paranoia_src_open (GstAudioCdSrc * audiocdsrc, + } + paranoia_cachemodel_size (src->p, cache_size); + GST_INFO_OBJECT (src, "set cachemodel size to %u", cache_size); ++#endif + + src->next_sector = -1; + diff --git a/multimedia/gstreamer1/plugins-base/patches/patch-ext_meson_build b/multimedia/gstreamer1/plugins-base/patches/patch-ext_meson_build @@ -0,0 +1,9 @@ +Index: ext/meson.build +--- ext/meson.build.orig ++++ ext/meson.build +@@ -1,4 +1,5 @@ + subdir('alsa') ++subdir('sndio') + subdir('cdparanoia') + subdir('gl') + subdir('libvisual') diff --git a/multimedia/gstreamer1/plugins-base/patches/patch-gst_tcp_gstmultihandlesink_c b/multimedia/gstreamer1/plugins-base/patches/patch-gst_tcp_gstmultihandlesink_c @@ -0,0 +1,14 @@ +gstmultihandlesink.c:542: error: field 'sa' has incomplete type +gstmultihandlesink.c:544: error: field 'sa_stor' has incomplete type + +Index: gst/tcp/gstmultihandlesink.c +--- gst/tcp/gstmultihandlesink.c.orig ++++ gst/tcp/gstmultihandlesink.c +@@ -35,6 +35,7 @@ + #endif + + #ifndef G_OS_WIN32 ++#include <sys/socket.h> + #include <netinet/in.h> + #endif + diff --git a/multimedia/gstreamer1/plugins-base/patches/patch-meson_options_txt b/multimedia/gstreamer1/plugins-base/patches/patch-meson_options_txt @@ -0,0 +1,11 @@ +Index: meson_options.txt +--- meson_options.txt.orig ++++ meson_options.txt +@@ -53,6 +53,7 @@ option('volume', type : 'feature', value : 'auto') + + # Feature options for plugins with external deps + option('alsa', type : 'feature', value : 'auto', description : 'ALSA audio source/sink plugin') ++option('sndio', type : 'feature', value : 'auto', description : 'SNDIO audio source/sink plugin') + option('cdparanoia', type : 'feature', value : 'auto', description : 'cdparanoia plugin') + option('libvisual', type : 'feature', value : 'auto', description : 'libvisual audio visualization plugin') + option('ogg', type : 'feature', value : 'auto', description : 'ogg parser, muxer, demuxer plugin') diff --git a/multimedia/gstreamer1/plugins-base/pkg/CVS/Entries b/multimedia/gstreamer1/plugins-base/pkg/CVS/Entries @@ -0,0 +1,3 @@ +/DESCR/1.2/Tue Sep 24 18:29:17 2013// +/PLIST/1.24/Sat Nov 25 18:20:23 2023// +D diff --git a/multimedia/gstreamer1/plugins-base/pkg/CVS/Repository b/multimedia/gstreamer1/plugins-base/pkg/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-base/pkg diff --git a/multimedia/gstreamer1/plugins-base/pkg/DESCR b/multimedia/gstreamer1/plugins-base/pkg/DESCR @@ -0,0 +1,6 @@ +This is GStreamer, a framework for streaming media. +This package contains the "base" elements for gstreamer-${API}. + +A well-groomed and well-maintained collection of GStreamer plug-ins and +elements, spanning the range of possible types of elements one would +want to write for GStreamer. diff --git a/multimedia/gstreamer1/plugins-base/pkg/PLIST b/multimedia/gstreamer1/plugins-base/pkg/PLIST @@ -0,0 +1,349 @@ +@conflict gstreamer1-plugins-bad-<1.14.0 +@bin bin/gst-device-monitor-${API} +@bin bin/gst-discoverer-${API} +@bin bin/gst-play-${API} +include/gstreamer-${API}/gst/allocators/ +include/gstreamer-${API}/gst/allocators/allocators-prelude.h +include/gstreamer-${API}/gst/allocators/allocators.h +include/gstreamer-${API}/gst/allocators/gstdmabuf.h +include/gstreamer-${API}/gst/allocators/gstfdmemory.h +include/gstreamer-${API}/gst/allocators/gstphysmemory.h +include/gstreamer-${API}/gst/app/ +include/gstreamer-${API}/gst/app/app-enumtypes.h +include/gstreamer-${API}/gst/app/app-prelude.h +include/gstreamer-${API}/gst/app/app.h +include/gstreamer-${API}/gst/app/gstappsink.h +include/gstreamer-${API}/gst/app/gstappsrc.h +include/gstreamer-${API}/gst/audio/ +include/gstreamer-${API}/gst/audio/audio-buffer.h +include/gstreamer-${API}/gst/audio/audio-channel-mixer.h +include/gstreamer-${API}/gst/audio/audio-channels.h +include/gstreamer-${API}/gst/audio/audio-converter.h +include/gstreamer-${API}/gst/audio/audio-enumtypes.h +include/gstreamer-${API}/gst/audio/audio-format.h +include/gstreamer-${API}/gst/audio/audio-info.h +include/gstreamer-${API}/gst/audio/audio-prelude.h +include/gstreamer-${API}/gst/audio/audio-quantize.h +include/gstreamer-${API}/gst/audio/audio-resampler.h +include/gstreamer-${API}/gst/audio/audio.h +include/gstreamer-${API}/gst/audio/gstaudioaggregator.h +include/gstreamer-${API}/gst/audio/gstaudiobasesink.h +include/gstreamer-${API}/gst/audio/gstaudiobasesrc.h +include/gstreamer-${API}/gst/audio/gstaudiocdsrc.h +include/gstreamer-${API}/gst/audio/gstaudioclock.h +include/gstreamer-${API}/gst/audio/gstaudiodecoder.h +include/gstreamer-${API}/gst/audio/gstaudioencoder.h +include/gstreamer-${API}/gst/audio/gstaudiofilter.h +include/gstreamer-${API}/gst/audio/gstaudioiec61937.h +include/gstreamer-${API}/gst/audio/gstaudiometa.h +include/gstreamer-${API}/gst/audio/gstaudioringbuffer.h +include/gstreamer-${API}/gst/audio/gstaudiosink.h +include/gstreamer-${API}/gst/audio/gstaudiosrc.h +include/gstreamer-${API}/gst/audio/gstaudiostreamalign.h +include/gstreamer-${API}/gst/audio/streamvolume.h +include/gstreamer-${API}/gst/fft/ +include/gstreamer-${API}/gst/fft/fft-prelude.h +include/gstreamer-${API}/gst/fft/fft.h +include/gstreamer-${API}/gst/fft/gstfft.h +include/gstreamer-${API}/gst/fft/gstfftf32.h +include/gstreamer-${API}/gst/fft/gstfftf64.h +include/gstreamer-${API}/gst/fft/gstffts16.h +include/gstreamer-${API}/gst/fft/gstffts32.h +include/gstreamer-${API}/gst/gl/ +include/gstreamer-${API}/gst/gl/egl/ +include/gstreamer-${API}/gst/gl/egl/egl.h +include/gstreamer-${API}/gst/gl/egl/gstegl.h +include/gstreamer-${API}/gst/gl/egl/gsteglimage.h +include/gstreamer-${API}/gst/gl/egl/gstgldisplay_egl.h +include/gstreamer-${API}/gst/gl/egl/gstgldisplay_egl_device.h +include/gstreamer-${API}/gst/gl/egl/gstglmemoryegl.h +include/gstreamer-${API}/gst/gl/gl-enumtypes.h +include/gstreamer-${API}/gst/gl/gl-prelude.h +include/gstreamer-${API}/gst/gl/gl.h +include/gstreamer-${API}/gst/gl/glprototypes/ +include/gstreamer-${API}/gst/gl/glprototypes/all_functions.h +include/gstreamer-${API}/gst/gl/glprototypes/base.h +include/gstreamer-${API}/gst/gl/glprototypes/blending.h +include/gstreamer-${API}/gst/gl/glprototypes/buffer_storage.h +include/gstreamer-${API}/gst/gl/glprototypes/buffers.h +include/gstreamer-${API}/gst/gl/glprototypes/debug.h +include/gstreamer-${API}/gst/gl/glprototypes/eglimage.h +include/gstreamer-${API}/gst/gl/glprototypes/fbo.h +include/gstreamer-${API}/gst/gl/glprototypes/fixedfunction.h +include/gstreamer-${API}/gst/gl/glprototypes/gles.h +include/gstreamer-${API}/gst/gl/glprototypes/gstgl_compat.h +include/gstreamer-${API}/gst/gl/glprototypes/gstgl_gles2compat.h +include/gstreamer-${API}/gst/gl/glprototypes/opengl.h +include/gstreamer-${API}/gst/gl/glprototypes/query.h +include/gstreamer-${API}/gst/gl/glprototypes/shaders.h +include/gstreamer-${API}/gst/gl/glprototypes/sync.h +include/gstreamer-${API}/gst/gl/glprototypes/vao.h +include/gstreamer-${API}/gst/gl/gstgl_enums.h +include/gstreamer-${API}/gst/gl/gstgl_fwd.h +include/gstreamer-${API}/gst/gl/gstglapi.h +include/gstreamer-${API}/gst/gl/gstglbasefilter.h +include/gstreamer-${API}/gst/gl/gstglbasememory.h +include/gstreamer-${API}/gst/gl/gstglbasesrc.h +include/gstreamer-${API}/gst/gl/gstglbuffer.h +include/gstreamer-${API}/gst/gl/gstglbufferpool.h +include/gstreamer-${API}/gst/gl/gstglcolorconvert.h +include/gstreamer-${API}/gst/gl/gstglcontext.h +include/gstreamer-${API}/gst/gl/gstglcontextconfig.h +include/gstreamer-${API}/gst/gl/gstgldebug.h +include/gstreamer-${API}/gst/gl/gstgldisplay.h +include/gstreamer-${API}/gst/gl/gstglfeature.h +include/gstreamer-${API}/gst/gl/gstglfilter.h +include/gstreamer-${API}/gst/gl/gstglformat.h +include/gstreamer-${API}/gst/gl/gstglframebuffer.h +include/gstreamer-${API}/gst/gl/gstglfuncs.h +include/gstreamer-${API}/gst/gl/gstglmemory.h +include/gstreamer-${API}/gst/gl/gstglmemorypbo.h +include/gstreamer-${API}/gst/gl/gstgloverlaycompositor.h +include/gstreamer-${API}/gst/gl/gstglquery.h +include/gstreamer-${API}/gst/gl/gstglrenderbuffer.h +include/gstreamer-${API}/gst/gl/gstglshader.h +include/gstreamer-${API}/gst/gl/gstglshaderstrings.h +include/gstreamer-${API}/gst/gl/gstglsl.h +include/gstreamer-${API}/gst/gl/gstglslstage.h +include/gstreamer-${API}/gst/gl/gstglsyncmeta.h +include/gstreamer-${API}/gst/gl/gstglupload.h +include/gstreamer-${API}/gst/gl/gstglutils.h +include/gstreamer-${API}/gst/gl/gstglviewconvert.h +include/gstreamer-${API}/gst/gl/gstglwindow.h +include/gstreamer-${API}/gst/gl/wayland/ +include/gstreamer-${API}/gst/gl/wayland/gstgldisplay_wayland.h +include/gstreamer-${API}/gst/gl/wayland/wayland.h +include/gstreamer-${API}/gst/gl/x11/ +include/gstreamer-${API}/gst/gl/x11/gstgldisplay_x11.h +include/gstreamer-${API}/gst/gl/x11/x11.h +include/gstreamer-${API}/gst/pbutils/ +include/gstreamer-${API}/gst/pbutils/codec-utils.h +include/gstreamer-${API}/gst/pbutils/descriptions.h +include/gstreamer-${API}/gst/pbutils/encoding-profile.h +include/gstreamer-${API}/gst/pbutils/encoding-target.h +include/gstreamer-${API}/gst/pbutils/gstaudiovisualizer.h +include/gstreamer-${API}/gst/pbutils/gstdiscoverer.h +include/gstreamer-${API}/gst/pbutils/gstpluginsbaseversion.h +include/gstreamer-${API}/gst/pbutils/install-plugins.h +include/gstreamer-${API}/gst/pbutils/missing-plugins.h +include/gstreamer-${API}/gst/pbutils/pbutils-enumtypes.h +include/gstreamer-${API}/gst/pbutils/pbutils-prelude.h +include/gstreamer-${API}/gst/pbutils/pbutils.h +include/gstreamer-${API}/gst/riff/ +include/gstreamer-${API}/gst/riff/riff-ids.h +include/gstreamer-${API}/gst/riff/riff-media.h +include/gstreamer-${API}/gst/riff/riff-prelude.h +include/gstreamer-${API}/gst/riff/riff-read.h +include/gstreamer-${API}/gst/riff/riff.h +include/gstreamer-${API}/gst/rtp/ +include/gstreamer-${API}/gst/rtp/gstrtcpbuffer.h +include/gstreamer-${API}/gst/rtp/gstrtp-enumtypes.h +include/gstreamer-${API}/gst/rtp/gstrtpbaseaudiopayload.h +include/gstreamer-${API}/gst/rtp/gstrtpbasedepayload.h +include/gstreamer-${API}/gst/rtp/gstrtpbasepayload.h +include/gstreamer-${API}/gst/rtp/gstrtpbuffer.h +include/gstreamer-${API}/gst/rtp/gstrtpdefs.h +include/gstreamer-${API}/gst/rtp/gstrtphdrext.h +include/gstreamer-${API}/gst/rtp/gstrtpmeta.h +include/gstreamer-${API}/gst/rtp/gstrtppayloads.h +include/gstreamer-${API}/gst/rtp/rtp-prelude.h +include/gstreamer-${API}/gst/rtp/rtp.h +include/gstreamer-${API}/gst/rtsp/ +include/gstreamer-${API}/gst/rtsp/gstrtsp-enumtypes.h +include/gstreamer-${API}/gst/rtsp/gstrtsp.h +include/gstreamer-${API}/gst/rtsp/gstrtspconnection.h +include/gstreamer-${API}/gst/rtsp/gstrtspdefs.h +include/gstreamer-${API}/gst/rtsp/gstrtspextension.h +include/gstreamer-${API}/gst/rtsp/gstrtspmessage.h +include/gstreamer-${API}/gst/rtsp/gstrtsprange.h +include/gstreamer-${API}/gst/rtsp/gstrtsptransport.h +include/gstreamer-${API}/gst/rtsp/gstrtspurl.h +include/gstreamer-${API}/gst/rtsp/rtsp-prelude.h +include/gstreamer-${API}/gst/rtsp/rtsp.h +include/gstreamer-${API}/gst/sdp/ +include/gstreamer-${API}/gst/sdp/gstmikey.h +include/gstreamer-${API}/gst/sdp/gstsdp.h +include/gstreamer-${API}/gst/sdp/gstsdpmessage.h +include/gstreamer-${API}/gst/sdp/sdp-prelude.h +include/gstreamer-${API}/gst/sdp/sdp.h +include/gstreamer-${API}/gst/tag/ +include/gstreamer-${API}/gst/tag/gsttagdemux.h +include/gstreamer-${API}/gst/tag/gsttagmux.h +include/gstreamer-${API}/gst/tag/tag-enumtypes.h +include/gstreamer-${API}/gst/tag/tag-prelude.h +include/gstreamer-${API}/gst/tag/tag.h +include/gstreamer-${API}/gst/tag/xmpwriter.h +include/gstreamer-${API}/gst/video/ +include/gstreamer-${API}/gst/video/colorbalance.h +include/gstreamer-${API}/gst/video/colorbalancechannel.h +include/gstreamer-${API}/gst/video/gstvideoaffinetransformationmeta.h +include/gstreamer-${API}/gst/video/gstvideoaggregator.h +include/gstreamer-${API}/gst/video/gstvideocodecalphameta.h +include/gstreamer-${API}/gst/video/gstvideodecoder.h +include/gstreamer-${API}/gst/video/gstvideoencoder.h +include/gstreamer-${API}/gst/video/gstvideofilter.h +include/gstreamer-${API}/gst/video/gstvideometa.h +include/gstreamer-${API}/gst/video/gstvideopool.h +include/gstreamer-${API}/gst/video/gstvideosink.h +include/gstreamer-${API}/gst/video/gstvideotimecode.h +include/gstreamer-${API}/gst/video/gstvideoutils.h +include/gstreamer-${API}/gst/video/navigation.h +include/gstreamer-${API}/gst/video/video-anc.h +include/gstreamer-${API}/gst/video/video-blend.h +include/gstreamer-${API}/gst/video/video-chroma.h +include/gstreamer-${API}/gst/video/video-color.h +include/gstreamer-${API}/gst/video/video-converter.h +include/gstreamer-${API}/gst/video/video-dither.h +include/gstreamer-${API}/gst/video/video-enumtypes.h +include/gstreamer-${API}/gst/video/video-event.h +include/gstreamer-${API}/gst/video/video-format.h +include/gstreamer-${API}/gst/video/video-frame.h +include/gstreamer-${API}/gst/video/video-hdr.h +include/gstreamer-${API}/gst/video/video-info.h +include/gstreamer-${API}/gst/video/video-multiview.h +include/gstreamer-${API}/gst/video/video-overlay-composition.h +include/gstreamer-${API}/gst/video/video-prelude.h +include/gstreamer-${API}/gst/video/video-resampler.h +include/gstreamer-${API}/gst/video/video-scaler.h +include/gstreamer-${API}/gst/video/video-sei.h +include/gstreamer-${API}/gst/video/video-tile.h +include/gstreamer-${API}/gst/video/video.h +include/gstreamer-${API}/gst/video/videodirection.h +include/gstreamer-${API}/gst/video/videoorientation.h +include/gstreamer-${API}/gst/video/videooverlay.h +lib/girepository-${API}/GstAllocators-${API}.typelib +lib/girepository-${API}/GstApp-${API}.typelib +lib/girepository-${API}/GstAudio-${API}.typelib +lib/girepository-${API}/GstGL-${API}.typelib +lib/girepository-${API}/GstGLEGL-${API}.typelib +lib/girepository-${API}/GstGLWayland-${API}.typelib +lib/girepository-${API}/GstGLX11-${API}.typelib +lib/girepository-${API}/GstPbutils-${API}.typelib +lib/girepository-${API}/GstRtp-${API}.typelib +lib/girepository-${API}/GstRtsp-${API}.typelib +lib/girepository-${API}/GstSdp-${API}.typelib +lib/girepository-${API}/GstTag-${API}.typelib +lib/girepository-${API}/GstVideo-${API}.typelib +lib/gstreamer-${API}/include/ +lib/gstreamer-${API}/include/gst/ +lib/gstreamer-${API}/include/gst/gl/ +lib/gstreamer-${API}/include/gst/gl/gstglconfig.h +@so lib/gstreamer-${API}/libgstadder.so +@so lib/gstreamer-${API}/libgstapp.so +@so lib/gstreamer-${API}/libgstaudioconvert.so +@so lib/gstreamer-${API}/libgstaudiomixer.so +@so lib/gstreamer-${API}/libgstaudiorate.so +@so lib/gstreamer-${API}/libgstaudioresample.so +@so lib/gstreamer-${API}/libgstaudiotestsrc.so +@so lib/gstreamer-${API}/libgstcdparanoia.so +@so lib/gstreamer-${API}/libgstcompositor.so +@so lib/gstreamer-${API}/libgstencoding.so +@so lib/gstreamer-${API}/libgstgio.so +@so lib/gstreamer-${API}/libgstogg.so +@so lib/gstreamer-${API}/libgstopengl.so +@so lib/gstreamer-${API}/libgstopus.so +@so lib/gstreamer-${API}/libgstoverlaycomposition.so +@so lib/gstreamer-${API}/libgstpango.so +@so lib/gstreamer-${API}/libgstpbtypes.so +@so lib/gstreamer-${API}/libgstplayback.so +@so lib/gstreamer-${API}/libgstrawparse.so +@so lib/gstreamer-${API}/libgstsndio.so +@so lib/gstreamer-${API}/libgstsubparse.so +@so lib/gstreamer-${API}/libgsttcp.so +@so lib/gstreamer-${API}/libgsttheora.so +@so lib/gstreamer-${API}/libgsttypefindfunctions.so +@so lib/gstreamer-${API}/libgstvideoconvertscale.so +@so lib/gstreamer-${API}/libgstvideorate.so +@so lib/gstreamer-${API}/libgstvideotestsrc.so +@so lib/gstreamer-${API}/libgstvolume.so +@so lib/gstreamer-${API}/libgstvorbis.so +@so lib/gstreamer-${API}/libgstximagesink.so +@so lib/gstreamer-${API}/libgstxvimagesink.so +@lib lib/libgstallocators-${API}.so.${LIBgstallocators-${API}_VERSION} +@lib lib/libgstapp-${API}.so.${LIBgstapp-${API}_VERSION} +@lib lib/libgstaudio-${API}.so.${LIBgstaudio-${API}_VERSION} +@lib lib/libgstfft-${API}.so.${LIBgstfft-${API}_VERSION} +@lib lib/libgstgl-${API}.so.${LIBgstgl-${API}_VERSION} +@lib lib/libgstpbutils-${API}.so.${LIBgstpbutils-${API}_VERSION} +@lib lib/libgstriff-${API}.so.${LIBgstriff-${API}_VERSION} +@lib lib/libgstrtp-${API}.so.${LIBgstrtp-${API}_VERSION} +@lib lib/libgstrtsp-${API}.so.${LIBgstrtsp-${API}_VERSION} +@lib lib/libgstsdp-${API}.so.${LIBgstsdp-${API}_VERSION} +@lib lib/libgsttag-${API}.so.${LIBgsttag-${API}_VERSION} +@lib lib/libgstvideo-${API}.so.${LIBgstvideo-${API}_VERSION} +lib/pkgconfig/gstreamer-allocators-${API}.pc +lib/pkgconfig/gstreamer-app-${API}.pc +lib/pkgconfig/gstreamer-audio-${API}.pc +lib/pkgconfig/gstreamer-fft-${API}.pc +lib/pkgconfig/gstreamer-gl-${API}.pc +lib/pkgconfig/gstreamer-gl-egl-${API}.pc +lib/pkgconfig/gstreamer-gl-prototypes-${API}.pc +lib/pkgconfig/gstreamer-gl-wayland-${API}.pc +lib/pkgconfig/gstreamer-gl-x11-${API}.pc +lib/pkgconfig/gstreamer-pbutils-${API}.pc +lib/pkgconfig/gstreamer-plugins-base-${API}.pc +lib/pkgconfig/gstreamer-riff-${API}.pc +lib/pkgconfig/gstreamer-rtp-${API}.pc +lib/pkgconfig/gstreamer-rtsp-${API}.pc +lib/pkgconfig/gstreamer-sdp-${API}.pc +lib/pkgconfig/gstreamer-tag-${API}.pc +lib/pkgconfig/gstreamer-video-${API}.pc +@man man/man1/gst-device-monitor-${API}.1 +@man man/man1/gst-discoverer-${API}.1 +@man man/man1/gst-play-${API}.1 +share/gir-${API}/GstAllocators-${API}.gir +share/gir-${API}/GstApp-${API}.gir +share/gir-${API}/GstAudio-${API}.gir +share/gir-${API}/GstGL-${API}.gir +share/gir-${API}/GstGLEGL-${API}.gir +share/gir-${API}/GstGLWayland-${API}.gir +share/gir-${API}/GstGLX11-${API}.gir +share/gir-${API}/GstPbutils-${API}.gir +share/gir-${API}/GstRtp-${API}.gir +share/gir-${API}/GstRtsp-${API}.gir +share/gir-${API}/GstSdp-${API}.gir +share/gir-${API}/GstTag-${API}.gir +share/gir-${API}/GstVideo-${API}.gir +share/gst-plugins-base/ +share/gst-plugins-base/${API}/ +share/gst-plugins-base/${API}/license-translations.dict +share/locale/af/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/az/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/bg/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/ca/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/cs/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/da/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/de/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/el/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/en_GB/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/eo/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/es/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/eu/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/fi/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/fr/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/fur/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/gl/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/hr/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/hu/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/id/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/it/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/ja/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/ka/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/lt/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/lv/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/nb/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/nl/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/or/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/pl/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/pt_BR/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/ro/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/ru/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/sk/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/sl/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/sq/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/sr/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/sv/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/tr/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/uk/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/vi/LC_MESSAGES/gst-plugins-base-${API}.mo +share/locale/zh_CN/LC_MESSAGES/gst-plugins-base-${API}.mo diff --git a/multimedia/gstreamer1/plugins-good/CVS/Entries b/multimedia/gstreamer1/plugins-good/CVS/Entries @@ -0,0 +1,4 @@ +D/pkg//// +D/patches//// +/distinfo/1.71/Wed Feb 14 18:21:07 2024// +/Makefile/1.80/Mon Feb 26 08:19:16 2024// diff --git a/multimedia/gstreamer1/plugins-good/CVS/Repository b/multimedia/gstreamer1/plugins-good/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-good diff --git a/multimedia/gstreamer1/plugins-good/Makefile b/multimedia/gstreamer1/plugins-good/Makefile @@ -0,0 +1,85 @@ +# Reenable that port on non-rust archs at the cost of pulseaudio support: +# pulseaudio -> [...] -> spidermonkey>=78 -> rust +ONLY_FOR_ARCHS-pulse= ${RUST_ARCHS} + +COMMENT-main= good elements for GStreamer +COMMENT-pulse= pulseaudio(1) element for GStreamer + +DISTNAME= gst-plugins-good-${V} +PKGNAME= ${GST_PKGNAME_PREFIX}-plugins-good-${V} +REVISION= 0 + +PKGNAME-main= ${PKGNAME} +PKGNAME-pulse= ${GST_PKGNAME_PREFIX}-plugins-pulse-${V} + +SITES= ${SITE_GST:=gst-plugins-good/} + +WANTLIB += glib-2.0 gobject-2.0 gstaudio-1.0 gstbase-1.0 gstreamer-1.0 +WANTLIB += intl + +WANTLIB-main += ${WANTLIB} +WANTLIB-main += ${COMPILER_LIBCXX} FLAC X11 Xdamage Xext Xfixes bz2 +WANTLIB-main += cairo cairo-gobject gdk-3 gdk_pixbuf-2.0 gio-2.0 gmodule-2.0 +WANTLIB-main += gstallocators-1.0 gstfft-1.0 gstgl-1.0 gstnet-1.0 gstpbutils-1.0 +WANTLIB-main += gstriff-1.0 gstrtp-1.0 gstrtsp-1.0 gstsdp-1.0 gsttag-1.0 +WANTLIB-main += gstvideo-1.0 gtk-3 jpeg m mp3lame nettle orc-0.4 png +WANTLIB-main += shout speex tag twolame v4l2 vpx wavpack xml2 z + +WANTLIB-pulse += ${WANTLIB} pulse + +MULTI_PACKAGES= -main -pulse + +LIB_DEPENDS= ${P}/plugins-base=${V} + +LIB_DEPENDS-main= ${LIB_DEPENDS} \ + archivers/bzip2 \ + audio/flac \ + audio/lame \ + audio/speex \ + audio/taglib \ + audio/twolame \ + audio/wavpack \ + multimedia/libv4l \ + multimedia/libvpx \ + net/libshout \ + x11/gtk+3 + +# dlopen() +WANTLIB-main += soup-3.0 +BUILD_DEPENDS += devel/libsoup3 +RUN_DEPENDS-main += devel/libsoup3 + +LIB_DEPENDS-pulse= ${LIB_DEPENDS} \ + audio/pulseaudio +RUN_DEPENDS-pulse= ${BASE_PKGPATH},-main=${V} + +CONFIGURE_ARGS= -Daalib=disabled \ + -Ddirectsound=disabled \ + -Ddv=disabled \ + -Ddv1394=disabled \ + -Dwaveform=disabled \ + -Djack=disabled \ + -Dlibcaca=disabled \ + -Dmpg123=disabled \ + -Doss=disabled \ + -Doss4=disabled \ + -Dosxaudio=disabled \ + -Dosxvideo=disabled \ + -Dqt5=disabled \ + -Dqt6=disabled \ + -Dwaveform=disabled \ + -Dv4l2-gudev=disabled \ + -Drpicamsrc=disabled + +.if ${MACHINE_ARCH} == "amd64" +BUILD_DEPENDS += devel/nasm +.endif + +DEBUG_PACKAGES= ${BUILD_PACKAGES} + +.include <bsd.port.arch.mk> +.if !${BUILD_PACKAGES:M-pulse} +CONFIGURE_ARGS += -Dpulse=disabled +.endif + +.include <bsd.port.mk> diff --git a/multimedia/gstreamer1/plugins-good/distinfo b/multimedia/gstreamer1/plugins-good/distinfo @@ -0,0 +1,2 @@ +SHA256 (gstreamer/gst-plugins-good-1.22.10.tar.xz) = 90j+rpIsrWLyAQKoSt6PQreOHkSjSGaqPqdm+RcuHH8= +SIZE (gstreamer/gst-plugins-good-1.22.10.tar.xz) = 2840828 diff --git a/multimedia/gstreamer1/plugins-good/patches/CVS/Entries b/multimedia/gstreamer1/plugins-good/patches/CVS/Entries @@ -0,0 +1,4 @@ +/patch-ext_soup_gstsouploader_c/1.6/Wed Jan 25 18:20:48 2023// +/patch-sys_v4l2_v4l2_calls_c/1.5/Wed Jun 21 17:20:01 2023// +/patch-gst_deinterlace_x86_x86inc_asm/1.1/Mon Feb 26 04:49:46 2024// +D diff --git a/multimedia/gstreamer1/plugins-good/patches/CVS/Repository b/multimedia/gstreamer1/plugins-good/patches/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-good/patches diff --git a/multimedia/gstreamer1/plugins-good/patches/patch-ext_soup_gstsouploader_c b/multimedia/gstreamer1/plugins-good/patches/patch-ext_soup_gstsouploader_c @@ -0,0 +1,14 @@ +Index: ext/soup/gstsouploader.c +--- ext/soup/gstsouploader.c.orig ++++ ext/soup/gstsouploader.c +@@ -46,8 +46,8 @@ GST_DEBUG_CATEGORY (gst_soup_debug); + #define LIBSOUP_3_SONAME "libsoup-3.0.0.dylib" + #define LIBSOUP_2_SONAME "libsoup-2.4.1.dylib" + #else +-#define LIBSOUP_3_SONAME "libsoup-3.0.so.0" +-#define LIBSOUP_2_SONAME "libsoup-2.4.so.1" ++#define LIBSOUP_3_SONAME "libsoup-3.0.so" ++#define LIBSOUP_2_SONAME "libsoup-2.4.so" + #endif + + diff --git a/multimedia/gstreamer1/plugins-good/patches/patch-gst_deinterlace_x86_x86inc_asm b/multimedia/gstreamer1/plugins-good/patches/patch-gst_deinterlace_x86_x86inc_asm @@ -0,0 +1,13 @@ +Index: gst/deinterlace/x86/x86inc.asm +--- gst/deinterlace/x86/x86inc.asm.orig ++++ gst/deinterlace/x86/x86inc.asm +@@ -732,6 +732,9 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, + %endif + align function_align + %2: ++ %if ARCH_X86_64 ++ endbr64 ++ %endif + RESET_MM_PERMUTATION ; needed for x86-64, also makes disassembly somewhat nicer + %xdefine rstk rsp ; copy of the original stack pointer, used when greater alignment than the known stack alignment is required + %assign stack_offset 0 ; stack pointer offset relative to the return address diff --git a/multimedia/gstreamer1/plugins-good/patches/patch-sys_v4l2_v4l2_calls_c b/multimedia/gstreamer1/plugins-good/patches/patch-sys_v4l2_v4l2_calls_c @@ -0,0 +1,22 @@ +Index: sys/v4l2/v4l2_calls.c +--- sys/v4l2/v4l2_calls.c.orig ++++ sys/v4l2/v4l2_calls.c +@@ -1333,14 +1333,18 @@ gst_v4l2_query_dv_timings (GstV4l2Object * v4l2object, + + if (ret < 0) { + switch (errno) { ++#ifdef ENODATA + case ENODATA: + GST_DEBUG_OBJECT (v4l2object->dbg_obj, + "QUERY_DV_TIMINGS not supported for this input/output"); + break; ++#endif ++#ifdef ENOLINK + case ENOLINK: + GST_DEBUG_OBJECT (v4l2object->dbg_obj, + "No timings could be detected because no signal was found."); + break; ++#endif + case ENOLCK: + GST_INFO_OBJECT (v4l2object->dbg_obj, + "The signal was unstable and the hardware could not lock on to it."); diff --git a/multimedia/gstreamer1/plugins-good/pkg/CVS/Entries b/multimedia/gstreamer1/plugins-good/pkg/CVS/Entries @@ -0,0 +1,5 @@ +/DESCR-main/1.2/Tue Sep 24 18:29:48 2013// +/DESCR-pulse/1.2/Tue Sep 24 18:29:48 2013// +/PLIST-pulse/1.5/Sat Mar 12 08:17:10 2022// +/PLIST-main/1.23/Wed Jan 25 18:20:48 2023// +D diff --git a/multimedia/gstreamer1/plugins-good/pkg/CVS/Repository b/multimedia/gstreamer1/plugins-good/pkg/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-good/pkg diff --git a/multimedia/gstreamer1/plugins-good/pkg/DESCR-main b/multimedia/gstreamer1/plugins-good/pkg/DESCR-main @@ -0,0 +1,10 @@ +This is GStreamer, a framework for streaming media. +This package contains the "good" elements for gstreamer-${API}. + + "Such ingratitude. After all the times I've saved your life." + +A collection of plug-ins you'd want to have right next to you on the +battlefield. Shooting sharp and making no mistakes, these plug-ins have +it all: good looks, good code, and good licensing. Documented and +dressed up in tests. If you're looking for a role model to base your +own plug-in on, here it is. diff --git a/multimedia/gstreamer1/plugins-good/pkg/DESCR-pulse b/multimedia/gstreamer1/plugins-good/pkg/DESCR-pulse @@ -0,0 +1,4 @@ +This is GStreamer, a framework for streaming media. +This package contains the "pulse" element for gstreamer-${API}. + +Part of plugins-good. diff --git a/multimedia/gstreamer1/plugins-good/pkg/PLIST-main b/multimedia/gstreamer1/plugins-good/pkg/PLIST-main @@ -0,0 +1,115 @@ +@conflict gstreamer1-plugins-bad-<1.14.0 +@conflict gstreamer1-plugins-ugly-<1.22.0 +@so lib/gstreamer-${API}/libgstadaptivedemux2.so +@so lib/gstreamer-${API}/libgstalaw.so +@so lib/gstreamer-${API}/libgstalpha.so +@so lib/gstreamer-${API}/libgstalphacolor.so +@so lib/gstreamer-${API}/libgstapetag.so +@so lib/gstreamer-${API}/libgstaudiofx.so +@so lib/gstreamer-${API}/libgstaudioparsers.so +@so lib/gstreamer-${API}/libgstauparse.so +@so lib/gstreamer-${API}/libgstautodetect.so +@so lib/gstreamer-${API}/libgstavi.so +@so lib/gstreamer-${API}/libgstcairo.so +@so lib/gstreamer-${API}/libgstcutter.so +@so lib/gstreamer-${API}/libgstdebug.so +@so lib/gstreamer-${API}/libgstdeinterlace.so +@so lib/gstreamer-${API}/libgstdtmf.so +@so lib/gstreamer-${API}/libgsteffectv.so +@so lib/gstreamer-${API}/libgstequalizer.so +@so lib/gstreamer-${API}/libgstflac.so +@so lib/gstreamer-${API}/libgstflv.so +@so lib/gstreamer-${API}/libgstflxdec.so +@so lib/gstreamer-${API}/libgstgdkpixbuf.so +@so lib/gstreamer-${API}/libgstgoom.so +@so lib/gstreamer-${API}/libgstgoom2k1.so +@so lib/gstreamer-${API}/libgstgtk.so +@so lib/gstreamer-${API}/libgsticydemux.so +@so lib/gstreamer-${API}/libgstid3demux.so +@so lib/gstreamer-${API}/libgstimagefreeze.so +@so lib/gstreamer-${API}/libgstinterleave.so +@so lib/gstreamer-${API}/libgstisomp4.so +@so lib/gstreamer-${API}/libgstjpeg.so +@so lib/gstreamer-${API}/libgstlame.so +@so lib/gstreamer-${API}/libgstlevel.so +@so lib/gstreamer-${API}/libgstmatroska.so +@so lib/gstreamer-${API}/libgstmonoscope.so +@so lib/gstreamer-${API}/libgstmulaw.so +@so lib/gstreamer-${API}/libgstmultifile.so +@so lib/gstreamer-${API}/libgstmultipart.so +@so lib/gstreamer-${API}/libgstnavigationtest.so +@so lib/gstreamer-${API}/libgstpng.so +@so lib/gstreamer-${API}/libgstreplaygain.so +@so lib/gstreamer-${API}/libgstrtp.so +@so lib/gstreamer-${API}/libgstrtpmanager.so +@so lib/gstreamer-${API}/libgstrtsp.so +@so lib/gstreamer-${API}/libgstshapewipe.so +@so lib/gstreamer-${API}/libgstshout2.so +@so lib/gstreamer-${API}/libgstsmpte.so +@so lib/gstreamer-${API}/libgstsoup.so +@so lib/gstreamer-${API}/libgstspectrum.so +@so lib/gstreamer-${API}/libgstspeex.so +@so lib/gstreamer-${API}/libgsttaglib.so +@so lib/gstreamer-${API}/libgsttwolame.so +@so lib/gstreamer-${API}/libgstudp.so +@so lib/gstreamer-${API}/libgstvideo4linux2.so +@so lib/gstreamer-${API}/libgstvideobox.so +@so lib/gstreamer-${API}/libgstvideocrop.so +@so lib/gstreamer-${API}/libgstvideofilter.so +@so lib/gstreamer-${API}/libgstvideomixer.so +@so lib/gstreamer-${API}/libgstvpx.so +@so lib/gstreamer-${API}/libgstwavenc.so +@so lib/gstreamer-${API}/libgstwavpack.so +@so lib/gstreamer-${API}/libgstwavparse.so +@so lib/gstreamer-${API}/libgstximagesrc.so +@so lib/gstreamer-${API}/libgstxingmux.so +@so lib/gstreamer-${API}/libgsty4menc.so +share/gstreamer-${API}/presets/ +share/gstreamer-${API}/presets/GstIirEqualizer10Bands.prs +share/gstreamer-${API}/presets/GstIirEqualizer3Bands.prs +share/gstreamer-${API}/presets/GstQTMux.prs +share/gstreamer-${API}/presets/GstVP8Enc.prs +share/locale/af/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/az/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/bg/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/ca/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/cs/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/da/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/de/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/el/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/en_GB/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/eo/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/es/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/eu/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/fi/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/fr/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/fur/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/gl/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/hr/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/hu/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/id/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/it/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/ja/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/ka/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/ky/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/lt/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/lv/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/mt/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/nb/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/nl/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/or/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/pl/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/pt_BR/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/ro/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/ru/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/sk/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/sl/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/sq/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/sr/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/sv/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/tr/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/uk/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/vi/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/zh_CN/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/zh_HK/LC_MESSAGES/gst-plugins-good-${API}.mo +share/locale/zh_TW/LC_MESSAGES/gst-plugins-good-${API}.mo diff --git a/multimedia/gstreamer1/plugins-good/pkg/PLIST-pulse b/multimedia/gstreamer1/plugins-good/pkg/PLIST-pulse @@ -0,0 +1 @@ +@so lib/gstreamer-${API}/libgstpulseaudio.so diff --git a/multimedia/gstreamer1/plugins-libav/CVS/Entries b/multimedia/gstreamer1/plugins-libav/CVS/Entries @@ -0,0 +1,3 @@ +D/pkg//// +/Makefile/1.47/Wed Sep 27 17:17:54 2023// +/distinfo/1.70/Wed Feb 14 18:21:07 2024// diff --git a/multimedia/gstreamer1/plugins-libav/CVS/Repository b/multimedia/gstreamer1/plugins-libav/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-libav diff --git a/multimedia/gstreamer1/plugins-libav/Makefile b/multimedia/gstreamer1/plugins-libav/Makefile @@ -0,0 +1,17 @@ +COMMENT= ffmpeg elements for GStreamer + +DISTNAME= gst-libav-${V} +PKGNAME= ${GST_PKGNAME_PREFIX}-plugins-libav-${V} + +WANTLIB += avcodec avfilter avformat avutil glib-2.0 gobject-2.0 +WANTLIB += gstaudio-1.0 gstbase-1.0 gstpbutils-1.0 gstreamer-1.0 +WANTLIB += gstvideo-1.0 + +SITES= ${SITE_GST:=gst-libav/} + +LIB_DEPENDS= ${P}/plugins-base=${V} \ + graphics/ffmpeg + +DEBUG_PACKAGES= ${BUILD_PACKAGES} + +.include <bsd.port.mk> diff --git a/multimedia/gstreamer1/plugins-libav/distinfo b/multimedia/gstreamer1/plugins-libav/distinfo @@ -0,0 +1,2 @@ +SHA256 (gstreamer/gst-libav-1.22.10.tar.xz) = 1t2nqjikQXMnjeZ1zNkqz/Cr9HP3vALn0c3Uzg87dkI= +SIZE (gstreamer/gst-libav-1.22.10.tar.xz) = 206616 diff --git a/multimedia/gstreamer1/plugins-libav/pkg/CVS/Entries b/multimedia/gstreamer1/plugins-libav/pkg/CVS/Entries @@ -0,0 +1,3 @@ +/DESCR/1.2/Tue Sep 24 18:30:47 2013// +/PLIST/1.7/Sat Mar 12 08:17:10 2022// +D diff --git a/multimedia/gstreamer1/plugins-libav/pkg/CVS/Repository b/multimedia/gstreamer1/plugins-libav/pkg/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-libav/pkg diff --git a/multimedia/gstreamer1/plugins-libav/pkg/DESCR b/multimedia/gstreamer1/plugins-libav/pkg/DESCR @@ -0,0 +1,4 @@ +This is GStreamer, a framework for streaming media. +This package contains the "libav" elements for gstreamer-${API}. + +This module contains a GStreamer plugin for libav (FFmpeg). diff --git a/multimedia/gstreamer1/plugins-libav/pkg/PLIST b/multimedia/gstreamer1/plugins-libav/pkg/PLIST @@ -0,0 +1 @@ +@so lib/gstreamer-${API}/libgstlibav.so diff --git a/multimedia/gstreamer1/plugins-ugly/CVS/Entries b/multimedia/gstreamer1/plugins-ugly/CVS/Entries @@ -0,0 +1,3 @@ +D/pkg//// +/Makefile/1.44/Wed Sep 27 17:17:54 2023// +/distinfo/1.71/Wed Feb 14 18:21:07 2024// diff --git a/multimedia/gstreamer1/plugins-ugly/CVS/Repository b/multimedia/gstreamer1/plugins-ugly/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-ugly diff --git a/multimedia/gstreamer1/plugins-ugly/Makefile b/multimedia/gstreamer1/plugins-ugly/Makefile @@ -0,0 +1,27 @@ +COMMENT= ugly elements for GStreamer + +DISTNAME= gst-plugins-ugly-${V} +PKGNAME= ${GST_PKGNAME_PREFIX}-plugins-ugly-${V} + +WANTLIB += cdio dvdread glib-2.0 gmodule-2.0 gobject-2.0 gstaudio-1.0 +WANTLIB += gstbase-1.0 gstpbutils-1.0 gstreamer-1.0 gstriff-1.0 +WANTLIB += gstrtp-1.0 gstrtsp-1.0 gstsdp-1.0 gsttag-1.0 gstvideo-1.0 +WANTLIB += intl x264 + +SITES= ${SITE_GST:=gst-plugins-ugly/} + +LIB_DEPENDS= ${P}/plugins-base=${V} \ + audio/libcdio \ + devel/libdvdread \ + multimedia/x264 + +CONFIGURE_ARGS= -Dgpl=enabled \ + -Da52dec=disabled \ + -Damrnb=disabled \ + -Damrwbdec=disabled \ + -Dmpeg2dec=disabled \ + -Dsidplay=disabled + +DEBUG_PACKAGES= ${BUILD_PACKAGES} + +.include <bsd.port.mk> diff --git a/multimedia/gstreamer1/plugins-ugly/distinfo b/multimedia/gstreamer1/plugins-ugly/distinfo @@ -0,0 +1,2 @@ +SHA256 (gstreamer/gst-plugins-ugly-1.22.10.tar.xz) = zICoGiLAs7Mat/G4vxjdojxy0nkbhsxiZJI6aDNjKeo= +SIZE (gstreamer/gst-plugins-ugly-1.22.10.tar.xz) = 255832 diff --git a/multimedia/gstreamer1/plugins-ugly/pkg/CVS/Entries b/multimedia/gstreamer1/plugins-ugly/pkg/CVS/Entries @@ -0,0 +1,3 @@ +/DESCR/1.2/Tue Sep 24 18:30:05 2013// +/PLIST/1.18/Wed Jan 25 18:20:48 2023// +D diff --git a/multimedia/gstreamer1/plugins-ugly/pkg/CVS/Repository b/multimedia/gstreamer1/plugins-ugly/pkg/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/plugins-ugly/pkg diff --git a/multimedia/gstreamer1/plugins-ugly/pkg/DESCR b/multimedia/gstreamer1/plugins-ugly/pkg/DESCR @@ -0,0 +1,10 @@ +This is GStreamer, a framework for streaming media. +This package contains the "ugly" elements for gstreamer-${API}. + + "When you have to shoot, shoot. Don't talk." + +There are times when the world needs a color between black and white. +Quality code to match the good's, but two-timing, backstabbing and ready +to sell your freedom down the river. These plug-ins might have a patent +noose around their neck, or a lock-up license, or any other problem that +makes you think twice about shipping them. diff --git a/multimedia/gstreamer1/plugins-ugly/pkg/PLIST b/multimedia/gstreamer1/plugins-ugly/pkg/PLIST @@ -0,0 +1,54 @@ +@so lib/gstreamer-${API}/libgstasf.so +@so lib/gstreamer-${API}/libgstcdio.so +@so lib/gstreamer-${API}/libgstdvdlpcmdec.so +@so lib/gstreamer-${API}/libgstdvdread.so +@so lib/gstreamer-${API}/libgstdvdsub.so +@so lib/gstreamer-${API}/libgstrealmedia.so +@so lib/gstreamer-${API}/libgstx264.so +share/gstreamer-${API}/presets/ +share/gstreamer-${API}/presets/GstX264Enc.prs +share/locale/af/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/ast/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/az/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/bg/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/ca/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/cs/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/da/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/de/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/el/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/en_GB/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/eo/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/es/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/eu/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/fi/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/fr/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/fur/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/gl/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/hr/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/hu/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/id/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/it/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/ja/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/ka/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/lt/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/lv/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/ms/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/mt/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/nb/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/nl/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/or/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/pl/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/pt_BR/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/ro/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/ru/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/sk/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/sl/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/sq/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/sr/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/sv/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/ta/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/tr/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/uk/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/vi/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/zh_CN/LC_MESSAGES/gst-plugins-ugly-${API}.mo +share/locale/zh_TW/LC_MESSAGES/gst-plugins-ugly-${API}.mo diff --git a/multimedia/gstreamer1/py-gstreamer/CVS/Entries b/multimedia/gstreamer1/py-gstreamer/CVS/Entries @@ -0,0 +1,3 @@ +D/pkg//// +/Makefile/1.27/Wed Sep 27 17:17:54 2023// +/distinfo/1.49/Wed Feb 14 18:21:07 2024// diff --git a/multimedia/gstreamer1/py-gstreamer/CVS/Repository b/multimedia/gstreamer1/py-gstreamer/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/py-gstreamer diff --git a/multimedia/gstreamer1/py-gstreamer/Makefile b/multimedia/gstreamer1/py-gstreamer/Makefile @@ -0,0 +1,32 @@ +COMMENT= overrides for the gobject-introspection-based pygst bindings + +DISTNAME= gst-python-${V} +PKGNAME= py-gstreamer1-${V} + +HOMEPAGE= http://gstreamer.freedesktop.org/modules/gst-python.html + +WANTLIB += ${MODPY_WANTLIB} +WANTLIB += glib-2.0 gmodule-2.0 gobject-2.0 gstreamer-1.0 + +SITES= ${SITE_GST:=gst-python/} + +# XXX we need the meson MODULE to come first, but Makefile.inc is parsed after +MODULES= devel/meson lang/python + +FLAVORS= python3 +FLAVOR= python3 + +# MODPY_LIBDIR/gi/overrides/ +BUILD_DEPENDS= devel/py-gobject3${MODPY_FLAVOR} \ + ${P}/plugins-base>=${V} +RUN_DEPENDS= devel/py-gobject3${MODPY_FLAVOR} \ + ${P}/plugins-base>=${V} + +LIB_DEPENDS= ${P}/core>=${V} \ + ${MODPY_LIB_DEPENDS} + +CONFIGURE_ARGS= -Dlibpython-dir=${LOCALBASE}/lib + +DEBUG_PACKAGES= ${BUILD_PACKAGES} + +.include <bsd.port.mk> diff --git a/multimedia/gstreamer1/py-gstreamer/distinfo b/multimedia/gstreamer1/py-gstreamer/distinfo @@ -0,0 +1,2 @@ +SHA256 (gstreamer/gst-python-1.22.10.tar.xz) = meN+qfcWMJlzT5sPzjYbxnoOemX/upvElxJ1BqP97bM= +SIZE (gstreamer/gst-python-1.22.10.tar.xz) = 117164 diff --git a/multimedia/gstreamer1/py-gstreamer/pkg/CVS/Entries b/multimedia/gstreamer1/py-gstreamer/pkg/CVS/Entries @@ -0,0 +1,3 @@ +/DESCR/1.1.1.1/Sat Nov 7 09:29:39 2015// +/PLIST/1.10/Fri Jul 21 17:16:36 2023// +D diff --git a/multimedia/gstreamer1/py-gstreamer/pkg/CVS/Repository b/multimedia/gstreamer1/py-gstreamer/pkg/CVS/Repository @@ -0,0 +1 @@ +ports/multimedia/gstreamer1/py-gstreamer/pkg diff --git a/multimedia/gstreamer1/py-gstreamer/pkg/DESCR b/multimedia/gstreamer1/py-gstreamer/pkg/DESCR @@ -0,0 +1 @@ +GStreamer python overrides for the gobject-introspection-based pygst bindings. diff --git a/multimedia/gstreamer1/py-gstreamer/pkg/PLIST b/multimedia/gstreamer1/py-gstreamer/pkg/PLIST @@ -0,0 +1,11 @@ +@pkgpath multimedia/gstreamer1/py-gstreamer +@so lib/gstreamer-${API}/libgstpython.so +lib/python${MODPY_VERSION}/site-packages/gi/overrides/Gst.py +lib/python${MODPY_VERSION}/site-packages/gi/overrides/GstAudio.py +lib/python${MODPY_VERSION}/site-packages/gi/overrides/GstPbutils.py +lib/python${MODPY_VERSION}/site-packages/gi/overrides/GstVideo.py +lib/python${MODPY_VERSION}/site-packages/gi/overrides/${MODPY_PYCACHE}Gst.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/gi/overrides/${MODPY_PYCACHE}GstAudio.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/gi/overrides/${MODPY_PYCACHE}GstPbutils.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/gi/overrides/${MODPY_PYCACHE}GstVideo.${MODPY_PYC_MAGIC_TAG}pyc +@so lib/python${MODPY_VERSION}/site-packages/gi/overrides/_gi_gst.${MODPY_PYC_MAGIC_TAG}so