Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Dec 2020 02:48:04 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r558199 - in head: audio/mythplugin-mythmusic multimedia/mythtv multimedia/mythtv-frontend multimedia/mythtv/files
Message-ID:  <202012160248.0BG2m4cQ035104@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kevans
Date: Wed Dec 16 02:48:03 2020
New Revision: 558199
URL: https://svnweb.freebsd.org/changeset/ports/558199

Log:
  multimedia/mythtv: update to 31.0
  
  - Upgrade multimedia/mythtv and multimedia/mythtv-frontend from 30 to 31.0
  - Bumps python to 3.5+
  - Uses ffmpeg 4.3.1 so CVE-2016-10191 no longer applies
  - Configuration options changed to reflect update
  
  Release notes: https://www.mythtv.org/wiki/Release_Notes_-_31
  
  audio/mythplugin-mythmusic also bumped as a reverse dep.
  
  Pass maintainership of multimedia/mythtv* to submitter.
  
  PR:		249484
  Submitted by:	Alan Hicks <ahicks p-o co uk>

Added:
  head/multimedia/mythtv/files/audio.h   (contents, props changed)
  head/multimedia/mythtv/files/ca.h   (contents, props changed)
  head/multimedia/mythtv/files/dmx.h   (contents, props changed)
  head/multimedia/mythtv/files/frontend.h   (contents, props changed)
  head/multimedia/mythtv/files/net.h   (contents, props changed)
  head/multimedia/mythtv/files/osd.h   (contents, props changed)
  head/multimedia/mythtv/files/version.h   (contents, props changed)
  head/multimedia/mythtv/files/video.h   (contents, props changed)
Deleted:
  head/multimedia/mythtv/files/patch-CVE-2016-10191
  head/multimedia/mythtv/files/patch-configure
  head/multimedia/mythtv/files/patch-external_FFmpeg_libavformat_rtsp.c
  head/multimedia/mythtv/files/patch-external_libmythdvdnav_dvdnav_dvdnav_dvdnav.h
  head/multimedia/mythtv/files/patch-libs_libmythmetadata_imagemetadata.cpp
  head/multimedia/mythtv/files/patch-libs_libmythtv_DVD_dvdringbuffer.h
  head/multimedia/mythtv/files/patch-libs_libmythtv_videodev2.h
Modified:
  head/audio/mythplugin-mythmusic/Makefile
  head/audio/mythplugin-mythmusic/distinfo
  head/audio/mythplugin-mythmusic/pkg-plist
  head/multimedia/mythtv-frontend/Makefile
  head/multimedia/mythtv-frontend/pkg-plist
  head/multimedia/mythtv/Makefile
  head/multimedia/mythtv/distinfo
  head/multimedia/mythtv/pkg-plist

Modified: head/audio/mythplugin-mythmusic/Makefile
==============================================================================
--- head/audio/mythplugin-mythmusic/Makefile	Wed Dec 16 02:02:25 2020	(r558198)
+++ head/audio/mythplugin-mythmusic/Makefile	Wed Dec 16 02:48:03 2020	(r558199)
@@ -3,8 +3,7 @@
 
 PORTNAME=	mythmusic
 DISTVERSIONPREFIX=	v
-DISTVERSION=	30.0
-PORTREVISION=	1
+DISTVERSION=	31.0
 CATEGORIES=	audio
 PKGNAMEPREFIX=	mythplugin-
 
@@ -18,7 +17,7 @@ LIB_DEPENDS=	libFLAC.so:audio/flac \
 		libmp3lame.so:audio/lame \
 		libogg.so:audio/libogg \
 		libvorbis.so:audio/libvorbis \
-		libmyth-30.so:multimedia/mythtv
+		libmyth-31.so:multimedia/mythtv
 
 USES=		gmake qt:5
 USE_GITHUB=	yes

Modified: head/audio/mythplugin-mythmusic/distinfo
==============================================================================
--- head/audio/mythplugin-mythmusic/distinfo	Wed Dec 16 02:02:25 2020	(r558198)
+++ head/audio/mythplugin-mythmusic/distinfo	Wed Dec 16 02:48:03 2020	(r558199)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1549080114
-SHA256 (MythTV-mythtv-v30.0_GH0.tar.gz) = 7f7ae9b8927659616f181afc12d7ddc26b0a4b0d13982e2586985f4770640b43
-SIZE (MythTV-mythtv-v30.0_GH0.tar.gz) = 101169041
+TIMESTAMP = 1607876879
+SHA256 (MythTV-mythtv-v31.0_GH0.tar.gz) = 907d1747950ec6ef1ec965069c75500b4538b781333f60e16d62d519b221a86d
+SIZE (MythTV-mythtv-v31.0_GH0.tar.gz) = 102552136

Modified: head/audio/mythplugin-mythmusic/pkg-plist
==============================================================================
--- head/audio/mythplugin-mythmusic/pkg-plist	Wed Dec 16 02:02:25 2020	(r558198)
+++ head/audio/mythplugin-mythmusic/pkg-plist	Wed Dec 16 02:48:03 2020	(r558199)
@@ -1,4 +1,5 @@
 lib/mythtv/plugins/libmythmusic.so
+%%MYTHSHARE%%/i18n/mythmusic_bg.qm
 %%MYTHSHARE%%/i18n/mythmusic_ca.qm
 %%MYTHSHARE%%/i18n/mythmusic_cs.qm
 %%MYTHSHARE%%/i18n/mythmusic_da.qm

Modified: head/multimedia/mythtv-frontend/Makefile
==============================================================================
--- head/multimedia/mythtv-frontend/Makefile	Wed Dec 16 02:02:25 2020	(r558198)
+++ head/multimedia/mythtv-frontend/Makefile	Wed Dec 16 02:48:03 2020	(r558199)
@@ -1,10 +1,9 @@
 # Created by: Bernhard Froehlich <decke@bluelife.at>
 # $FreeBSD$
 
-PORTREVISION=	2
 PKGNAMESUFFIX=	-${SLAVEPORT}
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	ahicks@p-o.co.uk
 COMMENT=	Homebrew PVR project (frontend only)
 
 MASTERDIR=	${.CURDIR}/../../multimedia/mythtv

Modified: head/multimedia/mythtv-frontend/pkg-plist
==============================================================================
--- head/multimedia/mythtv-frontend/pkg-plist	Wed Dec 16 02:02:25 2020	(r558198)
+++ head/multimedia/mythtv-frontend/pkg-plist	Wed Dec 16 02:48:03 2020	(r558199)
@@ -25,7 +25,6 @@ include/mythtv/bonjourregister.h
 include/mythtv/bswap.h
 include/mythtv/compat.h
 include/mythtv/dbutil.h
-include/mythtv/dialogbox.h
 include/mythtv/dvdnav/dvd_types.h
 include/mythtv/dvdnav/dvdnav.h
 include/mythtv/dvdnav/dvdnav_events.h
@@ -114,6 +113,7 @@ include/mythtv/libavutil/fifo.h
 include/mythtv/libavutil/file.h
 include/mythtv/libavutil/frame.h
 include/mythtv/libavutil/hash.h
+include/mythtv/libavutil/hdr_dynamic_metadata.h
 include/mythtv/libavutil/hmac.h
 include/mythtv/libavutil/hwcontext.h
 include/mythtv/libavutil/hwcontext_cuda.h
@@ -160,6 +160,7 @@ include/mythtv/libavutil/timecode.h
 include/mythtv/libavutil/timestamp.h
 include/mythtv/libavutil/tree.h
 include/mythtv/libavutil/twofish.h
+include/mythtv/libavutil/tx.h
 include/mythtv/libavutil/version.h
 include/mythtv/libavutil/xtea.h
 include/mythtv/libmyth/audioconvert.h
@@ -167,17 +168,13 @@ include/mythtv/libmyth/audiooutput.h
 include/mythtv/libmyth/audiooutputsettings.h
 include/mythtv/libmyth/audiooutpututil.h
 include/mythtv/libmyth/audiosettings.h
-include/mythtv/libmyth/dialogbox.h
 include/mythtv/libmyth/eldutils.h
 include/mythtv/libmyth/langsettings.h
 include/mythtv/libmyth/mythcontext.h
-include/mythtv/libmyth/mythdialogs.h
 include/mythtv/libmyth/mythexp.h
 include/mythtv/libmyth/mythmediamonitor.h
 include/mythtv/libmyth/mythrssmanager.h
 include/mythtv/libmyth/mythterminal.h
-include/mythtv/libmyth/mythwidgets.h
-include/mythtv/libmyth/mythwizard.h
 include/mythtv/libmyth/netgrabbermanager.h
 include/mythtv/libmyth/netutils.h
 include/mythtv/libmyth/output.h
@@ -331,7 +328,6 @@ include/mythtv/libmythui/mythmainwindow.h
 include/mythtv/libmythui/mythnotification.h
 include/mythtv/libmythui/mythnotificationcenter.h
 include/mythtv/libmythui/mythpainter.h
-include/mythtv/libmythui/mythpainter_ogl.h
 include/mythtv/libmythui/mythpainter_qt.h
 include/mythtv/libmythui/mythprogressdialog.h
 include/mythtv/libmythui/mythrect.h
@@ -430,7 +426,6 @@ include/mythtv/mythdb.h
 include/mythtv/mythdbcon.h
 include/mythtv/mythdbparams.h
 include/mythtv/mythdeque.h
-include/mythtv/mythdialogs.h
 include/mythtv/mythdirs.h
 include/mythtv/mythdownloadmanager.h
 include/mythtv/mythevent.h
@@ -460,8 +455,6 @@ include/mythtv/mythtranslation.h
 include/mythtv/mythtvexp.h
 include/mythtv/mythtypes.h
 include/mythtv/mythversion.h
-include/mythtv/mythwidgets.h
-include/mythtv/mythwizard.h
 include/mythtv/netgrabbermanager.h
 include/mythtv/netutils.h
 include/mythtv/output.h
@@ -519,86 +512,78 @@ include/mythtv/verbosedefs.h
 include/mythtv/version.h
 include/mythtv/visual.h
 include/mythtv/volumebase.h
-lib/libmyth-30.so
-lib/libmyth-30.so.30
-lib/libmyth-30.so.30.0
-lib/libmyth-30.so.30.0.0
+lib/libmyth-31.so
+lib/libmyth-31.so.31
+lib/libmyth-31.so.31.0
+lib/libmyth-31.so.31.0.0
 lib/libmythavcodec.so
 lib/libmythavcodec.so.58
-lib/libmythavcodec.so.58.18.100
+lib/libmythavcodec.so.58.54.100
 lib/libmythavdevice.so
 lib/libmythavdevice.so.58
-lib/libmythavdevice.so.58.3.100
+lib/libmythavdevice.so.58.8.100
 lib/libmythavfilter.so
 lib/libmythavfilter.so.7
-lib/libmythavfilter.so.7.16.100
+lib/libmythavfilter.so.7.57.100
 lib/libmythavformat.so
 lib/libmythavformat.so.58
-lib/libmythavformat.so.58.12.100
+lib/libmythavformat.so.58.29.100
 lib/libmythavutil.so
 lib/libmythavutil.so.56
-lib/libmythavutil.so.56.14.100
-lib/libmythbase-30.so
-lib/libmythbase-30.so.30
-lib/libmythbase-30.so.30.0
-lib/libmythbase-30.so.30.0.0
-lib/libmythfreemheg-30.so
-lib/libmythfreemheg-30.so.30
-lib/libmythfreemheg-30.so.30.0
-lib/libmythfreemheg-30.so.30.0.0
-lib/libmythmetadata-30.so
-lib/libmythmetadata-30.so.30
-lib/libmythmetadata-30.so.30.0
-lib/libmythmetadata-30.so.30.0.0
+lib/libmythavutil.so.56.31.100
+lib/libmythbase-31.so
+lib/libmythbase-31.so.31
+lib/libmythbase-31.so.31.0
+lib/libmythbase-31.so.31.0.0
+lib/libmythfreemheg-31.so
+lib/libmythfreemheg-31.so.31
+lib/libmythfreemheg-31.so.31.0
+lib/libmythfreemheg-31.so.31.0.0
+lib/libmythmetadata-31.so
+lib/libmythmetadata-31.so.31
+lib/libmythmetadata-31.so.31.0
+lib/libmythmetadata-31.so.31.0.0
 lib/libmythpostproc.so
 lib/libmythpostproc.so.55
-lib/libmythpostproc.so.55.1.100
-lib/libmythprotoserver-30.so
-lib/libmythprotoserver-30.so.30
-lib/libmythprotoserver-30.so.30.0
-lib/libmythprotoserver-30.so.30.0.0
-lib/libmythservicecontracts-30.so
-lib/libmythservicecontracts-30.so.30
-lib/libmythservicecontracts-30.so.30.0
-lib/libmythservicecontracts-30.so.30.0.0
+lib/libmythpostproc.so.55.5.100
+lib/libmythprotoserver-31.so
+lib/libmythprotoserver-31.so.31
+lib/libmythprotoserver-31.so.31.0
+lib/libmythprotoserver-31.so.31.0.0
+lib/libmythservicecontracts-31.so
+lib/libmythservicecontracts-31.so.31
+lib/libmythservicecontracts-31.so.31.0
+lib/libmythservicecontracts-31.so.31.0.0
 lib/libmythswresample.so
 lib/libmythswresample.so.3
-lib/libmythswresample.so.3.1.100
+lib/libmythswresample.so.3.5.100
 lib/libmythswscale.so
 lib/libmythswscale.so.5
-lib/libmythswscale.so.5.1.100
-lib/libmythtv-30.so
-lib/libmythtv-30.so.30
-lib/libmythtv-30.so.30.0
-lib/libmythtv-30.so.30.0.0
-lib/libmythui-30.so
-lib/libmythui-30.so.30
-lib/libmythui-30.so.30.0
-lib/libmythui-30.so.30.0.0
-lib/libmythupnp-30.so
-lib/libmythupnp-30.so.30
-lib/libmythupnp-30.so.30.0
-lib/libmythupnp-30.so.30.0.0
-lib/mythtv/filters/libadjust.so
-lib/mythtv/filters/libbobdeint.so
-lib/mythtv/filters/libcrop.so
-lib/mythtv/filters/libdenoise3d.so
-lib/mythtv/filters/libfieldorder.so
-lib/mythtv/filters/libforce.so
-lib/mythtv/filters/libgreedyhdeint.so
-lib/mythtv/filters/libinvert.so
-lib/mythtv/filters/libivtc.so
-lib/mythtv/filters/libkerneldeint.so
-lib/mythtv/filters/liblinearblend.so
-lib/mythtv/filters/libonefield.so
-lib/mythtv/filters/libpostprocess.so
-lib/mythtv/filters/libquickdnr.so
-lib/mythtv/filters/libvflip.so
-lib/mythtv/filters/libyadif.so
+lib/libmythswscale.so.5.5.100
+lib/libmythtv-31.so
+lib/libmythtv-31.so.31
+lib/libmythtv-31.so.31.0
+lib/libmythtv-31.so.31.0.0
+lib/libmythui-31.so
+lib/libmythui-31.so.31
+lib/libmythui-31.so.31.0
+lib/libmythui-31.so.31.0.0
+lib/libmythupnp-31.so
+lib/libmythupnp-31.so.31
+lib/libmythupnp-31.so.31.0
+lib/libmythupnp-31.so.31.0.0
 %%DATADIR%%/CDS_scpd.xml
 %%DATADIR%%/CMGR_scpd.xml
 %%DATADIR%%/MFEXML_scpd.xml
 %%DATADIR%%/MSRR_scpd.xml
+%%DATADIR%%/bindings/php/MythBackend.php
+%%DATADIR%%/bindings/php/MythBase.php
+%%DATADIR%%/bindings/php/MythFrontend.php
+%%DATADIR%%/bindings/php/MythTV.php
+%%DATADIR%%/bindings/php/MythTVChannel.php
+%%DATADIR%%/bindings/php/MythTVProgram.php
+%%DATADIR%%/bindings/php/MythTVRecording.php
+%%DATADIR%%/bindings/php/MythTVStorageGroup.php
 %%DATADIR%%/fonts/DroidSans-Bold.ttf
 %%DATADIR%%/fonts/DroidSans.ttf
 %%DATADIR%%/fonts/DroidSansMono.ttf

Modified: head/multimedia/mythtv/Makefile
==============================================================================
--- head/multimedia/mythtv/Makefile	Wed Dec 16 02:02:25 2020	(r558198)
+++ head/multimedia/mythtv/Makefile	Wed Dec 16 02:48:03 2020	(r558199)
@@ -3,22 +3,17 @@
 
 PORTNAME=	mythtv
 DISTVERSIONPREFIX=	v
-DISTVERSION=	30.0
-PORTREVISION?=	6
+DISTVERSION=	31.0
 PORTEPOCH=	1
 CATEGORIES=	multimedia
 
-PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+=	aab7d3f065a7.patch:-p2
-
-MAINTAINER?=	ports@FreeBSD.org
+MAINTAINER?=	ahicks@p-o.co.uk
 COMMENT?=	Homebrew PVR project
 
 LICENSE=	GPLv2+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
 ONLY_FOR_ARCHS=	amd64 i386
-BROKEN=		fails to package
 .if ${/usr/bin/ld:L:tA} == /usr/bin/ld.lld
 BROKEN_i386=	ld: error: can't create dynamic relocation R_386_32 against local symbol in readonly segment
 .endif
@@ -35,7 +30,10 @@ LIB_DEPENDS=	liblzo2.so:archivers/lzo2 \
 		libfftw3_threads.so:math/fftw3 \
 		libfftw3f.so:math/fftw3-float \
 		libfreetype.so:print/freetype2 \
-		libxml2.so:textproc/libxml2
+		libxml2.so:textproc/libxml2 \
+		libdav1d.so:multimedia/dav1d \
+		libaom.so:multimedia/aom \
+		libdrm.so:graphics/libdrm
 BUILD_DEPENDS=	yasm:devel/yasm \
 		${LOCALBASE}/include/linux/input.h:devel/evdev-proto
 
@@ -53,9 +51,7 @@ USE_XORG=	x11 xv xrandr xxf86vm xinerama xext xcb
 HAS_CONFIGURE=	yes
 CONFIGURE_ARGS=	--prefix="${PREFIX}" --cc="${CC}" --cxx="${CXX}" \
 		--libxml2-path="${LOCALBASE}/include/libxml2" \
-		--enable-opengl-video \
-		--disable-audio-alsa --disable-indev=alsa \
-		--disable-outdev=alsa
+		--disable-audio-alsa
 CONFIGURE_ENV=	QMAKESPEC="${QMAKESPEC}" MOC="${MOC}" \
 		QTDIR="${PREFIX}" PKG_CONFIG_PATH="${LOCALBASE}/libdata/pkgconfig"
 MAKE_ENV=	QTDIR="${PREFIX}" \
@@ -75,19 +71,18 @@ DESKTOP_ENTRIES="MythTV Frontend" "MythTV is a homebre
 CONFLICTS_INSTALL=	mythtv
 
 CONFIGURE_ARGS+=--disable-dvb --disable-firewire --disable-hdhomerun \
-		--disable-hdpvr --disable-ivtv --disable-v4l2 \
-		--without-bindings=perl,python,php
+		--disable-hdpvr --disable-ivtv \
+		--without-bindings=perl,python
 
-EXTRA_PATCHES=	${FILESDIR}/extrapatch-programs_programs.pro
+EXTRA_PATCHES=	${.CURDIR}/../../multimedia/mythtv/files/extrapatch-programs_programs.pro
 
 OPTIONS_EXCLUDE+=	BINDINGS LIRC MYSQL
 .else
 CONFLICTS_INSTALL=	mythtv-frontend
 
-BUILD_DEPENDS+=	v4l_compat>=1.18.0:multimedia/v4l_compat
 RUN_DEPENDS+=	tv_check:textproc/p5-xmltv \
 		wget:ftp/wget
-USES+=		perl5 python:2.7 shebangfix
+USES+=		perl5 python:3.5+ shebangfix
 USE_PERL5=	run build
 USE_RC_SUBR=	mythbackend
 SHEBANG_FILES=	programs/scripts/database/*.pl \
@@ -99,8 +94,8 @@ SHEBANG_FILES=	programs/scripts/database/*.pl \
 		programs/scripts/metadata/Movie/tmdb3.py \
 		programs/scripts/metadata/Music/mbutils.py
 
-CONFIGURE_ARGS+=--dvb-path="${LOCALBASE}/include" \
-		--enable-ivtv --enable-v4l2 --enable-xv
+CONFIGURE_ARGS+=--dvb-path="${WRKSRC}/media_tree/include/uapi" \
+		--enable-ivtv --enable-v4l2
 
 USERS=		mythtv
 GROUPS=		mythtv
@@ -114,9 +109,11 @@ OPTIONS_DEFAULT=	BINDINGS HDHOMERUN VDPAU
 OPTIONS_SUB=		yes
 
 BINDINGS_DESC=		Perl and Python bindings
-BINDINGS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \
+BINDINGS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mysqlclient>=0:databases/py-mysqlclient@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}future>=0:devel/py-future@${PY_FLAVOR} \
 			${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \
-			${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}simplejson>=0:devel/py-simplejson@${PY_FLAVOR} \
 			p5-DBI>=0:databases/p5-DBI \
 			p5-DBD-mysql>0:databases/p5-DBD-mysql \
 			p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \
@@ -124,13 +121,13 @@ BINDINGS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}MySQLdb
 			p5-XML-Simple>=0:textproc/p5-XML-Simple \
 			p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \
 			p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined
-BINDINGS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \
+BINDINGS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}mysqlclient>=1.2.2:databases/py-mysqlclient@${PY_FLAVOR} \
 			${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
 			${PY_FUTURES} \
 			${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \
 			${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
 			${PYTHON_PKGNAMEPREFIX}requests-cache>0:www/py-requests-cache@${PY_FLAVOR} \
-			${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}simplejson>=3:devel/py-simplejson@${PY_FLAVOR} \
 			p5-DBI>=0:databases/p5-DBI \
 			p5-DBD-mysql>0:databases/p5-DBD-mysql \
 			p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \
@@ -138,30 +135,30 @@ BINDINGS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}MySQLdb>=
 			p5-XML-Simple>=0:textproc/p5-XML-Simple \
 			p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \
 			p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined
-BINDINGS_CONFIGURE_ON=	--python=${PYTHON_CMD}
-BINDINGS_CONFIGURE_OFF=	--without-bindings=perl,python
+BINDINGS_CONFIGURE_ON=	--python="${PYTHON_CMD}" --with-bindings=perl,python
 
 HDHOMERUN_DESC=		Native support for HDHomeRun network tuners
 HDHOMERUN_LIB_DEPENDS=	libhdhomerun.so:multimedia/libhdhomerun
 HDHOMERUN_CONFIGURE_OFF=	--disable-hdhomerun
 
 JACK_LIB_DEPENDS=	libjack.so:audio/jack
-JACK_CONFIGURE_ON=	--enable-audio-jack --enable-indev=jack
-JACK_CONFIGURE_OFF=	--disable-audio-jack --disable-indev=jack
+JACK_CONFIGURE_OFF=	--disable-audio-jack
 
 LIRC_LIB_DEPENDS=	liblirc_client.so:comms/lirc
-LIRC_CONFIGURE_ENABLE=	lirc
+LIRC_CONFIGURE_OFF=	--disable-lirc
 
 MYSQL_DESC=		Install MySQL server in addition to client
 MYSQL_USES=		mysql:client,server
 MYSQL_USES_OFF=		mysql
 
 PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
-PULSEAUDIO_CONFIGURE_ENABLE=	audio-pulse audio-pulseoutput
+PULSEAUDIO_CONFIGURE_OFF=	--disable-audio-pulseoutput
 
 VDPAU_LIB_DEPENDS=	libvdpau.so:multimedia/libvdpau
-VDPAU_CONFIGURE_ENABLE=	vdpau
+VDPAU_CONFIGURE_OFF=	--disable-vdpau
 
+LINUXDVB=	${WRKSRC}/media_tree/include/uapi/linux/dvb
+
 post-patch:
 	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
 		${WRKSRC}/configure \
@@ -171,6 +168,62 @@ post-patch:
 		${WRKSRC}/programs/scripts/database/mythconverg_backup.pl \
 		${WRKSRC}/programs/scripts/database/mythconverg_restore.pl \
 		${WRKSRC}/programs/mythcommflag/mythcommflag-analyze
+.if !defined(SLAVEPORT)
+	# Header file from:
+	# https://git.linuxtv.org/media_tree.git/tree/include/uapi/linux/dvb
+	@${MKDIR} ${LINUXDVB}
+	@${CP} ${FILESDIR}/audio.h ${LINUXDVB}
+	@${CP} ${FILESDIR}/ca.h ${LINUXDVB}
+	@${CP} ${FILESDIR}/dmx.h ${LINUXDVB}
+	@${CP} ${FILESDIR}/frontend.h ${LINUXDVB}
+	@${CP} ${FILESDIR}/net.h ${LINUXDVB}
+	@${CP} ${FILESDIR}/osd.h ${LINUXDVB}
+	@${CP} ${FILESDIR}/version.h ${LINUXDVB}
+	@${CP} ${FILESDIR}/video.h ${LINUXDVB}
+	# Linux to BSD from multimedia/libv4l/Makefile
+	@${FIND} ${LINUXDVB} -type f -name "*.h" | \
+		${XARGS} -n 1 ${REINPLACE_CMD} \
+		-e 's|#include <linux/types.h>|#include <sys/types.h>|'\
+		-e 's|__inline__|inline|g' \
+		-e 's|__u8|uint8_t|g' \
+		-e 's|__s8|int8_t|g' \
+		-e 's|__le16|uint16_t|g' \
+		-e 's|__be16|uint16_t|g' \
+		-e 's|__u16|uint16_t|g' \
+		-e 's|__s16|int16_t|g' \
+		-e 's|__le32|uint32_t|g' \
+		-e 's|__be32|uint32_t|g' \
+		-e 's|__u32|uint32_t|g' \
+		-e 's|__s32|int32_t|g' \
+		-e 's|__le64|uint64_t|g' \
+		-e 's|__be64|uint64_t|g' \
+		-e 's|__u64|uint64_t|g' \
+		-e 's|__s64|int64_t|g' \
+		-e 's|uint16_t_to_cpu|letoh16|g' \
+		-e 's|uint32_t_to_cpu|letoh32|g' \
+		-e 's|uint64_t_to_cpu|letoh64|g' \
+		-e 's|error_t|int|g' \
+		-e 's|"gettext.h"|<stdio.h>|g' \
+		-e 's|MSG_MORE|0|g' \
+		-e 's|EBADR|EFAULT|g' \
+		-e 's|ENONET|EHOSTDOWN|g' \
+		-e 's|_IOC_READ|IOC_OUT|g' \
+		-e 's|_IOC_WRITE|IOC_IN|g' \
+		-e 's|_IOC_NONE|IOC_VOID|g' \
+		-e 's|<endian.h>|<sys/endian.h>|g' \
+		-e 's|<linux/compiler.h>|<sys/cdefs.h>|g' \
+		-e 's|<linux/errno.h>|<errno.h>|g' \
+		-e 's|<linux/ioctl.h>|<sys/ioctl.h>|g' \
+		-e '/^.*\<linux\/kernel.h\>.*/d' \
+		-e 's|<linux/string.h>|<string.h>|g' \
+		-e 's|<linux/sysmacros.h>|<sys/types.h>|g' \
+		-e 's|<malloc.h>|<stdlib.h>|g' \
+		-e 's|<sys/epoll.h>|<libepoll-shim/sys/epoll.h>|g' \
+		-e 's|<sys/sysmacros.h>|<sys/types.h>|g' \
+		-e 's|/usr/bin/perl|${LOCALBASE}/bin/perl|g' \
+		-e 's|__user||g' \
+		${LINUXDVB}/frontend.h
+.endif
 
 post-install:
 .if !defined(SLAVEPORT)
@@ -179,15 +232,21 @@ post-install:
 .endif
 	@${FIND} ${STAGEDIR}${PREFIX}/bin -type f -exec ${SH} -c "${FILE} -i '{}' | \
 		${GREP} -q 'x-executable; charset=binary'" \; -print | ${XARGS} ${STRIP_CMD}
-	@(cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} lib/libmyth*.so lib/mythtv/filters/lib*.so)
+	@${FIND} ${STAGEDIR}${PREFIX}/lib -type f -name lib\*.so.\* | ${XARGS} ${STRIP_CMD}
 
 # Apply additional substitutions to pkg-plist generated by the 'makeplist' target
 create-plist: stage
 	@(cd ${.CURDIR} && ${MAKE} makeplist > pkg-plist && \
-	${REINPLACE_CMD} -E \
-		-e '1d' -e '/etc\/rc.d\/mythbackend/d' -e '/packlist/d' \
-		-e '/mythfrontend.desktop/d' \
-		-e '/(^%%PYTHON_SITELIBDIR%%|^%%SITE_PERL%%|mythpython|mythwikiscripts)/s|^|%%BINDINGS%%|g' \
+		${REINPLACE_CMD} -E \
+		-e '1d' -e '/etc\/rc.d\/mythbackend/d' -e '/[.]packlist$$/d' \
+		-e '/[.]bak$$/d' \
+		-e '/[.]gitignore$$/d' \
+		-e 's#^bin/mythpython#%%BINDINGS%%bin/mythpython#' \
+		-e 's#^bin/mythwikiscripts#%%BINDINGS%%bin/mythwikiscripts#' \
+		-e 's#^%%PYTHON_SITELIBDIR%%#%%BINDINGS%%%%PYTHON_SITELIBDIR%%#' \
+		-e 's#^%%DATADIR%%hardwareprofile#%%BINDINGS%%hardwareprofile#' \
+		-e 's#^%%DATADIR%%internetcontent#%%BINDINGS%%internetcontent#' \
+		-e 's#^%%SITE_PERL%%#%%BINDINGS%%%%SITE_PERL%%#' \
 		pkg-plist)
 
 .include <bsd.port.mk>

Modified: head/multimedia/mythtv/distinfo
==============================================================================
--- head/multimedia/mythtv/distinfo	Wed Dec 16 02:02:25 2020	(r558198)
+++ head/multimedia/mythtv/distinfo	Wed Dec 16 02:48:03 2020	(r558199)
@@ -1,5 +1,3 @@
-TIMESTAMP = 1548724555
-SHA256 (MythTV-mythtv-v30.0_GH0.tar.gz) = 7f7ae9b8927659616f181afc12d7ddc26b0a4b0d13982e2586985f4770640b43
-SIZE (MythTV-mythtv-v30.0_GH0.tar.gz) = 101169041
-SHA256 (aab7d3f065a7.patch) = b6ba39d0d29cdbe5feb6173fbde124b68e94826eb919b74702891286040f718d
-SIZE (aab7d3f065a7.patch) = 917
+TIMESTAMP = 1599843409
+SHA256 (MythTV-mythtv-v31.0_GH0.tar.gz) = 907d1747950ec6ef1ec965069c75500b4538b781333f60e16d62d519b221a86d
+SIZE (MythTV-mythtv-v31.0_GH0.tar.gz) = 102552136

Added: head/multimedia/mythtv/files/audio.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv/files/audio.h	Wed Dec 16 02:48:03 2020	(r558199)
@@ -0,0 +1,101 @@
+/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
+/*
+ * audio.h - DEPRECATED MPEG-TS audio decoder API
+ *
+ * NOTE: should not be used on future drivers
+ *
+ * Copyright (C) 2000 Ralph  Metzler <ralph@convergence.de>
+ *                  & Marcus Metzler <marcus@convergence.de>
+ *                    for convergence integrated media GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Lesser Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ *
+ */
+
+#ifndef _DVBAUDIO_H_
+#define _DVBAUDIO_H_
+
+#include <linux/types.h>
+
+typedef enum {
+	AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */
+	AUDIO_SOURCE_MEMORY /* Select internal memory as the main source */
+} audio_stream_source_t;
+
+
+typedef enum {
+	AUDIO_STOPPED,      /* Device is stopped */
+	AUDIO_PLAYING,      /* Device is currently playing */
+	AUDIO_PAUSED        /* Device is paused */
+} audio_play_state_t;
+
+
+typedef enum {
+	AUDIO_STEREO,
+	AUDIO_MONO_LEFT,
+	AUDIO_MONO_RIGHT,
+	AUDIO_MONO,
+	AUDIO_STEREO_SWAPPED
+} audio_channel_select_t;
+
+
+typedef struct audio_mixer {
+	unsigned int volume_left;
+	unsigned int volume_right;
+  /* what else do we need? bass, pass-through, ... */
+} audio_mixer_t;
+
+
+typedef struct audio_status {
+	int                    AV_sync_state;  /* sync audio and video? */
+	int                    mute_state;     /* audio is muted */
+	audio_play_state_t     play_state;     /* current playback state */
+	audio_stream_source_t  stream_source;  /* current stream source */
+	audio_channel_select_t channel_select; /* currently selected channel */
+	int                    bypass_mode;    /* pass on audio data to */
+	audio_mixer_t	       mixer_state;    /* current mixer state */
+} audio_status_t;                              /* separate decoder hardware */
+
+
+/* for GET_CAPABILITIES and SET_FORMAT, the latter should only set one bit */
+#define AUDIO_CAP_DTS    1
+#define AUDIO_CAP_LPCM   2
+#define AUDIO_CAP_MP1    4
+#define AUDIO_CAP_MP2    8
+#define AUDIO_CAP_MP3   16
+#define AUDIO_CAP_AAC   32
+#define AUDIO_CAP_OGG   64
+#define AUDIO_CAP_SDDS 128
+#define AUDIO_CAP_AC3  256
+
+#define AUDIO_STOP                 _IO('o', 1)
+#define AUDIO_PLAY                 _IO('o', 2)
+#define AUDIO_PAUSE                _IO('o', 3)
+#define AUDIO_CONTINUE             _IO('o', 4)
+#define AUDIO_SELECT_SOURCE        _IO('o', 5)
+#define AUDIO_SET_MUTE             _IO('o', 6)
+#define AUDIO_SET_AV_SYNC          _IO('o', 7)
+#define AUDIO_SET_BYPASS_MODE      _IO('o', 8)
+#define AUDIO_CHANNEL_SELECT       _IO('o', 9)
+#define AUDIO_GET_STATUS           _IOR('o', 10, audio_status_t)
+
+#define AUDIO_GET_CAPABILITIES     _IOR('o', 11, unsigned int)
+#define AUDIO_CLEAR_BUFFER         _IO('o',  12)
+#define AUDIO_SET_ID               _IO('o', 13)
+#define AUDIO_SET_MIXER            _IOW('o', 14, audio_mixer_t)
+#define AUDIO_SET_STREAMTYPE       _IO('o', 15)
+#define AUDIO_BILINGUAL_CHANNEL_SELECT _IO('o', 20)
+
+#endif /* _DVBAUDIO_H_ */

Added: head/multimedia/mythtv/files/ca.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv/files/ca.h	Wed Dec 16 02:48:03 2020	(r558199)
@@ -0,0 +1,155 @@
+/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
+/*
+ * ca.h
+ *
+ * Copyright (C) 2000 Ralph  Metzler <ralph@convergence.de>
+ *                  & Marcus Metzler <marcus@convergence.de>
+ *                    for convergence integrated media GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Lesser Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ *
+ */
+
+#ifndef _DVBCA_H_
+#define _DVBCA_H_
+
+/**
+ * struct ca_slot_info - CA slot interface types and info.
+ *
+ * @num:	slot number.
+ * @type:	slot type.
+ * @flags:	flags applicable to the slot.
+ *
+ * This struct stores the CA slot information.
+ *
+ * @type can be:
+ *
+ *	- %CA_CI - CI high level interface;
+ *	- %CA_CI_LINK - CI link layer level interface;
+ *	- %CA_CI_PHYS - CI physical layer level interface;
+ *	- %CA_DESCR - built-in descrambler;
+ *	- %CA_SC -simple smart card interface.
+ *
+ * @flags can be:
+ *
+ *	- %CA_CI_MODULE_PRESENT - module (or card) inserted;
+ *	- %CA_CI_MODULE_READY - module is ready for usage.
+ */
+
+struct ca_slot_info {
+	int num;
+	int type;
+#define CA_CI            1
+#define CA_CI_LINK       2
+#define CA_CI_PHYS       4
+#define CA_DESCR         8
+#define CA_SC          128
+
+	unsigned int flags;
+#define CA_CI_MODULE_PRESENT 1
+#define CA_CI_MODULE_READY   2
+};
+
+
+/**
+ * struct ca_descr_info - descrambler types and info.
+ *
+ * @num:	number of available descramblers (keys).
+ * @type:	type of supported scrambling system.
+ *
+ * Identifies the number of descramblers and their type.
+ *
+ * @type can be:
+ *
+ *	- %CA_ECD - European Common Descrambler (ECD) hardware;
+ *	- %CA_NDS - Videoguard (NDS) hardware;
+ *	- %CA_DSS - Distributed Sample Scrambling (DSS) hardware.
+ */
+struct ca_descr_info {
+	unsigned int num;
+	unsigned int type;
+#define CA_ECD           1
+#define CA_NDS           2
+#define CA_DSS           4
+};
+
+/**
+ * struct ca_caps - CA slot interface capabilities.
+ *
+ * @slot_num:	total number of CA card and module slots.
+ * @slot_type:	bitmap with all supported types as defined at
+ *		&struct ca_slot_info (e. g. %CA_CI, %CA_CI_LINK, etc).
+ * @descr_num:	total number of descrambler slots (keys)
+ * @descr_type:	bitmap with all supported types as defined at
+ *		&struct ca_descr_info (e. g. %CA_ECD, %CA_NDS, etc).
+ */
+struct ca_caps {
+	unsigned int slot_num;
+	unsigned int slot_type;
+	unsigned int descr_num;
+	unsigned int descr_type;
+};
+
+/**
+ * struct ca_msg - a message to/from a CI-CAM
+ *
+ * @index:	unused
+ * @type:	unused
+ * @length:	length of the message
+ * @msg:	message
+ *
+ * This struct carries a message to be send/received from a CI CA module.
+ */
+struct ca_msg {
+	unsigned int index;
+	unsigned int type;
+	unsigned int length;
+	unsigned char msg[256];
+};
+
+/**
+ * struct ca_descr - CA descrambler control words info
+ *
+ * @index: CA Descrambler slot
+ * @parity: control words parity, where 0 means even and 1 means odd
+ * @cw: CA Descrambler control words
+ */
+struct ca_descr {
+	unsigned int index;
+	unsigned int parity;
+	unsigned char cw[8];
+};
+
+#define CA_RESET          _IO('o', 128)
+#define CA_GET_CAP        _IOR('o', 129, struct ca_caps)
+#define CA_GET_SLOT_INFO  _IOR('o', 130, struct ca_slot_info)
+#define CA_GET_DESCR_INFO _IOR('o', 131, struct ca_descr_info)
+#define CA_GET_MSG        _IOR('o', 132, struct ca_msg)
+#define CA_SEND_MSG       _IOW('o', 133, struct ca_msg)
+#define CA_SET_DESCR      _IOW('o', 134, struct ca_descr)
+
+#if !defined(__KERNEL__)
+
+/* This is needed for legacy userspace support */
+typedef struct ca_slot_info ca_slot_info_t;
+typedef struct ca_descr_info  ca_descr_info_t;
+typedef struct ca_caps  ca_caps_t;
+typedef struct ca_msg ca_msg_t;
+typedef struct ca_descr ca_descr_t;
+
+#endif
+
+
+#endif

Added: head/multimedia/mythtv/files/dmx.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv/files/dmx.h	Wed Dec 16 02:48:03 2020	(r558199)
@@ -0,0 +1,330 @@
+/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
+/*
+ * dmx.h
+ *
+ * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de>
+ *                  & Ralph  Metzler <ralph@convergence.de>
+ *                    for convergence integrated media GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ *
+ */
+
+#ifndef _UAPI_DVBDMX_H_
+#define _UAPI_DVBDMX_H_
+
+#include <linux/types.h>
+#ifndef __KERNEL__
+#include <time.h>
+#endif
+
+
+#define DMX_FILTER_SIZE 16
+
+/**
+ * enum dmx_output - Output for the demux.
+ *
+ * @DMX_OUT_DECODER:
+ *	Streaming directly to decoder.
+ * @DMX_OUT_TAP:
+ *	Output going to a memory buffer (to be retrieved via the read command).
+ *	Delivers the stream output to the demux device on which the ioctl
+ *	is called.
+ * @DMX_OUT_TS_TAP:
+ *	Output multiplexed into a new TS (to be retrieved by reading from the
+ *	logical DVR device). Routes output to the logical DVR device
+ *	``/dev/dvb/adapter?/dvr?``, which delivers a TS multiplexed from all
+ *	filters for which @DMX_OUT_TS_TAP was specified.
+ * @DMX_OUT_TSDEMUX_TAP:
+ *	Like @DMX_OUT_TS_TAP but retrieved from the DMX device.
+ */
+enum dmx_output {
+	DMX_OUT_DECODER,
+	DMX_OUT_TAP,
+	DMX_OUT_TS_TAP,
+	DMX_OUT_TSDEMUX_TAP
+};
+
+
+/**
+ * enum dmx_input - Input from the demux.
+ *
+ * @DMX_IN_FRONTEND:	Input from a front-end device.
+ * @DMX_IN_DVR:		Input from the logical DVR device.
+ */
+enum dmx_input {
+	DMX_IN_FRONTEND,
+	DMX_IN_DVR
+};
+
+/**
+ * enum dmx_ts_pes - type of the PES filter.
+ *
+ * @DMX_PES_AUDIO0:	first audio PID. Also referred as @DMX_PES_AUDIO.
+ * @DMX_PES_VIDEO0:	first video PID. Also referred as @DMX_PES_VIDEO.
+ * @DMX_PES_TELETEXT0:	first teletext PID. Also referred as @DMX_PES_TELETEXT.
+ * @DMX_PES_SUBTITLE0:	first subtitle PID. Also referred as @DMX_PES_SUBTITLE.
+ * @DMX_PES_PCR0:	first Program Clock Reference PID.
+ *			Also referred as @DMX_PES_PCR.
+ *
+ * @DMX_PES_AUDIO1:	second audio PID.
+ * @DMX_PES_VIDEO1:	second video PID.
+ * @DMX_PES_TELETEXT1:	second teletext PID.
+ * @DMX_PES_SUBTITLE1:	second subtitle PID.
+ * @DMX_PES_PCR1:	second Program Clock Reference PID.
+ *
+ * @DMX_PES_AUDIO2:	third audio PID.
+ * @DMX_PES_VIDEO2:	third video PID.
+ * @DMX_PES_TELETEXT2:	third teletext PID.
+ * @DMX_PES_SUBTITLE2:	third subtitle PID.
+ * @DMX_PES_PCR2:	third Program Clock Reference PID.
+ *
+ * @DMX_PES_AUDIO3:	fourth audio PID.
+ * @DMX_PES_VIDEO3:	fourth video PID.
+ * @DMX_PES_TELETEXT3:	fourth teletext PID.
+ * @DMX_PES_SUBTITLE3:	fourth subtitle PID.
+ * @DMX_PES_PCR3:	fourth Program Clock Reference PID.
+ *
+ * @DMX_PES_OTHER:	any other PID.
+ */
+
+enum dmx_ts_pes {
+	DMX_PES_AUDIO0,
+	DMX_PES_VIDEO0,
+	DMX_PES_TELETEXT0,
+	DMX_PES_SUBTITLE0,
+	DMX_PES_PCR0,
+
+	DMX_PES_AUDIO1,
+	DMX_PES_VIDEO1,
+	DMX_PES_TELETEXT1,
+	DMX_PES_SUBTITLE1,
+	DMX_PES_PCR1,
+
+	DMX_PES_AUDIO2,
+	DMX_PES_VIDEO2,
+	DMX_PES_TELETEXT2,
+	DMX_PES_SUBTITLE2,
+	DMX_PES_PCR2,
+
+	DMX_PES_AUDIO3,
+	DMX_PES_VIDEO3,
+	DMX_PES_TELETEXT3,
+	DMX_PES_SUBTITLE3,
+	DMX_PES_PCR3,
+
+	DMX_PES_OTHER
+};
+
+#define DMX_PES_AUDIO    DMX_PES_AUDIO0
+#define DMX_PES_VIDEO    DMX_PES_VIDEO0
+#define DMX_PES_TELETEXT DMX_PES_TELETEXT0
+#define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0
+#define DMX_PES_PCR      DMX_PES_PCR0
+
+
+
+/**
+ * struct dmx_filter - Specifies a section header filter.
+ *
+ * @filter: bit array with bits to be matched at the section header.
+ * @mask: bits that are valid at the filter bit array.
+ * @mode: mode of match: if bit is zero, it will match if equal (positive
+ *	  match); if bit is one, it will match if the bit is negated.
+ *
+ * Note: All arrays in this struct have a size of DMX_FILTER_SIZE (16 bytes).
+ */
+struct dmx_filter {
+	__u8  filter[DMX_FILTER_SIZE];
+	__u8  mask[DMX_FILTER_SIZE];
+	__u8  mode[DMX_FILTER_SIZE];
+};
+
+/**
+ * struct dmx_sct_filter_params - Specifies a section filter.
+ *
+ * @pid: PID to be filtered.
+ * @filter: section header filter, as defined by &struct dmx_filter.
+ * @timeout: maximum time to filter, in milliseconds.
+ * @flags: extra flags for the section filter.
+ *
+ * Carries the configuration for a MPEG-TS section filter.
+ *
+ * The @flags can be:
+ *
+ *	- %DMX_CHECK_CRC - only deliver sections where the CRC check succeeded;
+ *	- %DMX_ONESHOT - disable the section filter after one section
+ *	  has been delivered;
+ *	- %DMX_IMMEDIATE_START - Start filter immediately without requiring a
+ *	  :ref:`DMX_START`.
+ */
+struct dmx_sct_filter_params {
+	__u16             pid;
+	struct dmx_filter filter;
+	__u32             timeout;
+	__u32             flags;
+#define DMX_CHECK_CRC       1
+#define DMX_ONESHOT         2
+#define DMX_IMMEDIATE_START 4
+};
+
+/**
+ * struct dmx_pes_filter_params - Specifies Packetized Elementary Stream (PES)
+ *	filter parameters.
+ *
+ * @pid:	PID to be filtered.
+ * @input:	Demux input, as specified by &enum dmx_input.
+ * @output:	Demux output, as specified by &enum dmx_output.
+ * @pes_type:	Type of the pes filter, as specified by &enum dmx_pes_type.
+ * @flags:	Demux PES flags.
+ */
+struct dmx_pes_filter_params {
+	__u16           pid;
+	enum dmx_input  input;
+	enum dmx_output output;
+	enum dmx_ts_pes pes_type;
+	__u32           flags;
+};
+
+/**
+ * struct dmx_stc - Stores System Time Counter (STC) information.
+ *
+ * @num: input data: number of the STC, from 0 to N.
+ * @base: output: divisor for STC to get 90 kHz clock.
+ * @stc: output: stc in @base * 90 kHz units.
+ */
+struct dmx_stc {
+	unsigned int num;
+	unsigned int base;
+	__u64 stc;
+};
+
+/**
+ * enum dmx_buffer_flags - DMX memory-mapped buffer flags
+ *
+ * @DMX_BUFFER_FLAG_HAD_CRC32_DISCARD:
+ *	Indicates that the Kernel discarded one or more frames due to wrong
+ *	CRC32 checksum.
+ * @DMX_BUFFER_FLAG_TEI:
+ *	Indicates that the Kernel has detected a Transport Error indicator

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202012160248.0BG2m4cQ035104>