Index: head/audio/mythplugin-mythmusic/Makefile =================================================================== --- head/audio/mythplugin-mythmusic/Makefile +++ head/audio/mythplugin-mythmusic/Makefile @@ -2,9 +2,8 @@ # $FreeBSD$ PORTNAME= mythmusic -PORTVERSION= 0.27.5 DISTVERSIONPREFIX= v -PORTREVISION= 1 +DISTVERSION= 29.1 CATEGORIES= audio PKGNAMEPREFIX= mythplugin- @@ -14,36 +13,43 @@ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING -LIB_DEPENDS= libcdio.so:sysutils/libcdio \ - libFLAC.so:audio/flac \ +LIB_DEPENDS= libFLAC.so:audio/flac \ + libmp3lame.so:audio/lame \ + libogg.so:audio/libogg \ libvorbis.so:audio/libvorbis \ - libtag.so:audio/taglib \ - libfftw3f.so:math/fftw3-float -BUILD_DEPENDS= mythfrontend:multimedia/mythtv + libmyth-29.so:multimedia/mythtv USE_GITHUB= yes GH_ACCOUNT= MythTV GH_PROJECT= mythtv +USE_LDCONFIG= yes +USE_QT5= buildtools_build core gui qmake_build sql xml -WRKSRC_SUBDIR= mythplugins - -USE_QT4= linguist_build moc_build qmake_build rcc_build uic_build HAS_CONFIGURE= yes -USE_LDCONFIG= ${PREFIX}/lib/mythtv/plugins +CONFIGURE_ARGS= --prefix="${PREFIX}" --disable-all \ + --enable-mythmusic DESTDIRNAME= INSTALL_ROOT - PLIST_SUB= MYTHSHARE="share/mythtv" +WRKSRC_SUBDIR= mythplugins -QMAKESPEC?= ${LOCALBASE}/share/qt4/mkspecs/freebsd-g++ +OPTIONS_DEFINE= CDIO FFTW -CONFIGURE_ARGS= --prefix="${PREFIX}" --disable-all \ - --enable-mythmusic --enable-fftw --enable-opengl +CDIO_LIB_DEPENDS= libcdio.so:sysutils/libcdio \ + libcdio_paranoia.so:sysutils/libcdio-paranoia +CDIO_CONFIGURE_ENABLE= cdio +FFTW_DESC= FFTW3-based visualizations +FFTW_LIB_DEPENDS= libfftw3.so:math/fftw3 +FFTW_CONFIGURE_ENABLE= fftw + post-patch: @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/configure \ ${WRKSRC}/mythmusic/mythmusic/mythmusic.pro @${REINPLACE_CMD} -e 's|/usr/include|${LOCALBASE}/include|g' \ ${WRKSRC}/configure + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mythtv/plugins/libmythmusic.so .include Index: head/audio/mythplugin-mythmusic/distinfo =================================================================== --- head/audio/mythplugin-mythmusic/distinfo +++ head/audio/mythplugin-mythmusic/distinfo @@ -1,2 +1,3 @@ -SHA256 (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 7e625f94332effeadfba8e7ae7c98d44a83bfc25b7c59e39adce67dc2f4e1e1b -SIZE (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 85652939 +TIMESTAMP = 1520813358 +SHA256 (MythTV-mythtv-v29.1_GH0.tar.gz) = 04a84eb0ded2d2b123624ab2b2e1b8cf824ff4bf8216e452b2516deb929082b2 +SIZE (MythTV-mythtv-v29.1_GH0.tar.gz) = 105616234 Index: head/audio/mythplugin-mythmusic/files/patch-configure =================================================================== --- head/audio/mythplugin-mythmusic/files/patch-configure +++ head/audio/mythplugin-mythmusic/files/patch-configure @@ -1,4 +1,4 @@ ---- configure.orig 2015-06-16 16:03:30 UTC +--- configure.orig 2018-02-01 11:15:37 UTC +++ configure @@ -227,6 +227,10 @@ add_cxxflags(){ append ECXXFLAGS "$@" @@ -11,22 +11,27 @@ check_cxx(){ log check_cxx "$@" cat > $TMPCXX -@@ -561,6 +565,10 @@ OPENGLV=$(cat mythconfig.mak | grep -e " - EXTRALIBS=$(cat mythconfig.mak | grep -e "^EXTRALIBS=") - EXTRALIBS=${EXTRALIBS#EXTRALIBS=} +@@ -559,6 +563,10 @@ CXXPPFLAGS=${CXXPPFLAGS#CXXPPFLAGS=} + OPENGLV=$(cat mythconfig.mak | grep -e "^CONFIG_OPENGL_VIDEO=yes") + OPENGLES=$(cat mythconfig.mak | grep -e "^HAVE_GLES2_GL2_H=yes") +add_cppflags "-I${prefix}/include" +add_cxxflags "-I${prefix}/include" +add_ldflags "-L${prefix}/lib" + - if is_qmake4 $qmake || is_qmake4 qmake-qt4; then - if is_qmake4 qmake-qt4; then - qmake=qmake-qt4 -@@ -657,6 +665,7 @@ if enabled music ; then + EXTRALIBS=$(cat mythconfig.mak | grep -e "^EXTRALIBS=") + EXTRALIBS=${EXTRALIBS#EXTRALIBS=} + +@@ -689,8 +697,10 @@ if enabled music ; then echo "MythMusic requires FLAC." fi -+ enable cdio - if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then - disable cdio +- if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then +- disable cdio ++ if enabled cdio; then ++ if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/paranoia/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then ++ disable cdio ++ fi fi + + if ! check_lib lame/lame.h lame_init -lmp3lame ; then Index: head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cddecoder.h =================================================================== --- head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cddecoder.h +++ head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cddecoder.h @@ -0,0 +1,15 @@ +libcdio-paranoia header location changed after moving to separate project circa 2012 + +--- mythmusic/mythmusic/cddecoder.h.orig 2018-02-01 11:15:37 UTC ++++ mythmusic/mythmusic/cddecoder.h +@@ -11,8 +11,8 @@ using std::vector; + #endif + + #ifdef HAVE_CDIO +-# include +-# include ++# include ++# include + #endif + + class MusicMetadata; Index: head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cddecoder.cpp =================================================================== --- head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cddecoder.cpp +++ head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cddecoder.cpp @@ -0,0 +1,13 @@ +libcdio-paranoia header location changed after moving to separate project circa 2012 + +--- mythmusic/mythmusic/cddecoder.cpp.orig 2018-02-01 11:15:37 UTC ++++ mythmusic/mythmusic/cddecoder.cpp +@@ -14,7 +14,7 @@ + #include + + // libcdio +-#include ++#include + #include + + // MythTV Index: head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cdrip.cpp =================================================================== --- head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cdrip.cpp +++ head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cdrip.cpp @@ -0,0 +1,25 @@ +libcdio-paranoia header location changed after moving to separate project circa 2012 +Fix warning: logical not is only applied to the left hand side of comparison + +--- mythmusic/mythmusic/cdrip.cpp.orig 2018-02-01 11:15:37 UTC ++++ mythmusic/mythmusic/cdrip.cpp +@@ -8,8 +8,8 @@ + + #include "config.h" + #ifdef HAVE_CDIO +-# include +-# include ++# include ++# include + #endif //def HAVE_CDIO + + // C++ includes +@@ -219,7 +219,7 @@ void CDRipperThread::run(void) + { + RunProlog(); + +- if (!m_tracks->size() > 0) ++ if (!(m_tracks->size() > 0)) + { + RunEpilog(); + return; Index: head/audio/mythplugin-mythmusic/files/patch-settings.pro =================================================================== --- head/audio/mythplugin-mythmusic/files/patch-settings.pro +++ head/audio/mythplugin-mythmusic/files/patch-settings.pro @@ -0,0 +1,12 @@ +Prevent linking to unneccessary libraries + +--- settings.pro.orig 2018-02-25 02:52:28 UTC ++++ settings.pro +@@ -34,6 +34,7 @@ QMAKE_CXXFLAGS += $$ARCHFLAGS + QMAKE_CXXFLAGS += $$CONFIG_DIRECTFB_CXXFLAGS + QMAKE_CXXFLAGS_SHLIB = -DPIC -fPIC + QMAKE_CXXFLAGS += $$ECXXFLAGS ++QMAKE_LFLAGS += -Wl,--as-needed + + profile:!win32:!macx:CONFIG += debug + Index: head/audio/mythplugin-mythmusic/pkg-plist =================================================================== --- head/audio/mythplugin-mythmusic/pkg-plist +++ head/audio/mythplugin-mythmusic/pkg-plist @@ -25,7 +25,6 @@ %%MYTHSHARE%%/i18n/mythmusic_sv.qm %%MYTHSHARE%%/music_settings.xml %%MYTHSHARE%%/musicmenu.xml -%%MYTHSHARE%%/mythmusic/streams.xml %%MYTHSHARE%%/themes/default-wide/mm-titlelines.png %%MYTHSHARE%%/themes/default-wide/mm_blackhole_border.png %%MYTHSHARE%%/themes/default-wide/mm_volume_background.png Index: head/multimedia/mythtv-frontend/Makefile =================================================================== --- head/multimedia/mythtv-frontend/Makefile +++ head/multimedia/mythtv-frontend/Makefile @@ -1,88 +1,14 @@ # Created by: Bernhard Froehlich # $FreeBSD$ -PORTNAME= mythtv-frontend -DISTVERSIONPREFIX= v -DISTVERSION= 0.27.5 -PORTEPOCH= 1 -CATEGORIES= multimedia +PORTREVISION= 0 +PKGNAMESUFFIX= -${SLAVEPORT} MAINTAINER= ports@FreeBSD.org -COMMENT= MythTV is a homebrew PVR project +COMMENT= MythTV is a homebrew PVR project (frontend only) -LICENSE= GPLv2 -LICENSE_FILE= ${WRKSRC}/COPYING +MASTERDIR= ${.CURDIR}/../../multimedia/mythtv +SLAVEPORT= frontend +PLIST= ${.CURDIR}/pkg-plist -BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ - yasm:devel/yasm -LIB_DEPENDS= libmp3lame.so:audio/lame \ - libfreetype.so:print/freetype2 \ - libtag.so:audio/taglib \ - libxml2.so:textproc/libxml2 - -CONFLICTS= mythtv-[0-9]* - -USE_GITHUB= yes -GH_ACCOUNT= MythTV -GH_PROJECT= mythtv - -WRKSRC_SUBDIR= ${GH_PROJECT} - -ONLY_FOR_ARCHS= i386 amd64 -NOPRECIOUSMAKEVARS= # don't override $(ARCH) in ffmpeg makefiles -USES= gmake libtool pkgconfig -USE_QT4= gui sql network script linguist_build l10n sql-mysql_run \ - moc_build qmake_build rcc_build uic_build -QT_NONSTANDARD= yes -HAS_CONFIGURE= yes -USE_LDCONFIG= ${PREFIX}/lib/mythtv/filters -REINPLACE_ARGS= -i "" -DESTDIRNAME= INSTALL_ROOT - -DATADIR= ${PREFIX}/share/mythtv - -MAKE_ENV= QTDIR="${PREFIX}" \ - QMAKESPEC="${QMAKESPEC}" - -CPPFLAGS+= ${QTCPPFLAGS} -CONFIGURE_ENV+= QMAKESPEC="${QMAKESPEC}" MOC="${MOC}" \ - QTDIR="${PREFIX}" \ - PKG_CONFIG_PATH="${LOCALBASE}/libdata/pkgconfig" -LDFLAGS+= -L${LOCALBASE}/lib - -CONFIGURE_ARGS= --prefix="${PREFIX}" --cc="${CC}" --cxx="${CXX}" --libxml2-path="${LOCALBASE}/include/libxml2" \ - --disable-audio-alsa --disable-indev=alsa --disable-outdev=alsa --disable-mythlogserver \ - --disable-firewire --disable-hdhomerun --disable-v4l2 --disable-ivtv --disable-hdpvr \ - --disable-dvb --enable-opengl-video --without-bindings=perl,python,php - -QMAKESPEC?= ${LOCALBASE}/share/qt4/mkspecs/freebsd-g++ - -DESKTOP_ENTRIES="MythTV Frontend" "MythTV is a homebrew PVR project" "" \ - "mythfrontend" "AudioVideo;Video;" false - -OPTIONS_DEFINE= OPENGL JACK PULSEAUDIO VDPAU -OPTIONS_DEFAULT= OPENGL - -JACK_LIB_DEPENDS= libjack.so:audio/jack -JACK_CONFIGURE_ENABLE= audio-jack - -PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio -PULSEAUDIO_CONFIGURE_ENABLE= audio-pulseoutput - -VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau -VDPAU_CONFIGURE_ENABLE= vdpau - -OPENGL_CONFIGURE_ENABLE= opengl-video -OPENGL_USE= QT4=opengl - -post-patch: - @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ - ${WRKSRC}/configure \ - ${WRKSRC}/libs/libmythtv/libmythtv.pro \ - ${WRKSRC}/bindings/perl/MythTV/Recording.pm \ - ${WRKSRC}/programs/mythtranscode/replex/Makefile.standalone \ - ${WRKSRC}/programs/scripts/database/mythconverg_backup.pl \ - ${WRKSRC}/programs/scripts/database/mythconverg_restore.pl \ - ${WRKSRC}/programs/mythcommflag/mythcommflag-analyze - -.include +.include "${MASTERDIR}/Makefile" Index: head/multimedia/mythtv-frontend/distinfo =================================================================== --- head/multimedia/mythtv-frontend/distinfo +++ head/multimedia/mythtv-frontend/distinfo @@ -1,3 +0,0 @@ -TIMESTAMP = 1513802652 -SHA256 (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 7e625f94332effeadfba8e7ae7c98d44a83bfc25b7c59e39adce67dc2f4e1e1b -SIZE (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 85652939 Index: head/multimedia/mythtv-frontend/files/patch-configure =================================================================== --- head/multimedia/mythtv-frontend/files/patch-configure +++ head/multimedia/mythtv-frontend/files/patch-configure @@ -1,78 +0,0 @@ ---- configure.orig 2013-09-18 20:06:08.000000000 +0000 -+++ configure 2013-10-18 11:11:10.000000000 +0000 -@@ -846,28 +846,28 @@ - log check_cc "$@" - cat > $TMPC - log_file $TMPC -- check_cmd $cc $CPPFLAGS $CFLAGS "$@" $CC_C $(cc_o $TMPO) $TMPC -+ check_cmd $cc $CPPFLAGS $CFLAGS -I${prefix}/include "$@" $CC_C $(cc_o $TMPO) $TMPC - } - - check_cxx(){ - log check_cxx "$@" - cat > $TMPCPP - log_file $TMPCPP -- check_cmd $cxx $CPPFLAGS $CXXFLAGS "$@" $CXX_C -o $TMPO $TMPCPP -+ check_cmd $cxx $CPPFLAGS $CXXFLAGS -I${prefix}/include "$@" $CXX_C -o $TMPO $TMPCPP - } - - check_ecxx(){ - log check_cxx "$@" - cat > $TMPCPP - log_file $TMPCPP -- check_cmd $cxx $CPPFLAGS $CXXFLAGS $ECXXFLAGS "$@" $CXX_C -o $TMPO $TMPCPP -+ check_cmd $cxx $CPPFLAGS $CXXFLAGS $ECXXFLAGS -I${prefix}/include "$@" $CXX_C -o $TMPO $TMPCPP - } - - check_cpp(){ - log check_cpp "$@" - cat > $TMPC - log_file $TMPC -- check_cmd $cc $CPPFLAGS $CFLAGS "$@" $(cc_e $TMPO) $TMPC -+ check_cmd $cc $CPPFLAGS $CFLAGS -I${prefix}/include "$@" $(cc_e $TMPO) $TMPC - } - - as_o(){ -@@ -2539,7 +2539,7 @@ - - # machine - arch_default=$(uname -m) --cpu="generic" -+cpu="i686" - processor=`uname -p 2>/dev/null` - processor_flags="" - tune="generic" -@@ -3931,7 +3931,7 @@ - i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*) - cpuflags="-march=$cpu" - enable cmov -- enable fast_cmov -+ disable fast_cmov - ;; - # targets that do support conditional mov but on which it's slow - pentium4|pentium4m|prescott|nocona) -@@ -4102,7 +4102,6 @@ - append CCONFIG "freebsd" - # Workaround compile errors from missing u_int/uint def - CPPFLAGS=`echo $CPPFLAGS | sed 's/-D_POSIX_C_SOURCE=200112//'` -- disable ivtv - enable backend - ;; - bsd/os) -@@ -6383,6 +6382,7 @@ - QMAKE_LIBDIR_QT-=${sysroot}${libdir} - QMAKE_LIBDIR-=${sysroot}${libdir} - LATE_LIBS+=-L${sysroot}${libdir} -+FREETYPE_CFLAGS-= -I/usr/local/include - EOF - - #echo "endif # FFMPEG_CONFIG_MAK" >> $TMPMAK -@@ -6435,7 +6435,7 @@ - BINDIR=\$(INSTALL_ROOT)$bindir - DATADIR=\$(INSTALL_ROOT)$datadir - MANDIR=\$(INSTALL_ROOT)$mandir --CFLAGS=${CFLAGS} -w -+CFLAGS=${CFLAGS} -I/usr/local/include -w - endif # FFMPEG_CONFIG_MAK - EOF - Index: head/multimedia/mythtv-frontend/files/patch-external__FFmpeg__configure =================================================================== --- head/multimedia/mythtv-frontend/files/patch-external__FFmpeg__configure +++ head/multimedia/mythtv-frontend/files/patch-external__FFmpeg__configure @@ -1,22 +0,0 @@ ---- external/FFmpeg/configure.orig 2010-08-23 18:54:20.000000000 +0200 -+++ external/FFmpeg/configure 2010-11-01 21:13:19.000000000 +0100 -@@ -1528,8 +1528,8 @@ - nm_opts='-g' - - # machine --arch_default=$(uname -m) --cpu="generic" -+arch_default=$(uname -p) -+cpu="i686" - - # OS - target_os_default=$(tolower $(uname -s)) -@@ -2108,7 +2108,7 @@ - i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64|k8|opteron|athlon-fx|core2|amdfam10|barcelona) - cpuflags="-march=$cpu" - enable cmov -- enable fast_cmov -+ disable fast_cmov - ;; - # targets that do support conditional mov but on which it's slow - pentium4|pentium4m|prescott|nocona) Index: head/multimedia/mythtv-frontend/files/patch-external__FFmpeg__libavcodec__x86__ac3dsp_init.c =================================================================== --- head/multimedia/mythtv-frontend/files/patch-external__FFmpeg__libavcodec__x86__ac3dsp_init.c +++ head/multimedia/mythtv-frontend/files/patch-external__FFmpeg__libavcodec__x86__ac3dsp_init.c @@ -1,11 +0,0 @@ ---- external/FFmpeg/libavcodec/x86/ac3dsp_init.c.orig 2013-09-18 20:06:08.000000000 +0000 -+++ external/FFmpeg/libavcodec/x86/ac3dsp_init.c 2013-10-18 11:58:01.000000000 +0000 -@@ -51,7 +51,7 @@ - extern void ff_ac3_extract_exponents_sse2 (uint8_t *exp, int32_t *coef, int nb_coefs); - extern void ff_ac3_extract_exponents_ssse3(uint8_t *exp, int32_t *coef, int nb_coefs); - --#if ARCH_X86_32 && defined(__INTEL_COMPILER) -+#if ARCH_X86_32 && (defined(__INTEL_COMPILER) || defined(__clang__)) - # undef HAVE_7REGS - # define HAVE_7REGS 0 - #endif Index: head/multimedia/mythtv-frontend/files/patch-external__zeromq__src__Makefile.am =================================================================== --- head/multimedia/mythtv-frontend/files/patch-external__zeromq__src__Makefile.am +++ head/multimedia/mythtv-frontend/files/patch-external__zeromq__src__Makefile.am @@ -1,10 +0,0 @@ ---- external/zeromq/src/Makefile.am.orig 2015-11-16 14:31:23.735432710 +0000 -+++ external/zeromq/src/Makefile.am 2015-11-16 14:28:48.465433398 +0000 -@@ -1,6 +1,6 @@ - lib_LTLIBRARIES = libmythzmq.la - --pkgconfigdir = $(libdir)/pkgconfig -+pkgconfigdir = $(PKG_CONFIG_PATH) - pkgconfig_DATA = libmythzmq.pc - - include_HEADERS = ../include/zmq.h ../include/zmq.hpp ../include/zmq_utils.h Index: head/multimedia/mythtv-frontend/files/patch-libs__libmyth__remoteutil.h =================================================================== --- head/multimedia/mythtv-frontend/files/patch-libs__libmyth__remoteutil.h +++ head/multimedia/mythtv-frontend/files/patch-libs__libmyth__remoteutil.h @@ -1,11 +0,0 @@ ---- libs/libmyth/remoteutil.h.orig 2013-09-18 16:06:08.000000000 -0400 -+++ libs/libmyth/remoteutil.h 2014-01-22 08:26:34.000000000 -0500 -@@ -8,6 +8,7 @@ - using namespace std; - - #include "mythexp.h" -+#include - - class ProgramInfo; - class MythEvent; - Index: head/multimedia/mythtv-frontend/files/patch-libs__libmythdvdnav__dvdnav__dvdnav.c =================================================================== --- head/multimedia/mythtv-frontend/files/patch-libs__libmythdvdnav__dvdnav__dvdnav.c +++ head/multimedia/mythtv-frontend/files/patch-libs__libmythdvdnav__dvdnav__dvdnav.c @@ -1,11 +0,0 @@ ---- libs/libmythdvdnav/dvdnav/dvdnav.c.orig 2012-03-18 12:13:45.805789048 +0100 -+++ libs/libmythdvdnav/dvdnav/dvdnav.c 2012-03-18 12:12:47.166812027 +0100 -@@ -33,7 +33,7 @@ - #include - #include - #include --#include "dvdnav/dvdnav.h" -+#include "dvdnav.h" - #include - #include - #include /* For vm_cmd_t */ Index: head/multimedia/mythtv-frontend/files/patch-libs__libmythtv__recorders__dvbstreamhandler.cpp =================================================================== --- head/multimedia/mythtv-frontend/files/patch-libs__libmythtv__recorders__dvbstreamhandler.cpp +++ head/multimedia/mythtv-frontend/files/patch-libs__libmythtv__recorders__dvbstreamhandler.cpp @@ -1,29 +0,0 @@ ---- libs/libmythtv/recorders/dvbstreamhandler.cpp.orig 2012-03-05 03:31:31.000000000 +0100 -+++ libs/libmythtv/recorders/dvbstreamhandler.cpp 2012-03-18 11:24:44.309770699 +0100 -@@ -614,7 +614,7 @@ - { - struct dmx_pes_filter_params pesFilterParams; - memset(&pesFilterParams, 0, sizeof(struct dmx_pes_filter_params)); -- pesFilterParams.pid = (__u16) _pid; -+ pesFilterParams.pid = (uint16_t) _pid; - pesFilterParams.input = DMX_IN_FRONTEND; - pesFilterParams.output = DMX_OUT_TS_TAP; - pesFilterParams.flags = DMX_IMMEDIATE_START; -@@ -634,7 +634,7 @@ - { - struct dmx_sct_filter_params sctFilterParams; - memset(&sctFilterParams, 0, sizeof(struct dmx_sct_filter_params)); -- switch ( (__u16) _pid ) -+ switch ( (uint16_t) _pid ) - { - case 0x0: // PAT - sctFilterParams.filter.filter[0] = 0; -@@ -670,7 +670,7 @@ - sctFilterParams.filter.mask[0] = 0x00; - break; - } -- sctFilterParams.pid = (__u16) _pid; -+ sctFilterParams.pid = (uint16_t) _pid; - sctFilterParams.timeout = 0; - sctFilterParams.flags = DMX_IMMEDIATE_START; - Index: head/multimedia/mythtv-frontend/files/patch-libs__libmythtv__videoout_vdpau.cpp =================================================================== --- head/multimedia/mythtv-frontend/files/patch-libs__libmythtv__videoout_vdpau.cpp +++ head/multimedia/mythtv-frontend/files/patch-libs__libmythtv__videoout_vdpau.cpp @@ -1,11 +0,0 @@ ---- libs/libmythtv/videoout_vdpau.cpp.orig 2010-02-27 06:58:11.000000000 +0100 -+++ libs/libmythtv/videoout_vdpau.cpp 2010-04-06 17:40:50.000000000 +0200 -@@ -395,7 +395,7 @@ - if (frame) - { - // FIXME for 0.23. This should be triggered from AFD by a seek -- if ((abs(frame->frameNumber - framesPlayed) > 8)) -+ if ((labs(frame->frameNumber - framesPlayed) > 8)) - ClearReferenceFrames(); - new_frame = (framesPlayed != frame->frameNumber + 1); - framesPlayed = frame->frameNumber + 1; Index: head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythgesture.cpp =================================================================== --- head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythgesture.cpp +++ head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythgesture.cpp @@ -1,19 +0,0 @@ ---- libs/libmythui/mythgesture.cpp.orig 2013-09-18 16:06:08.000000000 -0400 -+++ libs/libmythui/mythgesture.cpp 2014-01-22 08:20:33.000000000 -0500 -@@ -28,6 +28,7 @@ - - #include "mythgesture.h" - -+#include - #include - #include - -@@ -283,7 +284,7 @@ - int dely = p.y() - points.back().y(); - - /* step by the greatest delta direction */ -- if (abs(delx) > abs(dely)) -+ if (std::abs(delx) > std::abs(dely)) - { - float iy = points.back().y(); - Index: head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythpainter.cpp =================================================================== --- head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythpainter.cpp +++ head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythpainter.cpp @@ -1,9 +0,0 @@ ---- libs/libmythui/mythpainter.cpp.orig 2013-09-18 16:06:08.000000000 -0400 -+++ libs/libmythui/mythpainter.cpp 2014-01-22 08:18:40.000000000 -0500 -@@ -1,5 +1,6 @@ - #include - #include -+#include - - // QT headers - #include Index: head/multimedia/mythtv-frontend/files/patch-libs__libmythupnp__mmulticastsocketdevice.h =================================================================== --- head/multimedia/mythtv-frontend/files/patch-libs__libmythupnp__mmulticastsocketdevice.h +++ head/multimedia/mythtv-frontend/files/patch-libs__libmythupnp__mmulticastsocketdevice.h @@ -1,11 +0,0 @@ ---- libs/libmythupnp/mmulticastsocketdevice.h.orig 2013-09-18 16:06:08.000000000 -0400 -+++ libs/libmythupnp/mmulticastsocketdevice.h 2014-01-22 08:24:26.000000000 -0500 -@@ -18,6 +18,7 @@ - # include - # endif - #else -+# include - # include - # include - # include - Index: head/multimedia/mythtv-frontend/files/patch-programs__programs.pro =================================================================== --- head/multimedia/mythtv-frontend/files/patch-programs__programs.pro +++ head/multimedia/mythtv-frontend/files/patch-programs__programs.pro @@ -1,12 +0,0 @@ ---- programs/programs.pro.orig 2012-03-19 06:39:10.000000000 +0100 -+++ programs/programs.pro 2012-03-21 23:55:00.883069453 +0100 -@@ -11,9 +11,4 @@ - !mingw: SUBDIRS += mythtranscode/replex - } - --using_backend { -- SUBDIRS += mythbackend mythfilldatabase mythtv-setup scripts -- SUBDIRS += mythmetadatalookup --} -- - using_mythtranscode: SUBDIRS += mythtranscode Index: head/multimedia/mythtv-frontend/pkg-descr =================================================================== --- head/multimedia/mythtv-frontend/pkg-descr +++ head/multimedia/mythtv-frontend/pkg-descr @@ -1,6 +0,0 @@ -MythTV is a "Personal Video Recorder", i.e. a computer-based video -recorder. It supports pausing and rewinding live TV, multiple tuner -cards, hardware or software video compression, onscreen program guides -and a distributed architecture. - -WWW: http://www.mythtv.org/ Index: head/multimedia/mythtv-frontend/pkg-plist =================================================================== --- head/multimedia/mythtv-frontend/pkg-plist +++ head/multimedia/mythtv-frontend/pkg-plist @@ -15,21 +15,14 @@ bin/mythtranscode bin/mythutil bin/mythwelcome -include/mythtv/QJson/Parser -include/mythtv/QJson/QObjectHelper -include/mythtv/QJson/Serializer -include/mythtv/QJson/parser.h -include/mythtv/QJson/parserrunnable.h -include/mythtv/QJson/qjson_export.h -include/mythtv/QJson/qobjecthelper.h -include/mythtv/QJson/serializer.h -include/mythtv/QJson/serializerrunnable.h include/mythtv/audioconvert.h include/mythtv/audiooutput.h include/mythtv/audiooutputsettings.h include/mythtv/audiooutpututil.h include/mythtv/audiosettings.h include/mythtv/autodeletedeque.h +include/mythtv/blockinput.h +include/mythtv/bluray/array.h include/mythtv/bluray/attributes.h include/mythtv/bluray/bdid_parse.h include/mythtv/bluray/bdparse.h @@ -37,10 +30,11 @@ include/mythtv/bluray/bluray.h include/mythtv/bluray/clpi_data.h include/mythtv/bluray/clpi_parse.h +include/mythtv/bluray/dirs.h include/mythtv/bluray/dl.h +include/mythtv/bluray/event_queue.h include/mythtv/bluray/extdata_parse.h include/mythtv/bluray/file.h -include/mythtv/bluray/file_mythiowrapper.h include/mythtv/bluray/filesystem.h include/mythtv/bluray/hdmv_insn.h include/mythtv/bluray/hdmv_vm.h @@ -50,12 +44,17 @@ include/mythtv/bluray/macro.h include/mythtv/bluray/meta_data.h include/mythtv/bluray/meta_parse.h +include/mythtv/bluray/mobj_data.h include/mythtv/bluray/mobj_parse.h +include/mythtv/bluray/mobj_print.h +include/mythtv/bluray/mount.h include/mythtv/bluray/mpls_parse.h include/mythtv/bluray/mutex.h include/mythtv/bluray/navigation.h +include/mythtv/bluray/refcnt.h include/mythtv/bluray/sound_parse.h include/mythtv/bluray/strutl.h +include/mythtv/bluray/time.h include/mythtv/bluray/uo_mask_table.h include/mythtv/bonjourregister.h include/mythtv/bswap.h @@ -80,18 +79,24 @@ include/mythtv/langsettings.h include/mythtv/lcddevice.h include/mythtv/libavcodec/avcodec.h +include/mythtv/libavcodec/avdct.h include/mythtv/libavcodec/avfft.h +include/mythtv/libavcodec/d3d11va.h +include/mythtv/libavcodec/dirac.h +include/mythtv/libavcodec/dv_profile.h include/mythtv/libavcodec/dxva2.h -include/mythtv/libavcodec/old_codec_ids.h +include/mythtv/libavcodec/jni.h +include/mythtv/libavcodec/mediacodec.h +include/mythtv/libavcodec/qsv.h include/mythtv/libavcodec/vaapi.h include/mythtv/libavcodec/vda.h include/mythtv/libavcodec/vdpau.h include/mythtv/libavcodec/version.h +include/mythtv/libavcodec/videotoolbox.h +include/mythtv/libavcodec/vorbis_parser.h include/mythtv/libavcodec/xvmc.h include/mythtv/libavdevice/avdevice.h include/mythtv/libavdevice/version.h -include/mythtv/libavfilter/asrc_abuffer.h -include/mythtv/libavfilter/avcodec.h include/mythtv/libavfilter/avfilter.h include/mythtv/libavfilter/avfiltergraph.h include/mythtv/libavfilter/buffersink.h @@ -102,9 +107,9 @@ include/mythtv/libavformat/version.h include/mythtv/libavutil/adler32.h include/mythtv/libavutil/aes.h +include/mythtv/libavutil/aes_ctr.h include/mythtv/libavutil/attributes.h include/mythtv/libavutil/audio_fifo.h -include/mythtv/libavutil/audioconvert.h include/mythtv/libavutil/avassert.h include/mythtv/libavutil/avconfig.h include/mythtv/libavutil/avstring.h @@ -113,38 +118,65 @@ include/mythtv/libavutil/blowfish.h include/mythtv/libavutil/bprint.h include/mythtv/libavutil/bswap.h +include/mythtv/libavutil/buffer.h +include/mythtv/libavutil/camellia.h +include/mythtv/libavutil/cast5.h include/mythtv/libavutil/channel_layout.h include/mythtv/libavutil/common.h include/mythtv/libavutil/cpu.h include/mythtv/libavutil/crc.h +include/mythtv/libavutil/des.h include/mythtv/libavutil/dict.h +include/mythtv/libavutil/display.h +include/mythtv/libavutil/downmix_info.h include/mythtv/libavutil/error.h include/mythtv/libavutil/eval.h +include/mythtv/libavutil/ffversion.h include/mythtv/libavutil/fifo.h include/mythtv/libavutil/file.h +include/mythtv/libavutil/frame.h +include/mythtv/libavutil/hash.h include/mythtv/libavutil/hmac.h +include/mythtv/libavutil/hwcontext.h +include/mythtv/libavutil/hwcontext_cuda.h +include/mythtv/libavutil/hwcontext_dxva2.h +include/mythtv/libavutil/hwcontext_qsv.h +include/mythtv/libavutil/hwcontext_vaapi.h +include/mythtv/libavutil/hwcontext_vdpau.h include/mythtv/libavutil/imgutils.h include/mythtv/libavutil/intfloat.h -include/mythtv/libavutil/intfloat_readwrite.h include/mythtv/libavutil/intreadwrite.h include/mythtv/libavutil/lfg.h include/mythtv/libavutil/log.h include/mythtv/libavutil/lzo.h +include/mythtv/libavutil/macros.h +include/mythtv/libavutil/mastering_display_metadata.h include/mythtv/libavutil/mathematics.h include/mythtv/libavutil/md5.h include/mythtv/libavutil/mem.h -include/mythtv/libavutil/old_pix_fmts.h +include/mythtv/libavutil/motion_vector.h +include/mythtv/libavutil/murmur3.h include/mythtv/libavutil/opt.h include/mythtv/libavutil/parseutils.h include/mythtv/libavutil/pixdesc.h +include/mythtv/libavutil/pixelutils.h include/mythtv/libavutil/pixfmt.h include/mythtv/libavutil/random_seed.h include/mythtv/libavutil/rational.h +include/mythtv/libavutil/rc4.h +include/mythtv/libavutil/replaygain.h +include/mythtv/libavutil/ripemd.h include/mythtv/libavutil/samplefmt.h include/mythtv/libavutil/sha.h +include/mythtv/libavutil/sha512.h +include/mythtv/libavutil/stereo3d.h +include/mythtv/libavutil/tea.h +include/mythtv/libavutil/threadmessage.h include/mythtv/libavutil/time.h include/mythtv/libavutil/timecode.h include/mythtv/libavutil/timestamp.h +include/mythtv/libavutil/tree.h +include/mythtv/libavutil/twofish.h include/mythtv/libavutil/version.h include/mythtv/libavutil/xtea.h include/mythtv/libmyth/audioconvert.h @@ -167,22 +199,18 @@ include/mythtv/libmyth/mythwizard.h include/mythtv/libmyth/netgrabbermanager.h include/mythtv/libmyth/netutils.h -include/mythtv/libmyth/oldsettings.h include/mythtv/libmyth/output.h include/mythtv/libmyth/programinfo.h include/mythtv/libmyth/programtypes.h include/mythtv/libmyth/recordingtypes.h -include/mythtv/libmyth/remotefile.h include/mythtv/libmyth/remoteutil.h include/mythtv/libmyth/rssparse.h include/mythtv/libmyth/schemawizard.h include/mythtv/libmyth/settings.h +include/mythtv/libmyth/standardsettings.h include/mythtv/libmyth/storagegroupeditor.h -include/mythtv/libmyth/uitypes.h -include/mythtv/libmyth/virtualkeyboard_qt.h include/mythtv/libmyth/visual.h include/mythtv/libmyth/volumebase.h -include/mythtv/libmyth/xmlparse.h include/mythtv/libmythbase/autodeletedeque.h include/mythtv/libmythbase/bonjourregister.h include/mythtv/libmythbase/bswap.h @@ -196,7 +224,6 @@ include/mythtv/libmythbase/iso639.h include/mythtv/libmythbase/lcddevice.h include/mythtv/libmythbase/loggingserver.h -include/mythtv/libmythbase/mcodecs.h include/mythtv/libmythbase/mthread.h include/mythtv/libmythbase/mthreadpool.h include/mythtv/libmythbase/mythbaseexp.h @@ -222,6 +249,7 @@ include/mythtv/libmythbase/mythplugin.h include/mythtv/libmythbase/mythpluginapi.h include/mythtv/libmythbase/mythqtcompat.h +include/mythtv/libmythbase/mythsession.h include/mythtv/libmythbase/mythsingledownload.h include/mythtv/libmythbase/mythsocket.h include/mythtv/libmythbase/mythsocket_cb.h @@ -245,23 +273,44 @@ include/mythtv/libmythservicecontracts/datacontracthelper.h include/mythtv/libmythservicecontracts/datacontracts/artworkInfo.h include/mythtv/libmythservicecontracts/datacontracts/artworkInfoList.h +include/mythtv/libmythservicecontracts/datacontracts/backendInfo.h include/mythtv/libmythservicecontracts/datacontracts/blurayInfo.h +include/mythtv/libmythservicecontracts/datacontracts/buildInfo.h include/mythtv/libmythservicecontracts/datacontracts/captureCard.h include/mythtv/libmythservicecontracts/datacontracts/captureCardList.h +include/mythtv/libmythservicecontracts/datacontracts/castMember.h +include/mythtv/libmythservicecontracts/datacontracts/castMemberList.h +include/mythtv/libmythservicecontracts/datacontracts/channelGroup.h +include/mythtv/libmythservicecontracts/datacontracts/channelGroupList.h include/mythtv/libmythservicecontracts/datacontracts/channelInfoList.h include/mythtv/libmythservicecontracts/datacontracts/connectionInfo.h +include/mythtv/libmythservicecontracts/datacontracts/cutList.h +include/mythtv/libmythservicecontracts/datacontracts/cutting.h include/mythtv/libmythservicecontracts/datacontracts/databaseInfo.h +include/mythtv/libmythservicecontracts/datacontracts/enum.h +include/mythtv/libmythservicecontracts/datacontracts/enumItem.h +include/mythtv/libmythservicecontracts/datacontracts/envInfo.h include/mythtv/libmythservicecontracts/datacontracts/frontendActionList.h include/mythtv/libmythservicecontracts/datacontracts/frontendStatus.h +include/mythtv/libmythservicecontracts/datacontracts/imageMetadataInfo.h +include/mythtv/libmythservicecontracts/datacontracts/imageMetadataInfoList.h +include/mythtv/libmythservicecontracts/datacontracts/imageSyncInfo.h +include/mythtv/libmythservicecontracts/datacontracts/input.h +include/mythtv/libmythservicecontracts/datacontracts/inputList.h include/mythtv/libmythservicecontracts/datacontracts/labelValue.h include/mythtv/libmythservicecontracts/datacontracts/lineup.h include/mythtv/libmythservicecontracts/datacontracts/liveStreamInfo.h include/mythtv/libmythservicecontracts/datacontracts/liveStreamInfoList.h +include/mythtv/libmythservicecontracts/datacontracts/logInfo.h include/mythtv/libmythservicecontracts/datacontracts/logMessage.h include/mythtv/libmythservicecontracts/datacontracts/logMessageList.h +include/mythtv/libmythservicecontracts/datacontracts/musicMetadataInfo.h +include/mythtv/libmythservicecontracts/datacontracts/musicMetadataInfoList.h include/mythtv/libmythservicecontracts/datacontracts/programAndChannel.h include/mythtv/libmythservicecontracts/datacontracts/programGuide.h include/mythtv/libmythservicecontracts/datacontracts/recRule.h +include/mythtv/libmythservicecontracts/datacontracts/recRuleFilter.h +include/mythtv/libmythservicecontracts/datacontracts/recRuleFilterList.h include/mythtv/libmythservicecontracts/datacontracts/recRuleList.h include/mythtv/libmythservicecontracts/datacontracts/recording.h include/mythtv/libmythservicecontracts/datacontracts/settingList.h @@ -278,6 +327,7 @@ include/mythtv/libmythservicecontracts/datacontracts/videoSource.h include/mythtv/libmythservicecontracts/datacontracts/videoSourceList.h include/mythtv/libmythservicecontracts/datacontracts/wolInfo.h +include/mythtv/libmythservicecontracts/enums/recStatus.h include/mythtv/libmythservicecontracts/service.h include/mythtv/libmythservicecontracts/serviceexp.h include/mythtv/libmythservicecontracts/services/captureServices.h @@ -286,7 +336,10 @@ include/mythtv/libmythservicecontracts/services/dvrServices.h include/mythtv/libmythservicecontracts/services/frontendServices.h include/mythtv/libmythservicecontracts/services/guideServices.h +include/mythtv/libmythservicecontracts/services/imageServices.h +include/mythtv/libmythservicecontracts/services/musicServices.h include/mythtv/libmythservicecontracts/services/mythServices.h +include/mythtv/libmythservicecontracts/services/rttiServices.h include/mythtv/libmythservicecontracts/services/videoServices.h include/mythtv/libmythui/mythdialogbox.h include/mythtv/libmythui/mythfontproperties.h @@ -344,18 +397,20 @@ include/mythtv/libswscale/swscale.h include/mythtv/libswscale/version.h include/mythtv/loggingserver.h -include/mythtv/mcodecs.h include/mythtv/metadata/bluraymetadata.h include/mythtv/metadata/cleanup.h include/mythtv/metadata/dbaccess.h include/mythtv/metadata/dirscan.h include/mythtv/metadata/globals.h +include/mythtv/metadata/imagemanager.h +include/mythtv/metadata/imagemetadata.h +include/mythtv/metadata/imagetypes.h +include/mythtv/metadata/lyricsdata.h include/mythtv/metadata/metadatacommon.h include/mythtv/metadata/metadatadownload.h include/mythtv/metadata/metadatafactory.h include/mythtv/metadata/metadatagrabber.h include/mythtv/metadata/metadataimagedownload.h -include/mythtv/metadata/metadataimagehelper.h include/mythtv/metadata/metaio.h include/mythtv/metadata/metaioavfcomment.h include/mythtv/metadata/metaioflacvorbis.h @@ -364,6 +419,7 @@ include/mythtv/metadata/metaiooggvorbis.h include/mythtv/metadata/metaiotaglib.h include/mythtv/metadata/metaiowavpack.h +include/mythtv/metadata/musicfilescanner.h include/mythtv/metadata/musicmetadata.h include/mythtv/metadata/musicutils.h include/mythtv/metadata/mythmetaexp.h @@ -376,9 +432,11 @@ include/mythtv/metadata/videoscan.h include/mythtv/metadata/videoutils.h include/mythtv/metadataimagehelper.h +include/mythtv/minilzo.h include/mythtv/mpeg2dec/mpeg2.h include/mythtv/mthread.h include/mythtv/mthreadpool.h +include/mythtv/mythavutil.h include/mythtv/mythbaseexp.h include/mythtv/mythcdrom.h include/mythtv/mythcommandlineparser.h @@ -399,6 +457,7 @@ include/mythtv/mythdownloadmanager.h include/mythtv/mythevent.h include/mythtv/mythexp.h +include/mythtv/mythframe.h include/mythtv/mythlocale.h include/mythtv/mythlogging.h include/mythtv/mythmedia.h @@ -409,6 +468,7 @@ include/mythtv/mythpluginapi.h include/mythtv/mythqtcompat.h include/mythtv/mythrssmanager.h +include/mythtv/mythsession.h include/mythtv/mythsingledownload.h include/mythtv/mythsocket.h include/mythtv/mythsocket_cb.h @@ -425,7 +485,6 @@ include/mythtv/mythwizard.h include/mythtv/netgrabbermanager.h include/mythtv/netutils.h -include/mythtv/oldsettings.h include/mythtv/output.h include/mythtv/playgroup.h include/mythtv/plist.h @@ -442,10 +501,11 @@ include/mythtv/serverpool.h include/mythtv/settings.h include/mythtv/signalhandling.h +include/mythtv/standardsettings.h include/mythtv/storagegroup.h include/mythtv/storagegroupeditor.h include/mythtv/threadedfilewriter.h -include/mythtv/uitypes.h +include/mythtv/udfread.h include/mythtv/upnp/bufferedsocketdevice.h include/mythtv/upnp/configuration.h include/mythtv/upnp/eventing.h @@ -468,6 +528,7 @@ include/mythtv/upnp/upnpcdsobjects.h include/mythtv/upnp/upnpcmgr.h include/mythtv/upnp/upnpdevice.h +include/mythtv/upnp/upnphelpers.h include/mythtv/upnp/upnpsubscription.h include/mythtv/upnp/upnptaskcache.h include/mythtv/upnp/upnptaskevent.h @@ -476,76 +537,71 @@ include/mythtv/upnp/upnputil.h include/mythtv/upnp/wsdl.h include/mythtv/upnp/xmlSerializer.h +include/mythtv/upnp/xsd.h include/mythtv/verbosedefs.h include/mythtv/version.h -include/mythtv/virtualkeyboard_qt.h include/mythtv/visual.h include/mythtv/volumebase.h -include/mythtv/xmlparse.h -lib/libmyth-0.27.so -lib/libmyth-0.27.so.0 -lib/libmyth-0.27.so.0.27 -lib/libmyth-0.27.so.0.27.0 +lib/libmyth-29.so +lib/libmyth-29.so.29 +lib/libmyth-29.so.29.0 +lib/libmyth-29.so.29.0.0 lib/libmythavcodec.so -lib/libmythavcodec.so.54 -lib/libmythavcodec.so.54.92.100 +lib/libmythavcodec.so.57 +lib/libmythavcodec.so.57.64.100 lib/libmythavdevice.so -lib/libmythavdevice.so.54 -lib/libmythavdevice.so.54.3.103 +lib/libmythavdevice.so.57 +lib/libmythavdevice.so.57.1.100 lib/libmythavfilter.so -lib/libmythavfilter.so.3 -lib/libmythavfilter.so.3.42.103 +lib/libmythavfilter.so.6 +lib/libmythavfilter.so.6.65.100 lib/libmythavformat.so -lib/libmythavformat.so.54 -lib/libmythavformat.so.54.63.104 +lib/libmythavformat.so.57 +lib/libmythavformat.so.57.56.100 lib/libmythavutil.so -lib/libmythavutil.so.52 -lib/libmythavutil.so.52.18.100 -lib/libmythbase-0.27.so -lib/libmythbase-0.27.so.0 -lib/libmythbase-0.27.so.0.27 -lib/libmythbase-0.27.so.0.27.0 -lib/libmythfreemheg-0.27.so -lib/libmythfreemheg-0.27.so.0 -lib/libmythfreemheg-0.27.so.0.27 -lib/libmythfreemheg-0.27.so.0.27.0 -lib/libmythmetadata-0.27.so -lib/libmythmetadata-0.27.so.0 -lib/libmythmetadata-0.27.so.0.27 -lib/libmythmetadata-0.27.so.0.27.0 +lib/libmythavutil.so.55 +lib/libmythavutil.so.55.34.100 +lib/libmythbase-29.so +lib/libmythbase-29.so.29 +lib/libmythbase-29.so.29.0 +lib/libmythbase-29.so.29.0.0 +lib/libmythfreemheg-29.so +lib/libmythfreemheg-29.so.29 +lib/libmythfreemheg-29.so.29.0 +lib/libmythfreemheg-29.so.29.0.0 +lib/libmythmetadata-29.so +lib/libmythmetadata-29.so.29 +lib/libmythmetadata-29.so.29.0 +lib/libmythmetadata-29.so.29.0.0 lib/libmythpostproc.so -lib/libmythpostproc.so.52 -lib/libmythpostproc.so.52.2.100 -lib/libmythprotoserver-0.27.so -lib/libmythprotoserver-0.27.so.0 -lib/libmythprotoserver-0.27.so.0.27 -lib/libmythprotoserver-0.27.so.0.27.0 -lib/libmythqjson.so -lib/libmythqjson.so.0 -lib/libmythqjson.so.0.7 -lib/libmythqjson.so.0.7.1 -lib/libmythservicecontracts-0.27.so -lib/libmythservicecontracts-0.27.so.0 -lib/libmythservicecontracts-0.27.so.0.27 -lib/libmythservicecontracts-0.27.so.0.27.0 +lib/libmythpostproc.so.54 +lib/libmythpostproc.so.54.1.100 +lib/libmythprotoserver-29.so +lib/libmythprotoserver-29.so.29 +lib/libmythprotoserver-29.so.29.0 +lib/libmythprotoserver-29.so.29.0.0 +lib/libmythservicecontracts-29.so +lib/libmythservicecontracts-29.so.29 +lib/libmythservicecontracts-29.so.29.0 +lib/libmythservicecontracts-29.so.29.0.0 lib/libmythswresample.so -lib/libmythswresample.so.0 -lib/libmythswresample.so.0.17.102 +lib/libmythswresample.so.2 +lib/libmythswresample.so.2.3.100 lib/libmythswscale.so -lib/libmythswscale.so.2 -lib/libmythswscale.so.2.2.100 -lib/libmythtv-0.27.so -lib/libmythtv-0.27.so.0 -lib/libmythtv-0.27.so.0.27 -lib/libmythtv-0.27.so.0.27.0 -lib/libmythui-0.27.so -lib/libmythui-0.27.so.0 -lib/libmythui-0.27.so.0.27 -lib/libmythui-0.27.so.0.27.0 -lib/libmythupnp-0.27.so -lib/libmythupnp-0.27.so.0 -lib/libmythupnp-0.27.so.0.27 -lib/libmythupnp-0.27.so.0.27.0 +lib/libmythswscale.so.4 +lib/libmythswscale.so.4.2.100 +lib/libmythtv-29.so +lib/libmythtv-29.so.29 +lib/libmythtv-29.so.29.0 +lib/libmythtv-29.so.29.0.0 +lib/libmythui-29.so +lib/libmythui-29.so.29 +lib/libmythui-29.so.29.0 +lib/libmythui-29.so.29.0.0 +lib/libmythupnp-29.so +lib/libmythupnp-29.so.29 +lib/libmythupnp-29.so.29.0 +lib/libmythupnp-29.so.29.0.0 lib/mythtv/filters/libadjust.so lib/mythtv/filters/libbobdeint.so lib/mythtv/filters/libcrop.so @@ -595,99 +651,114 @@ %%DATADIR%%/fonts/Tiresias Infofont.ttf %%DATADIR%%/fonts/texgyrechorus-mediumitalic.otf %%DATADIR%%/fonts/tiresias_gpl3.txt +%%DATADIR%%/html/3rdParty/jquery/MYTH_README +%%DATADIR%%/html/3rdParty/jquery/galleria/LICENSE +%%DATADIR%%/html/3rdParty/jquery/galleria/galleria.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/flickr-demo.html +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/flickr-loader.gif +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/galleria.flickr.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/galleria.flickr.min.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/loader.gif +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/galleria.history.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/galleria.history.min.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/history-demo.html +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/galleria.picasa.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/galleria.picasa.min.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/loader.gif +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/picasa-demo.html +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/README.rst +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-demo.html +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-loader.gif +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-map.png +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.css +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.js +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.min.js +%%DATADIR%%/html/3rdParty/jquery/jquery-2.0.3.js +%%DATADIR%%/html/3rdParty/jquery/jquery-2.0.3.min.js +%%DATADIR%%/html/3rdParty/jquery/jquery-2.1.4.min.js +%%DATADIR%%/html/3rdParty/jquery/jqueryContextMenu/js/jquery.contextmenu.js +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/application.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/code.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/css.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/db.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/directory.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/doc.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/file.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/film.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/flash.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/folder_open.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/html.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/java.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/linux.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/music.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/pdf.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/php.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/picture.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/ppt.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/psd.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/ruby.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/script.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/spinner.gif +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/txt.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/xls.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/zip.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/jqueryFileTree.css +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/jqueryFileTree.js +%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/css/ui.jqgrid.css +%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/js/grid.locale-en.js +%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/js/jquery.jqGrid.js +%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/README.md +%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/jquery.jscroll.js +%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/jscroll.jquery.json +%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/css/jquery.multiselect.css +%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/css/ui.multiselect.css +%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/js/jquery.multiselect.js +%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/js/ui-multiselect-en.js +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_flat_30_cccccc_40x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_flat_50_5c5c5c_40x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_glass_40_ffc73d_1x400.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_hexagon_10_000000_12x10.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-hard_20_0b6a98_1x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_33_003147_1x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_35_222222_1x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_44_444444_1x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_80_eeeeee_1x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_222222_256x240.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_4b8e0b_256x240.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_a83300_256x240.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_cccccc_256x240.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_ffffff_256x240.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/jquery-ui-1.10.3.css +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/jquery-ui.css +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/js/jquery-ui-1.10.3.js %%DATADIR%%/html/3rdParty/jwplayer.qsp +%%DATADIR%%/html/backend_index.qsp %%DATADIR%%/html/css/Status.css -%%DATADIR%%/html/css/images/ui-bg_flat_30_cccccc_40x100.png -%%DATADIR%%/html/css/images/ui-bg_flat_50_5c5c5c_40x100.png -%%DATADIR%%/html/css/images/ui-bg_glass_40_ffc73d_1x400.png -%%DATADIR%%/html/css/images/ui-bg_hexagon_10_000000_12x10.png -%%DATADIR%%/html/css/images/ui-bg_highlight-hard_20_0b6a98_1x100.png -%%DATADIR%%/html/css/images/ui-bg_highlight-soft_33_003147_1x100.png -%%DATADIR%%/html/css/images/ui-bg_highlight-soft_35_222222_1x100.png -%%DATADIR%%/html/css/images/ui-bg_highlight-soft_44_444444_1x100.png -%%DATADIR%%/html/css/images/ui-bg_highlight-soft_80_eeeeee_1x100.png -%%DATADIR%%/html/css/images/ui-icons_222222_256x240.png -%%DATADIR%%/html/css/images/ui-icons_4b8e0b_256x240.png -%%DATADIR%%/html/css/images/ui-icons_a83300_256x240.png -%%DATADIR%%/html/css/images/ui-icons_cccccc_256x240.png -%%DATADIR%%/html/css/images/ui-icons_ffffff_256x240.png -%%DATADIR%%/html/css/jquery-ui.css -%%DATADIR%%/html/css/menustyle.css +%%DATADIR%%/html/css/settings.css %%DATADIR%%/html/css/setup.css %%DATADIR%%/html/css/site.css -%%DATADIR%%/html/css/ui.jqgrid.css -%%DATADIR%%/html/css/ui.multiselect.css %%DATADIR%%/html/css/wsdl.css +%%DATADIR%%/html/debug/websocket.qsp +%%DATADIR%%/html/frontend_index.qsp %%DATADIR%%/html/images/blank.gif %%DATADIR%%/html/images/checkerboard_100x100.png %%DATADIR%%/html/images/favicon.ico +%%DATADIR%%/html/images/icons/README +%%DATADIR%%/html/images/icons/upnp_large_icon.jpg +%%DATADIR%%/html/images/icons/upnp_large_icon.png +%%DATADIR%%/html/images/icons/upnp_small_icon.jpg +%%DATADIR%%/html/images/icons/upnp_small_icon.png %%DATADIR%%/html/images/menu-button-bg.gif %%DATADIR%%/html/images/mythtv.png -%%DATADIR%%/html/images/ui-bg_flat_30_cccccc_40x100.png -%%DATADIR%%/html/images/ui-bg_flat_50_5c5c5c_40x100.png -%%DATADIR%%/html/images/ui-bg_glass_40_ffc73d_1x400.png -%%DATADIR%%/html/images/ui-bg_hexagon_10_000000_12x10.png -%%DATADIR%%/html/images/ui-bg_highlight-hard_20_0b6a98_1x100.png -%%DATADIR%%/html/images/ui-bg_highlight-soft_33_003147_1x100.png -%%DATADIR%%/html/images/ui-bg_highlight-soft_35_222222_1x100.png -%%DATADIR%%/html/images/ui-bg_highlight-soft_44_444444_1x100.png -%%DATADIR%%/html/images/ui-bg_highlight-soft_80_eeeeee_1x100.png -%%DATADIR%%/html/images/ui-icons_222222_256x240.png -%%DATADIR%%/html/images/ui-icons_4b8e0b_256x240.png -%%DATADIR%%/html/images/ui-icons_a83300_256x240.png -%%DATADIR%%/html/images/ui-icons_cccccc_256x240.png -%%DATADIR%%/html/images/ui-icons_ffffff_256x240.png -%%DATADIR%%/html/index.html -%%DATADIR%%/html/js/databaseutil.js %%DATADIR%%/html/js/fileutil.js -%%DATADIR%%/html/js/galleria/LICENSE -%%DATADIR%%/html/js/galleria/galleria-1.2.3.js -%%DATADIR%%/html/js/galleria/galleria-1.2.3.min.js -%%DATADIR%%/html/js/galleria/themes/classic/README.rst -%%DATADIR%%/html/js/galleria/themes/classic/classic-demo.html -%%DATADIR%%/html/js/galleria/themes/classic/classic-loader.gif -%%DATADIR%%/html/js/galleria/themes/classic/classic-map.png -%%DATADIR%%/html/js/galleria/themes/classic/galleria.classic.css -%%DATADIR%%/html/js/galleria/themes/classic/galleria.classic.js -%%DATADIR%%/html/js/galleria/themes/classic/galleria.classic.min.js -%%DATADIR%%/html/js/grid.locale-en.js %%DATADIR%%/html/js/inspect.js -%%DATADIR%%/html/js/jquery-ui.min.js -%%DATADIR%%/html/js/jquery.contextmenu.js -%%DATADIR%%/html/js/jquery.jqGrid.min.js -%%DATADIR%%/html/js/jquery.min.js -%%DATADIR%%/html/js/jqueryFileTree/images/application.png -%%DATADIR%%/html/js/jqueryFileTree/images/code.png -%%DATADIR%%/html/js/jqueryFileTree/images/css.png -%%DATADIR%%/html/js/jqueryFileTree/images/db.png -%%DATADIR%%/html/js/jqueryFileTree/images/directory.png -%%DATADIR%%/html/js/jqueryFileTree/images/doc.png -%%DATADIR%%/html/js/jqueryFileTree/images/file.png -%%DATADIR%%/html/js/jqueryFileTree/images/film.png -%%DATADIR%%/html/js/jqueryFileTree/images/flash.png -%%DATADIR%%/html/js/jqueryFileTree/images/folder_open.png -%%DATADIR%%/html/js/jqueryFileTree/images/html.png -%%DATADIR%%/html/js/jqueryFileTree/images/java.png -%%DATADIR%%/html/js/jqueryFileTree/images/linux.png -%%DATADIR%%/html/js/jqueryFileTree/images/music.png -%%DATADIR%%/html/js/jqueryFileTree/images/pdf.png -%%DATADIR%%/html/js/jqueryFileTree/images/php.png -%%DATADIR%%/html/js/jqueryFileTree/images/picture.png -%%DATADIR%%/html/js/jqueryFileTree/images/ppt.png -%%DATADIR%%/html/js/jqueryFileTree/images/psd.png -%%DATADIR%%/html/js/jqueryFileTree/images/ruby.png -%%DATADIR%%/html/js/jqueryFileTree/images/script.png -%%DATADIR%%/html/js/jqueryFileTree/images/spinner.gif -%%DATADIR%%/html/js/jqueryFileTree/images/txt.png -%%DATADIR%%/html/js/jqueryFileTree/images/xls.png -%%DATADIR%%/html/js/jqueryFileTree/images/zip.png -%%DATADIR%%/html/js/jqueryFileTree/jqueryFileTree.css -%%DATADIR%%/html/js/jqueryFileTree/jqueryFileTree.js %%DATADIR%%/html/js/menu.js -%%DATADIR%%/html/js/ui-multiselect-en.js -%%DATADIR%%/html/js/ui.multiselect.js +%%DATADIR%%/html/js/settings.js %%DATADIR%%/html/js/util.qjs +%%DATADIR%%/html/js/utility.js +%%DATADIR%%/html/js/websocket_events.js %%DATADIR%%/html/menu.qsp +%%DATADIR%%/html/misc/css/overview.css %%DATADIR%%/html/misc/database-backup.html %%DATADIR%%/html/misc/database-repair.html %%DATADIR%%/html/misc/databasetabs.html @@ -697,12 +768,15 @@ %%DATADIR%%/html/misc/js/databasetabs.js %%DATADIR%%/html/misc/js/hardwareprofile.js %%DATADIR%%/html/misc/js/messagetab.js +%%DATADIR%%/html/misc/js/overview.js %%DATADIR%%/html/misc/js/viewlogs.js %%DATADIR%%/html/misc/message.html %%DATADIR%%/html/misc/messagetab.html +%%DATADIR%%/html/misc/misc_template.html %%DATADIR%%/html/misc/overview.qsp %%DATADIR%%/html/misc/placeholder.html %%DATADIR%%/html/misc/viewlogs.html +%%DATADIR%%/html/robots.txt %%DATADIR%%/html/samples/hlstest.qsp %%DATADIR%%/html/samples/js/samples.js %%DATADIR%%/html/samples/livestream_rec.qsp @@ -710,9 +784,11 @@ %%DATADIR%%/html/samples/recorded.qsp %%DATADIR%%/html/samples/serverside.qsp %%DATADIR%%/html/samples/storagegroups.qsp +%%DATADIR%%/html/setup/ajax_backends/setting_util.qsp %%DATADIR%%/html/setup/channeleditor-channeldetail-multi.html %%DATADIR%%/html/setup/channeleditor-channeldetail.html %%DATADIR%%/html/setup/channeleditor.html +%%DATADIR%%/html/setup/css/common.css %%DATADIR%%/html/setup/database.html %%DATADIR%%/html/setup/expert.html %%DATADIR%%/html/setup/general.html @@ -723,28 +799,81 @@ %%DATADIR%%/html/setup/jobqueue-jobs.qsp %%DATADIR%%/html/setup/jobqueue.html %%DATADIR%%/html/setup/js/channeleditor.js +%%DATADIR%%/html/setup/js/common.js %%DATADIR%%/html/setup/js/database.js %%DATADIR%%/html/setup/js/general.js %%DATADIR%%/html/setup/js/guidedatasources.js %%DATADIR%%/html/setup/js/jobqueue.js %%DATADIR%%/html/setup/js/password.js -%%DATADIR%%/html/setup/js/setup.js %%DATADIR%%/html/setup/js/storagegroups.js %%DATADIR%%/html/setup/js/systemevents.js %%DATADIR%%/html/setup/js/wizard.js %%DATADIR%%/html/setup/overview.html %%DATADIR%%/html/setup/password.html +%%DATADIR%%/html/setup/setup_template.html %%DATADIR%%/html/setup/storagegroups-add-dir.html %%DATADIR%%/html/setup/storagegroups-add-new.html %%DATADIR%%/html/setup/storagegroups.html %%DATADIR%%/html/setup/systemevents.html +%%DATADIR%%/html/setup/webfrontend-settings.qsp %%DATADIR%%/html/setup/wizard-database.html %%DATADIR%%/html/setup/wizard-guide_data.html %%DATADIR%%/html/setup/wizard-media_storage.html %%DATADIR%%/html/setup/wizard-network.qsp %%DATADIR%%/html/setup/wizard-recording_devices.html %%DATADIR%%/html/setup/wizard.html +%%DATADIR%%/html/tv/ajax_backends/dvr_util.qsp +%%DATADIR%%/html/tv/ajax_backends/program_util.qsp +%%DATADIR%%/html/tv/css/category_colors.css +%%DATADIR%%/html/tv/css/common.css +%%DATADIR%%/html/tv/css/guide.css +%%DATADIR%%/html/tv/css/icons.css +%%DATADIR%%/html/tv/css/programsearch.css +%%DATADIR%%/html/tv/css/recordingrules.css +%%DATADIR%%/html/tv/css/recordings.css +%%DATADIR%%/html/tv/css/schedule.css +%%DATADIR%%/html/tv/css/tvplayer.css +%%DATADIR%%/html/tv/css/upcoming.css +%%DATADIR%%/html/tv/guide.qsp +%%DATADIR%%/html/tv/images/blank.png +%%DATADIR%%/html/tv/images/cat_movie.svg +%%DATADIR%%/html/tv/images/channel_icon.svg +%%DATADIR%%/html/tv/images/fl_autoexp.svg +%%DATADIR%%/html/tv/images/fl_bookmark.svg +%%DATADIR%%/html/tv/images/fl_commflag.svg +%%DATADIR%%/html/tv/images/fl_watched.svg +%%DATADIR%%/html/tv/images/hd_1080.svg +%%DATADIR%%/html/tv/images/hd_720.svg +%%DATADIR%%/html/tv/images/hd_tv.svg +%%DATADIR%%/html/tv/images/play_arrow.png +%%DATADIR%%/html/tv/images/play_arrow.svg +%%DATADIR%%/html/tv/images/recording_icons_sprite.svg +%%DATADIR%%/html/tv/images/wastebin.svg +%%DATADIR%%/html/tv/js/common.js +%%DATADIR%%/html/tv/js/constants.js +%%DATADIR%%/html/tv/js/guide.js +%%DATADIR%%/html/tv/js/programsearch.js +%%DATADIR%%/html/tv/js/recordings.js +%%DATADIR%%/html/tv/js/schedule.js +%%DATADIR%%/html/tv/js/tvutil.qjs +%%DATADIR%%/html/tv/js/upcoming.js +%%DATADIR%%/html/tv/programsearch.qsp +%%DATADIR%%/html/tv/recordingrules.qsp +%%DATADIR%%/html/tv/recordings.qsp +%%DATADIR%%/html/tv/schedule.qsp +%%DATADIR%%/html/tv/stream.qsp +%%DATADIR%%/html/tv/tvplayer.qsp +%%DATADIR%%/html/tv/upcoming.qsp +%%DATADIR%%/html/video/css/gallery.css +%%DATADIR%%/html/video/gallery.qsp +%%DATADIR%%/html/video/gallery_detail.qsp +%%DATADIR%%/html/video/images/folder_icon.png +%%DATADIR%%/html/video/images/mv_gallery_dir_up.png +%%DATADIR%%/html/video/images/unknown.png +%%DATADIR%%/html/video/js/gallery.js +%%DATADIR%%/html/video/js/gallery.qjs %%DATADIR%%/html/xslt/class.xslt +%%DATADIR%%/html/xslt/enum.xslt %%DATADIR%%/html/xslt/service.xslt %%DATADIR%%/i18n/mythfrontend_bg.qm %%DATADIR%%/i18n/mythfrontend_ca.qm @@ -955,6 +1084,7 @@ %%DATADIR%%/themes/MythCenter/qtlook.txt %%DATADIR%%/themes/MythCenter/recordings-ui.xml %%DATADIR%%/themes/MythCenter/schedule-ui.xml +%%DATADIR%%/themes/MythCenter/status-ui.xml %%DATADIR%%/themes/MythCenter/themeinfo.xml %%DATADIR%%/themes/MythCenter/title/title_dvd.png %%DATADIR%%/themes/MythCenter/title/title_gallery.png @@ -1222,7 +1352,6 @@ %%DATADIR%%/themes/Terra/video/video_gallery_background_selected.png %%DATADIR%%/themes/Terra/watermarks/README.license %%DATADIR%%/themes/Terra/watermarks/aerial.png -%%DATADIR%%/themes/Terra/watermarks/appearance.png %%DATADIR%%/themes/Terra/watermarks/archive.png %%DATADIR%%/themes/Terra/watermarks/audio.png %%DATADIR%%/themes/Terra/watermarks/browser.png @@ -1264,6 +1393,7 @@ %%DATADIR%%/themes/Terra/watermarks/select_music.png %%DATADIR%%/themes/Terra/watermarks/status.png %%DATADIR%%/themes/Terra/watermarks/stop_light.png +%%DATADIR%%/themes/Terra/watermarks/themechooser.png %%DATADIR%%/themes/Terra/watermarks/tools.png %%DATADIR%%/themes/Terra/watermarks/tv.png %%DATADIR%%/themes/Terra/watermarks/vcr.png @@ -1433,28 +1563,18 @@ %%DATADIR%%/themes/default/htmls/notfound.html %%DATADIR%%/themes/default/htmls/progdetails_page1.html %%DATADIR%%/themes/default/htmls/progdetails_page2.html +%%DATADIR%%/themes/default/image-ui.xml %%DATADIR%%/themes/default/keyboard/ar.xml -%%DATADIR%%/themes/default/keyboard/ar_ui.xml %%DATADIR%%/themes/default/keyboard/da.xml -%%DATADIR%%/themes/default/keyboard/da_ui.xml %%DATADIR%%/themes/default/keyboard/de.xml -%%DATADIR%%/themes/default/keyboard/de_ui.xml %%DATADIR%%/themes/default/keyboard/el.xml -%%DATADIR%%/themes/default/keyboard/el_ui.xml %%DATADIR%%/themes/default/keyboard/en_gb.xml -%%DATADIR%%/themes/default/keyboard/en_gb_ui.xml %%DATADIR%%/themes/default/keyboard/en_us.xml -%%DATADIR%%/themes/default/keyboard/en_us_ui.xml %%DATADIR%%/themes/default/keyboard/es.xml -%%DATADIR%%/themes/default/keyboard/es_ui.xml %%DATADIR%%/themes/default/keyboard/fr.xml %%DATADIR%%/themes/default/keyboard/fr_ch.xml -%%DATADIR%%/themes/default/keyboard/fr_ch_ui.xml -%%DATADIR%%/themes/default/keyboard/fr_ui.xml %%DATADIR%%/themes/default/keyboard/he.xml -%%DATADIR%%/themes/default/keyboard/he_ui.xml %%DATADIR%%/themes/default/keyboard/it.xml -%%DATADIR%%/themes/default/keyboard/it_ui.xml %%DATADIR%%/themes/default/keyboard/key_down.png %%DATADIR%%/themes/default/keyboard/key_down_back.png %%DATADIR%%/themes/default/keyboard/key_down_del.png @@ -1491,14 +1611,11 @@ %%DATADIR%%/themes/default/keyboard/keyboard.xml %%DATADIR%%/themes/default/keyboard/leftarrow.png %%DATADIR%%/themes/default/keyboard/nb.xml -%%DATADIR%%/themes/default/keyboard/nb_ui.xml %%DATADIR%%/themes/default/keyboard/returnarrow.png %%DATADIR%%/themes/default/keyboard/rightarrow.png %%DATADIR%%/themes/default/keyboard/ru.xml -%%DATADIR%%/themes/default/keyboard/ru_ui.xml %%DATADIR%%/themes/default/keyboard/shiftarrow.png %%DATADIR%%/themes/default/keyboard/sv.xml -%%DATADIR%%/themes/default/keyboard/sv_ui.xml %%DATADIR%%/themes/default/lb-arrow.png %%DATADIR%%/themes/default/lb-check-empty.png %%DATADIR%%/themes/default/lb-check-full.png @@ -1769,6 +1886,7 @@ %%DATADIR%%/themes/default/menu_playback.xml %%DATADIR%%/themes/default/menu_playback_compact.xml %%DATADIR%%/themes/default/mono.png +%%DATADIR%%/themes/default/musicscanner.png %%DATADIR%%/themes/default/mv_browse_background.png %%DATADIR%%/themes/default/mv_browse_selector.png %%DATADIR%%/themes/default/mv_filerequest.png @@ -1830,9 +1948,13 @@ %%DATADIR%%/themes/default/shared/directory.png %%DATADIR%%/themes/default/shared/executable.png %%DATADIR%%/themes/default/shared/file.png +%%DATADIR%%/themes/default/shared/folder-reg.png +%%DATADIR%%/themes/default/shared/folder-sel.png %%DATADIR%%/themes/default/shared/grid_back_reg.png %%DATADIR%%/themes/default/shared/grid_back_sel.png %%DATADIR%%/themes/default/shared/grid_noimage.png +%%DATADIR%%/themes/default/shared/movie-reg.png +%%DATADIR%%/themes/default/shared/movie-sel.png %%DATADIR%%/themes/default/shared/secure.png %%DATADIR%%/themes/default/shared/unsecure.png %%DATADIR%%/themes/default/shared/updirectory.png @@ -1840,6 +1962,7 @@ %%DATADIR%%/themes/default/solid-container.png %%DATADIR%%/themes/default/solid-cr-background.png %%DATADIR%%/themes/default/sr-background.png +%%DATADIR%%/themes/default/standardsetting-ui.xml %%DATADIR%%/themes/default/status-bar.png %%DATADIR%%/themes/default/status-ui.xml %%DATADIR%%/themes/default/stereo.png Index: head/multimedia/mythtv/Makefile =================================================================== --- head/multimedia/mythtv/Makefile +++ head/multimedia/mythtv/Makefile @@ -3,132 +3,172 @@ PORTNAME= mythtv DISTVERSIONPREFIX= v -DISTVERSION= 0.27.5 +DISTVERSION= 29.1 +PORTREVISION?= 0 PORTEPOCH= 1 CATEGORIES= multimedia -MAINTAINER= ports@FreeBSD.org -COMMENT= MythTV is a homebrew PVR project +MAINTAINER?= ports@FreeBSD.org +COMMENT?= MythTV is a homebrew PVR project -LICENSE= GPLv2 +LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING +ONLY_FOR_ARCHS= amd64 i386 + LIB_DEPENDS= libmp3lame.so:audio/lame \ - libfreetype.so:print/freetype2 \ libtag.so:audio/taglib \ - libxml2.so:textproc/libxml2 \ - libudf.so:sysutils/libcdio \ + libexiv2.so:graphics/exiv2 \ libva.so:multimedia/libva \ libass.so:multimedia/libass \ - libfftw3f.so:math/fftw3-float \ libfftw3_threads.so:math/fftw3 \ - libjack.so:audio/jack -BUILD_DEPENDS= v4l_compat>=1.0.20100321:multimedia/v4l_compat \ - yasm:devel/yasm -RUN_DEPENDS= tv_check:textproc/p5-xmltv \ - wget:ftp/wget + libfftw3f.so:math/fftw3-float \ + libfreetype.so:print/freetype2 \ + libxml2.so:textproc/libxml2 +BUILD_DEPENDS= yasm:devel/yasm -CONFLICTS= mythtv-frontend-[0-9]* - +USES= gmake iconv libtool pkgconfig pathfix ssl USE_GITHUB= yes GH_ACCOUNT= MythTV - -WRKSRC_SUBDIR= ${PORTNAME} - -ONLY_FOR_ARCHS= i386 amd64 -USE_PERL5= run build -NOPRECIOUSMAKEVARS= # don't override $(ARCH) in ffmpeg makefiles -USES= gmake iconv libtool perl5 pkgconfig pathfix shebangfix ssl -SHEBANG_FILES= programs/scripts/database/mythconverg_backup.pl \ - programs/scripts/database/mythconverg_restore.pl -USE_QT4= corelib dbus gui sql network script linguist_build l10n sql-mysql_run \ - moc_build qmake_build rcc_build uic_build imageformats webkit xml USE_GL= gl -USE_XORG= x11 xv xrandr xxf86vm xinerama xext +USE_LDCONFIG= yes +USE_QT5= buildtools_build core dbus gui imageformats_run \ + linguist_build network opengl qmake_build script sql \ + sql-mysql_run webkit widgets xml QT_NONSTANDARD= yes -HAS_CONFIGURE= yes -USE_LDCONFIG= ${PREFIX}/lib/mythtv/filters -REINPLACE_ARGS= -i "" -USE_RC_SUBR= mythbackend -DESTDIRNAME= INSTALL_ROOT +USE_XORG= x11 xv xrandr xxf86vm xinerama xext xcb -USERS= mythtv -GROUPS= mythtv - +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-mythlogserver +CONFIGURE_ENV= QMAKESPEC="${QMAKESPEC}" MOC="${MOC}" \ + QTDIR="${PREFIX}" PKG_CONFIG_PATH="${LOCALBASE}/libdata/pkgconfig" MAKE_ENV= QTDIR="${PREFIX}" \ QMAKESPEC="${QMAKESPEC}" - +NOPRECIOUSMAKEVARS= # don't override ARCH in ffmpeg makefiles +DESTDIRNAME= INSTALL_ROOT CPPFLAGS+= ${QTCPPFLAGS} -CONFIGURE_ENV+= QMAKESPEC="${QMAKESPEC}" MOC="${MOC}" \ - QTDIR="${PREFIX}" -CONFIGURE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/libdata/pkgconfig" LDFLAGS+= -L${LOCALBASE}/lib -CONFIGURE_ARGS= --prefix="${PREFIX}" --cc="${CC}" --cxx="${CXX}" --dvb-path="${LOCALBASE}/include/libdvbv5" \ - --libxml2-path="${LOCALBASE}/include/libxml2" --enable-v4l2 --enable-ivtv --enable-xv \ - --disable-audio-alsa --disable-indev=alsa --disable-outdev=alsa --disable-mythlogserver +REINPLACE_ARGS= -i "" +WRKSRC_SUBDIR= ${PORTNAME} -QMAKESPEC?= ${LOCALBASE}/share/qt4/mkspecs/freebsd-g++ +DESKTOP_ENTRIES="MythTV Frontend" "MythTV is a homebrew PVR project" "" \ + "mythfrontend" "AudioVideo;Video;" false -OPTIONS_DEFINE= BINDINGS LIRC MYSQL OPENGL VDPAU -OPTIONS_DEFAULT= BINDINGS OPENGL VDPAU -OPTIONS_SUB= yes -BINDINGS_DESC= Perl and Python bindings +.if defined(SLAVEPORT) && ${SLAVEPORT} == "frontend" +CONFLICTS_INSTALL= mythtv -LIRC_LIB_DEPENDS= liblirc_client.so:comms/lirc -MYSQL_USES= mysql:client,server -MYSQL_USES_OFF= mysql +CONFIGURE_ARGS+=--disable-dvb --disable-firewire --disable-hdhomerun \ + --disable-hdpvr --disable-ivtv --disable-v4l2 \ + --without-bindings=perl,python,php -VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau -VDPAU_CONFIGURE_ENABLE= vdpau +EXTRA_PATCHES= ${FILESDIR}/extrapatch-programs_programs.pro -OPENGL_CONFIGURE_ENABLE= opengl-video -OPENGL_USE= QT4=opengl +OPTIONS_EXCLUDE+= BINDINGS LIRC MYSQL +.else +CONFLICTS_INSTALL= mythtv-frontend -.include +BUILD_DEPENDS+= v4l_compat>=1.0.20100321:multimedia/v4l_compat +RUN_DEPENDS+= tv_check:textproc/p5-xmltv \ + wget:ftp/wget +USES+= perl5 python:2.7 shebangfix +USE_PERL5= run build +USE_RC_SUBR= mythbackend +SHEBANG_FILES= programs/scripts/database/*.pl \ + programs/scripts/internetcontent/*.py \ + programs/scripts/internetcontent/*.pl \ + programs/scripts/internetcontent/nv_python_libs/*.py \ + programs/scripts/hardwareprofile/*.py \ + programs/scripts/metadata/Television/ttvdb.py \ + programs/scripts/metadata/Movie/tmdb3.py -SUB_FILES= pkg-message +CONFIGURE_ARGS+=--dvb-path="${LOCALBASE}/include" \ + --enable-ivtv --enable-v4l2 --enable-xv -.if ${PORT_OPTIONS:MBINDINGS} -CONFIGURE_ARGS+= --python=${PYTHON_CMD} -USES+= python:2.7 -PYDISTUTILS_PKGNAME=MythTV -PYDISTUTILS_PKGVERSION=0.27._1 +USERS= mythtv +GROUPS= mythtv -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \ - p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \ - p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined \ - p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \ - p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \ - p5-DBI>=0:databases/p5-DBI \ - p5-DBD-mysql>0:databases/p5-DBD-mysql -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \ - p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \ - p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined \ - p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \ - p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \ - p5-DBI>=0:databases/p5-DBI \ - p5-DBD-mysql>0:databases/p5-DBD-mysql -.else -CONFIGURE_ARGS+=--without-bindings=perl,python +DATADIR= ${PREFIX}/share/mythtv +SUB_FILES= pkg-message .endif +OPTIONS_DEFINE= BINDINGS JACK LIRC MYSQL PULSEAUDIO VDPAU +OPTIONS_DEFAULT= BINDINGS VDPAU +OPTIONS_SUB= yes + +BINDINGS_DESC= Perl and Python bindings +BINDINGS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \ + p5-DBI>=0:databases/p5-DBI \ + p5-DBD-mysql>0:databases/p5-DBD-mysql \ + p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \ + p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \ + 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} \ + ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}futures>0:devel/py-futures@${PY_FLAVOR} \ + ${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} \ + p5-DBI>=0:databases/p5-DBI \ + p5-DBD-mysql>0:databases/p5-DBD-mysql \ + p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \ + p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \ + 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 + +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 + +LIRC_LIB_DEPENDS= liblirc_client.so:comms/lirc +LIRC_CONFIGURE_ENABLE= 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 + +VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau +VDPAU_CONFIGURE_ENABLE= vdpau + post-patch: @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/configure \ ${WRKSRC}/libs/libmythtv/libmythtv.pro \ ${WRKSRC}/bindings/perl/MythTV/Recording.pm \ - ${WRKSRC}/programs/mythtranscode/replex/Makefile.standalone \ + ${WRKSRC}/programs/mythtranscode/external/replex/Makefile.standalone \ ${WRKSRC}/programs/scripts/database/mythconverg_backup.pl \ ${WRKSRC}/programs/scripts/database/mythconverg_restore.pl \ ${WRKSRC}/programs/mythcommflag/mythcommflag-analyze post-install: +.if !defined(SLAVEPORT) @${MKDIR} ${STAGEDIR}${PREFIX}/share/mythtv/database - @${CP} ${WRKSRC}/database/mc.sql ${STAGEDIR}${PREFIX}/share/mythtv/database + ${INSTALL_DATA} ${WRKSRC}/database/mc.sql ${STAGEDIR}${PREFIX}/share/mythtv/database +.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) + +# 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' \ + pkg-plist) .include Index: head/multimedia/mythtv/distinfo =================================================================== --- head/multimedia/mythtv/distinfo +++ head/multimedia/mythtv/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1513802652 -SHA256 (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 7e625f94332effeadfba8e7ae7c98d44a83bfc25b7c59e39adce67dc2f4e1e1b -SIZE (MythTV-mythtv-v0.27.5_GH0.tar.gz) = 85652939 +TIMESTAMP = 1520812634 +SHA256 (MythTV-mythtv-v29.1_GH0.tar.gz) = 04a84eb0ded2d2b123624ab2b2e1b8cf824ff4bf8216e452b2516deb929082b2 +SIZE (MythTV-mythtv-v29.1_GH0.tar.gz) = 105616234 Index: head/multimedia/mythtv/files/extrapatch-programs_programs.pro =================================================================== --- head/multimedia/mythtv/files/extrapatch-programs_programs.pro +++ head/multimedia/mythtv/files/extrapatch-programs_programs.pro @@ -0,0 +1,17 @@ +Disable backend components for multimedia/mythtv-frontend + +--- programs/programs.pro.orig 2018-01-11 12:39:22 UTC ++++ programs/programs.pro +@@ -15,12 +15,4 @@ using_frontend { + !mingw:!win32-msvc*: SUBDIRS += mythtranscode/external/replex + } + +-using_backend { +- SUBDIRS += mythbackend mythfilldatabase mythtv-setup +- SUBDIRS += mythmetadatalookup +- +- !win32-msvc*:SUBDIRS += scripts +- !mingw:!win32-msvc*: SUBDIRS += mythfilerecorder +-} +- + using_mythtranscode: SUBDIRS += mythtranscode Index: head/multimedia/mythtv/files/patch-CVE-2016-10190 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2016-10190 +++ head/multimedia/mythtv/files/patch-CVE-2016-10190 @@ -0,0 +1,239 @@ +From 0e0a413725e0221e1a9d0b7595e22bf57e23a09c Mon Sep 17 00:00:00 2001 +From: "Ronald S. Bultje" +Date: Mon, 5 Dec 2016 08:02:33 -0500 +Subject: [PATCH] http: make length/offset-related variables unsigned. + +Fixes #5992, reported and found by Paul Cher . + +(cherry picked from commit 2a05c8f813de6f2278827734bf8102291e7484aa) +--- + libavformat/http.c | 70 +++++++++++++++++++++++++++++------------------------- + 1 file changed, 38 insertions(+), 32 deletions(-) + +diff --git libavformat/http.c libavformat/http.c +index d48958d8a3c..13f3be42271 100644 +--- external/FFmpeg/libavformat/http.c ++++ external/FFmpeg/libavformat/http.c +@@ -62,8 +62,8 @@ typedef struct HTTPContext { + int line_count; + int http_code; + /* Used if "Transfer-Encoding: chunked" otherwise -1. */ +- int64_t chunksize; +- int64_t off, end_off, filesize; ++ uint64_t chunksize; ++ uint64_t off, end_off, filesize; + char *location; + HTTPAuthState auth_state; + HTTPAuthState proxy_auth_state; +@@ -95,9 +95,9 @@ typedef struct HTTPContext { + AVDictionary *cookie_dict; + int icy; + /* how much data was read since the last ICY metadata packet */ +- int icy_data_read; ++ uint64_t icy_data_read; + /* after how many bytes of read data a new metadata packet will be found */ +- int icy_metaint; ++ uint64_t icy_metaint; + char *icy_metadata_headers; + char *icy_metadata_packet; + AVDictionary *metadata; +@@ -489,7 +489,7 @@ static int http_open(URLContext *h, const char *uri, int flags, + else + h->is_streamed = 1; + +- s->filesize = -1; ++ s->filesize = UINT64_MAX; + s->location = av_strdup(uri); + if (!s->location) + return AVERROR(ENOMEM); +@@ -616,9 +616,9 @@ static void parse_content_range(URLContext *h, const char *p) + + if (!strncmp(p, "bytes ", 6)) { + p += 6; +- s->off = strtoll(p, NULL, 10); ++ s->off = strtoull(p, NULL, 10); + if ((slash = strchr(p, '/')) && strlen(slash) > 0) +- s->filesize = strtoll(slash + 1, NULL, 10); ++ s->filesize = strtoull(slash + 1, NULL, 10); + } + if (s->seekable == -1 && (!s->is_akamai || s->filesize != 2147483647)) + h->is_streamed = 0; /* we _can_ in fact seek */ +@@ -808,8 +808,9 @@ static int process_line(URLContext *h, char *line, int line_count, + if ((ret = parse_location(s, p)) < 0) + return ret; + *new_location = 1; +- } else if (!av_strcasecmp(tag, "Content-Length") && s->filesize == -1) { +- s->filesize = strtoll(p, NULL, 10); ++ } else if (!av_strcasecmp(tag, "Content-Length") && ++ s->filesize == UINT64_MAX) { ++ s->filesize = strtoull(p, NULL, 10); + } else if (!av_strcasecmp(tag, "Content-Range")) { + parse_content_range(h, p); + } else if (!av_strcasecmp(tag, "Accept-Ranges") && +@@ -818,7 +819,7 @@ static int process_line(URLContext *h, char *line, int line_count, + h->is_streamed = 0; + } else if (!av_strcasecmp(tag, "Transfer-Encoding") && + !av_strncasecmp(p, "chunked", 7)) { +- s->filesize = -1; ++ s->filesize = UINT64_MAX; + s->chunksize = 0; + } else if (!av_strcasecmp(tag, "WWW-Authenticate")) { + ff_http_auth_handle_header(&s->auth_state, tag, p); +@@ -842,7 +843,7 @@ static int process_line(URLContext *h, char *line, int line_count, + if (parse_cookie(s, p, &s->cookie_dict)) + av_log(h, AV_LOG_WARNING, "Unable to parse '%s'\n", p); + } else if (!av_strcasecmp(tag, "Icy-MetaInt")) { +- s->icy_metaint = strtoll(p, NULL, 10); ++ s->icy_metaint = strtoull(p, NULL, 10); + } else if (!av_strncasecmp(tag, "Icy-", 4)) { + if ((ret = parse_icy(s, tag, p)) < 0) + return ret; +@@ -972,7 +973,7 @@ static int http_read_header(URLContext *h, int *new_location) + char line[MAX_URL_SIZE]; + int err = 0; + +- s->chunksize = -1; ++ s->chunksize = UINT64_MAX; + + for (;;) { + if ((err = http_get_line(s, line, sizeof(line))) < 0) +@@ -1006,7 +1007,7 @@ static int http_connect(URLContext *h, const char *path, const char *local_path, + int post, err; + char headers[HTTP_HEADERS_SIZE] = ""; + char *authstr = NULL, *proxyauthstr = NULL; +- int64_t off = s->off; ++ uint64_t off = s->off; + int len = 0; + const char *method; + int send_expect_100 = 0; +@@ -1060,7 +1061,7 @@ static int http_connect(URLContext *h, const char *path, const char *local_path, + // server supports seeking by analysing the reply headers. + if (!has_header(s->headers, "\r\nRange: ") && !post && (s->off > 0 || s->end_off || s->seekable == -1)) { + len += av_strlcatf(headers + len, sizeof(headers) - len, +- "Range: bytes=%"PRId64"-", s->off); ++ "Range: bytes=%"PRIu64"-", s->off); + if (s->end_off) + len += av_strlcatf(headers + len, sizeof(headers) - len, + "%"PRId64, s->end_off - 1); +@@ -1135,7 +1136,7 @@ static int http_connect(URLContext *h, const char *path, const char *local_path, + s->line_count = 0; + s->off = 0; + s->icy_data_read = 0; +- s->filesize = -1; ++ s->filesize = UINT64_MAX; + s->willclose = 0; + s->end_chunked_post = 0; + s->end_header = 0; +@@ -1175,15 +1176,13 @@ static int http_buf_read(URLContext *h, uint8_t *buf, int size) + memcpy(buf, s->buf_ptr, len); + s->buf_ptr += len; + } else { +- int64_t target_end = s->end_off ? s->end_off : s->filesize; +- if ((!s->willclose || s->chunksize < 0) && +- target_end >= 0 && s->off >= target_end) ++ uint64_t target_end = s->end_off ? s->end_off : s->filesize; ++ if ((!s->willclose || s->chunksize == UINT64_MAX) && s->off >= target_end) + return AVERROR_EOF; + len = ffurl_read(s->hd, buf, size); +- if (!len && (!s->willclose || s->chunksize < 0) && +- target_end >= 0 && s->off < target_end) { ++ if (!len && (!s->willclose || s->chunksize == UINT64_MAX) && s->off < target_end) { + av_log(h, AV_LOG_ERROR, +- "Stream ends prematurely at %"PRId64", should be %"PRId64"\n", ++ "Stream ends prematurely at %"PRIu64", should be %"PRIu64"\n", + s->off, target_end + ); + return AVERROR(EIO); +@@ -1247,7 +1246,7 @@ static int http_read_stream(URLContext *h, uint8_t *buf, int size) + return err; + } + +- if (s->chunksize >= 0) { ++ if (s->chunksize != UINT64_MAX) { + if (!s->chunksize) { + char line[32]; + +@@ -1256,13 +1255,19 @@ static int http_read_stream(URLContext *h, uint8_t *buf, int size) + return err; + } while (!*line); /* skip CR LF from last chunk */ + +- s->chunksize = strtoll(line, NULL, 16); ++ s->chunksize = strtoull(line, NULL, 16); + +- av_log(NULL, AV_LOG_TRACE, "Chunked encoding data size: %"PRId64"'\n", ++ av_log(h, AV_LOG_TRACE, ++ "Chunked encoding data size: %"PRIu64"'\n", + s->chunksize); + + if (!s->chunksize) + return 0; ++ else if (s->chunksize == UINT64_MAX) { ++ av_log(h, AV_LOG_ERROR, "Invalid chunk size %"PRIu64"\n", ++ s->chunksize); ++ return AVERROR(EINVAL); ++ } + } + size = FFMIN(size, s->chunksize); + } +@@ -1273,17 +1278,17 @@ static int http_read_stream(URLContext *h, uint8_t *buf, int size) + read_ret = http_buf_read(h, buf, size); + if ( (read_ret < 0 && s->reconnect && (!h->is_streamed || s->reconnect_streamed) && s->filesize > 0 && s->off < s->filesize) + || (read_ret == 0 && s->reconnect_at_eof && (!h->is_streamed || s->reconnect_streamed))) { +- int64_t target = h->is_streamed ? 0 : s->off; ++ uint64_t target = h->is_streamed ? 0 : s->off; + + if (s->reconnect_delay > s->reconnect_delay_max) + return AVERROR(EIO); + +- av_log(h, AV_LOG_INFO, "Will reconnect at %"PRId64" error=%s.\n", s->off, av_err2str(read_ret)); ++ av_log(h, AV_LOG_INFO, "Will reconnect at %"PRIu64" error=%s.\n", s->off, av_err2str(read_ret)); + av_usleep(1000U*1000*s->reconnect_delay); + s->reconnect_delay = 1 + 2*s->reconnect_delay; + seek_ret = http_seek_internal(h, target, SEEK_SET, 1); + if (seek_ret != target) { +- av_log(h, AV_LOG_ERROR, "Failed to reconnect at %"PRId64".\n", target); ++ av_log(h, AV_LOG_ERROR, "Failed to reconnect at %"PRIu64".\n", target); + return read_ret; + } + +@@ -1338,10 +1343,11 @@ static int store_icy(URLContext *h, int size) + { + HTTPContext *s = h->priv_data; + /* until next metadata packet */ +- int remaining = s->icy_metaint - s->icy_data_read; ++ uint64_t remaining; + +- if (remaining < 0) ++ if (s->icy_metaint < s->icy_data_read) + return AVERROR_INVALIDDATA; ++ remaining = s->icy_metaint - s->icy_data_read; + + if (!remaining) { + /* The metadata packet is variable sized. It has a 1 byte header +@@ -1455,7 +1461,7 @@ static int64_t http_seek_internal(URLContext *h, int64_t off, int whence, int fo + { + HTTPContext *s = h->priv_data; + URLContext *old_hd = s->hd; +- int64_t old_off = s->off; ++ uint64_t old_off = s->off; + uint8_t old_buf[BUFFER_SIZE]; + int old_buf_size, ret; + AVDictionary *options = NULL; +@@ -1466,7 +1472,7 @@ static int64_t http_seek_internal(URLContext *h, int64_t off, int whence, int fo + ((whence == SEEK_CUR && off == 0) || + (whence == SEEK_SET && off == s->off))) + return s->off; +- else if ((s->filesize == -1 && whence == SEEK_END)) ++ else if ((s->filesize == UINT64_MAX && whence == SEEK_END)) + return AVERROR(ENOSYS); + + if (whence == SEEK_CUR) +@@ -1621,7 +1627,7 @@ static int http_proxy_open(URLContext *h, const char *uri, int flags) + s->buf_ptr = s->buffer; + s->buf_end = s->buffer; + s->line_count = 0; +- s->filesize = -1; ++ s->filesize = UINT64_MAX; + cur_auth_type = s->proxy_auth_state.auth_type; + + /* Note: This uses buffering, potentially reading more than the Index: head/multimedia/mythtv/files/patch-CVE-2016-10191 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2016-10191 +++ head/multimedia/mythtv/files/patch-CVE-2016-10191 @@ -0,0 +1,35 @@ +From 32b95471a86ae383c0f76361d954aec511f7043a Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Mon, 5 Dec 2016 11:14:51 +0100 +Subject: [PATCH] avformat/rtmppkt: Check for packet size mismatches + +Fixes out of array access + +Found-by: Paul Cher +Reviewed-by: Paul Cher +Signed-off-by: Michael Niedermayer +(cherry picked from commit 7d57ca4d9a75562fa32e40766211de150f8b3ee7) +Signed-off-by: Michael Niedermayer +--- + libavformat/rtmppkt.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git libavformat/rtmppkt.c libavformat/rtmppkt.c +index 0d693c27f7f..cde0da78ce1 100644 +--- external/FFmpeg/libavformat/rtmppkt.c.orig ++++ external/FFmpeg/libavformat/rtmppkt.c +@@ -235,6 +235,14 @@ static int rtmp_packet_read_one_chunk(URLContext *h, RTMPPacket *p, + if (hdr != RTMP_PS_TWELVEBYTES) + timestamp += prev_pkt[channel_id].timestamp; + ++ if (prev_pkt[channel_id].read && size != prev_pkt[channel_id].size) { ++ av_log(NULL, AV_LOG_ERROR, "RTMP packet size mismatch %d != %d\n", ++ size, ++ prev_pkt[channel_id].size); ++ ff_rtmp_packet_destroy(&prev_pkt[channel_id]); ++ prev_pkt[channel_id].read = 0; ++ } ++ + if (!prev_pkt[channel_id].read) { + if ((ret = ff_rtmp_packet_create(p, channel_id, type, timestamp, + size)) < 0) Index: head/multimedia/mythtv/files/patch-CVE-2016-10192 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2016-10192 +++ head/multimedia/mythtv/files/patch-CVE-2016-10192 @@ -0,0 +1,40 @@ +From c12ee64e80af2517005231388fdf4ea78f16bb0e Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Mon, 5 Dec 2016 17:27:45 +0100 +Subject: [PATCH] ffserver: Check chunk size + +Fixes out of array access + +Fixes: poc_ffserver.py +Found-by: Paul Cher +Signed-off-by: Michael Niedermayer +(cherry picked from commit a5d25faa3f4b18dac737fdb35d0dd68eb0dc2156) +Signed-off-by: Michael Niedermayer +--- + ffserver.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git ffserver.c ffserver.c +index 453d790e6cd..aec808e78cb 100644 +--- external/FFmpeg/ffserver.c.orig ++++ external/FFmpeg/ffserver.c +@@ -2702,8 +2702,10 @@ static int http_receive_data(HTTPContext *c) + } else if (c->buffer_ptr - c->buffer >= 2 && + !memcmp(c->buffer_ptr - 1, "\r\n", 2)) { + c->chunk_size = strtol(c->buffer, 0, 16); +- if (c->chunk_size == 0) // end of stream ++ if (c->chunk_size <= 0) { // end of stream or invalid chunk size ++ c->chunk_size = 0; + goto fail; ++ } + c->buffer_ptr = c->buffer; + break; + } else if (++loop_run > 10) +@@ -2725,6 +2727,7 @@ static int http_receive_data(HTTPContext *c) + /* end of connection : close it */ + goto fail; + else { ++ av_assert0(len <= c->chunk_size); + c->chunk_size -= len; + c->buffer_ptr += len; + c->data_count += len; Index: head/multimedia/mythtv/files/patch-CVE-2017-05024 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-05024 +++ head/multimedia/mythtv/files/patch-CVE-2017-05024 @@ -0,0 +1,31 @@ +From ed2572b9c8f885e2a4764d2e34604442a71899a1 Mon Sep 17 00:00:00 2001 +From: Matt Wolenetz +Date: Wed, 14 Dec 2016 15:26:19 -0800 +Subject: [PATCH] lavf/mov.c: Avoid heap allocation wrap in mov_read_uuid + +Core of patch is from paul@paulmehta.com +Reference https://crbug.com/643951 + +Signed-off-by: Michael Niedermayer +Check value reduced as the code does not support values beyond INT_MAX +Also the check is moved to a more common place and before integer truncation + +(cherry picked from commit 2d453188c2303da641dafb048dc1806790526dfd) +Signed-off-by: Michael Niedermayer +--- + libavformat/mov.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git libavformat/mov.c libavformat/mov.c +index 17d0475aae1..74b58255784 100644 +--- external/FFmpeg/libavformat/mov.c ++++ external/FFmpeg/libavformat/mov.c +@@ -4436,7 +4436,7 @@ static int mov_read_uuid(MOVContext *c, AVIOContext *pb, MOVAtom atom) + 0x9c, 0x71, 0x99, 0x94, 0x91, 0xe3, 0xaf, 0xac + }; + +- if (atom.size < sizeof(uuid) || atom.size == INT64_MAX) ++ if (atom.size < sizeof(uuid) || atom.size >= FFMIN(INT_MAX, SIZE_MAX)) + return AVERROR_INVALIDDATA; + + ret = avio_read(pb, uuid, sizeof(uuid)); Index: head/multimedia/mythtv/files/patch-CVE-2017-05025 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-05025 +++ head/multimedia/mythtv/files/patch-CVE-2017-05025 @@ -0,0 +1,30 @@ +From cf8e004a51b08c6e8ceaeebca85ab84c7ed0b4cf Mon Sep 17 00:00:00 2001 +From: Matt Wolenetz +Date: Wed, 14 Dec 2016 15:24:42 -0800 +Subject: [PATCH] lavf/mov.c: Avoid heap allocation wrap in mov_read_hdlr + +Core of patch is from paul@paulmehta.com +Reference https://crbug.com/643950 + +Signed-off-by: Michael Niedermayer +Check value reduced as the code does not support larger lengths + +(cherry picked from commit fd30e4d57fe5841385f845440688505b88c0f4a9) +Signed-off-by: Michael Niedermayer +--- + libavformat/mov.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git libavformat/mov.c libavformat/mov.c +index 1e2141808da..17d0475aae1 100644 +--- external/FFmpeg/libavformat/mov.c ++++ external/FFmpeg/libavformat/mov.c +@@ -739,6 +739,8 @@ static int mov_read_hdlr(MOVContext *c, AVIOContext *pb, MOVAtom atom) + + title_size = atom.size - 24; + if (title_size > 0) { ++ if (title_size > FFMIN(INT_MAX, SIZE_MAX-1)) ++ return AVERROR_INVALIDDATA; + title_str = av_malloc(title_size + 1); /* Add null terminator */ + if (!title_str) + return AVERROR(ENOMEM); Index: head/multimedia/mythtv/files/patch-CVE-2017-07862 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-07862 +++ head/multimedia/mythtv/files/patch-CVE-2017-07862 @@ -0,0 +1,28 @@ +From a1a14982ec5b9954637cdc9ce8daf01d211e5c79 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Tue, 7 Feb 2017 15:49:09 +0100 +Subject: [PATCH] avcodec/pictordec: Fix logic error + +Fixes: 559/clusterfuzz-testcase-6424225917173760 + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg +Signed-off-by: Michael Niedermayer +(cherry picked from commit 8c2ea3030af7b40a3c4275696fb5c76cdb80950a) +Signed-off-by: Michael Niedermayer +--- + libavcodec/pictordec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git libavcodec/pictordec.c libavcodec/pictordec.c +index ff6eb7f4fc9..0cfc7858326 100644 +--- external/FFmpeg/libavcodec/pictordec.c ++++ external/FFmpeg/libavcodec/pictordec.c +@@ -142,7 +142,7 @@ static int decode_frame(AVCodecContext *avctx, + + if (av_image_check_size(s->width, s->height, 0, avctx) < 0) + return -1; +- if (s->width != avctx->width && s->height != avctx->height) { ++ if (s->width != avctx->width || s->height != avctx->height) { + ret = ff_set_dimensions(avctx, s->width, s->height); + if (ret < 0) + return ret; Index: head/multimedia/mythtv/files/patch-CVE-2017-07866 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-07866 +++ head/multimedia/mythtv/files/patch-CVE-2017-07866 @@ -0,0 +1,37 @@ +From bd6c1d5149fbc4f2a0200ad99e7f56f4fb7d518a Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Mon, 23 Jan 2017 01:25:27 +0100 +Subject: [PATCH] avcodec/pngdec: Fix off by 1 size in decode_zbuf() + +Fixes out of array access +Fixes: 444/fuzz-2-ffmpeg_VIDEO_AV_CODEC_ID_PNG_fuzzer + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg +Signed-off-by: Michael Niedermayer +(cherry picked from commit e371f031b942d73e02c090170975561fabd5c264) +Signed-off-by: Michael Niedermayer +--- + libavcodec/pngdec.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git libavcodec/pngdec.c libavcodec/pngdec.c +index 36275ae43f5..7ade0cee661 100644 +--- external/FFmpeg/libavcodec/pngdec.c ++++ external/FFmpeg/libavcodec/pngdec.c +@@ -437,13 +437,13 @@ static int decode_zbuf(AVBPrint *bp, const uint8_t *data, + av_bprint_init(bp, 0, -1); + + while (zstream.avail_in > 0) { +- av_bprint_get_buffer(bp, 1, &buf, &buf_size); +- if (!buf_size) { ++ av_bprint_get_buffer(bp, 2, &buf, &buf_size); ++ if (buf_size < 2) { + ret = AVERROR(ENOMEM); + goto fail; + } + zstream.next_out = buf; +- zstream.avail_out = buf_size; ++ zstream.avail_out = buf_size - 1; + ret = inflate(&zstream, Z_PARTIAL_FLUSH); + if (ret != Z_OK && ret != Z_STREAM_END) { + ret = AVERROR_EXTERNAL; Index: head/multimedia/mythtv/files/patch-CVE-2017-09608a =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-09608a +++ head/multimedia/mythtv/files/patch-CVE-2017-09608a @@ -0,0 +1,116 @@ +From e1940d2458353943e2fab6bdb87d2278077e22a5 Mon Sep 17 00:00:00 2001 +From: Paul B Mahol +Date: Mon, 20 Mar 2017 22:47:48 +0100 +Subject: [PATCH] avcodec/dnxhd_parser: take into account compressed frame size + and skip it + +Fixes #6214 and vsynth1-dnxhd-720p-hr-lb. + +Signed-off-by: Paul B Mahol +--- + libavcodec/dnxhd_parser.c | 65 +++++++++++++++++++++++++++---- + tests/ref/vsynth/vsynth1-dnxhd-720p-hr-lb | 4 +- + 2 files changed, 60 insertions(+), 9 deletions(-) + +diff --git a/libavcodec/dnxhd_parser.c b/libavcodec/dnxhd_parser.c +index 033b8ee7e11..4f9bbceeeb5 100644 +--- external/FFmpeg/libavcodec/dnxhd_parser.c ++++ external/FFmpeg/libavcodec/dnxhd_parser.c +@@ -31,8 +31,24 @@ typedef struct { + ParseContext pc; + int interlaced; + int cur_field; /* first field is 0, second is 1 */ ++ int cur_byte; ++ int remaining; ++ int w, h; + } DNXHDParserContext; + ++static int dnxhd_get_hr_frame_size(int cid, int w, int h) ++{ ++ int result, i = ff_dnxhd_get_cid_table(cid); ++ ++ if (i < 0) ++ return i; ++ ++ result = ((h + 15) / 16) * ((w + 15) / 16) * ff_dnxhd_cid_table[i].packet_scale.num / ff_dnxhd_cid_table[i].packet_scale.den; ++ result = (result + 2048) / 4096 * 4096; ++ ++ return FFMAX(result, 8192); ++} ++ + static int dnxhd_find_frame_end(DNXHDParserContext *dctx, + const uint8_t *buf, int buf_size) + { +@@ -51,30 +67,65 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, + pic_found = 1; + interlaced = (state&2)>>1; /* byte following the 5-byte header prefix */ + cur_field = state&1; ++ dctx->cur_byte = 0; ++ dctx->remaining = 0; + break; + } + } + } + +- if (pic_found) { ++ if (pic_found && !dctx->remaining) { + if (!buf_size) /* EOF considered as end of frame */ + return 0; + for (; i < buf_size; i++) { ++ dctx->cur_byte++; + state = (state << 8) | buf[i]; +- if (ff_dnxhd_check_header_prefix(state & 0xffffffffff00LL) != 0) { +- if (!interlaced || dctx->cur_field) { ++ ++ if (dctx->cur_byte == 24) { ++ dctx->h = (state >> 32) & 0xFFFF; ++ } else if (dctx->cur_byte == 26) { ++ dctx->w = (state >> 32) & 0xFFFF; ++ } else if (dctx->cur_byte == 42) { ++ int cid = (state >> 32) & 0xFFFFFFFF; ++ ++ if (cid <= 0) ++ continue; ++ ++ dctx->remaining = avpriv_dnxhd_get_frame_size(cid); ++ if (dctx->remaining <= 0) { ++ dctx->remaining = dnxhd_get_hr_frame_size(cid, dctx->w, dctx->h); ++ if (dctx->remaining <= 0) ++ return dctx->remaining; ++ } ++ if (buf_size - i >= dctx->remaining && (!dctx->interlaced || dctx->cur_field)) { ++ int remaining = dctx->remaining; ++ + pc->frame_start_found = 0; + pc->state64 = -1; + dctx->interlaced = interlaced; + dctx->cur_field = 0; +- return i - 5; ++ dctx->cur_byte = 0; ++ dctx->remaining = 0; ++ return remaining; + } else { +- /* continue, to get the second field */ +- dctx->interlaced = interlaced = (state&2)>>1; +- dctx->cur_field = cur_field = state&1; ++ dctx->remaining -= buf_size; + } + } + } ++ } else if (pic_found) { ++ if (dctx->remaining > buf_size) { ++ dctx->remaining -= buf_size; ++ } else { ++ int remaining = dctx->remaining; ++ ++ pc->frame_start_found = 0; ++ pc->state64 = -1; ++ dctx->interlaced = interlaced; ++ dctx->cur_field = 0; ++ dctx->cur_byte = 0; ++ dctx->remaining = 0; ++ return remaining; ++ } + } + pc->frame_start_found = pic_found; + pc->state64 = state; Index: head/multimedia/mythtv/files/patch-CVE-2017-09608b =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-09608b +++ head/multimedia/mythtv/files/patch-CVE-2017-09608b @@ -0,0 +1,82 @@ +From da693f8daa62cb76a2aa05021d6c8d53a1b816b2 Mon Sep 17 00:00:00 2001 +From: Paul B Mahol +Date: Sun, 23 Apr 2017 11:53:57 +0200 +Subject: [PATCH] avcodec/dnxhd_parser: fix parsing interlaced video, simplify + code + +There appears to be no need to treat interlaced videos differently, +also that code is flawed, as for at least one input cur_field would +be always 0. + +Fixes ticket #6344. + +Signed-off-by: Paul B Mahol +(cherry picked from commit ac30754a148df58822a272555d1f6f860e42037e) +--- + libavcodec/dnxhd_parser.c | 14 +------------- + 1 file changed, 1 insertion(+), 13 deletions(-) + +diff --git a/libavcodec/dnxhd_parser.c b/libavcodec/dnxhd_parser.c +index 4f9bbceeeb5..a1f632a620e 100644 +--- external/FFmpeg/libavcodec/dnxhd_parser.c ++++ external/FFmpeg/libavcodec/dnxhd_parser.c +@@ -29,8 +29,6 @@ + + typedef struct { + ParseContext pc; +- int interlaced; +- int cur_field; /* first field is 0, second is 1 */ + int cur_byte; + int remaining; + int w, h; +@@ -56,8 +54,6 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, + uint64_t state = pc->state64; + int pic_found = pc->frame_start_found; + int i = 0; +- int interlaced = dctx->interlaced; +- int cur_field = dctx->cur_field; + + if (!pic_found) { + for (i = 0; i < buf_size; i++) { +@@ -65,8 +61,6 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, + if (ff_dnxhd_check_header_prefix(state & 0xffffffffff00LL) != 0) { + i++; + pic_found = 1; +- interlaced = (state&2)>>1; /* byte following the 5-byte header prefix */ +- cur_field = state&1; + dctx->cur_byte = 0; + dctx->remaining = 0; + break; +@@ -97,13 +91,11 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, + if (dctx->remaining <= 0) + return dctx->remaining; + } +- if (buf_size - i >= dctx->remaining && (!dctx->interlaced || dctx->cur_field)) { ++ if (buf_size - i + 47 >= dctx->remaining) { + int remaining = dctx->remaining; + + pc->frame_start_found = 0; + pc->state64 = -1; +- dctx->interlaced = interlaced; +- dctx->cur_field = 0; + dctx->cur_byte = 0; + dctx->remaining = 0; + return remaining; +@@ -120,8 +112,6 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, + + pc->frame_start_found = 0; + pc->state64 = -1; +- dctx->interlaced = interlaced; +- dctx->cur_field = 0; + dctx->cur_byte = 0; + dctx->remaining = 0; + return remaining; +@@ -129,8 +119,6 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, + } + pc->frame_start_found = pic_found; + pc->state64 = state; +- dctx->interlaced = interlaced; +- dctx->cur_field = cur_field; + return END_NOT_FOUND; + } + Index: head/multimedia/mythtv/files/patch-CVE-2017-09608c =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-09608c +++ head/multimedia/mythtv/files/patch-CVE-2017-09608c @@ -0,0 +1,45 @@ +From 0a709e2a10b8288a0cc383547924ecfe285cef89 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Wed, 14 Jun 2017 16:58:20 +0200 +Subject: [PATCH] avcodec/dnxhd_parser: Do not return invalid value from + dnxhd_find_frame_end() on error + +Fixes: Null pointer dereference + +Fixes: CVE-2017-9608 +Found-by: Yihan Lian +Signed-off-by: Michael Niedermayer +(cherry picked from commit 611b35627488a8d0763e75c25ee0875c5b7987dd) +Signed-off-by: Michael Niedermayer +--- + libavcodec/dnxhd_parser.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/libavcodec/dnxhd_parser.c b/libavcodec/dnxhd_parser.c +index a1f632a620e..f1166be1007 100644 +--- external/FFmpeg/libavcodec/dnxhd_parser.c ++++ external/FFmpeg/libavcodec/dnxhd_parser.c +@@ -81,16 +81,18 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, + dctx->w = (state >> 32) & 0xFFFF; + } else if (dctx->cur_byte == 42) { + int cid = (state >> 32) & 0xFFFFFFFF; ++ int remaining; + + if (cid <= 0) + continue; + +- dctx->remaining = avpriv_dnxhd_get_frame_size(cid); +- if (dctx->remaining <= 0) { +- dctx->remaining = dnxhd_get_hr_frame_size(cid, dctx->w, dctx->h); +- if (dctx->remaining <= 0) +- return dctx->remaining; ++ remaining = avpriv_dnxhd_get_frame_size(cid); ++ if (remaining <= 0) { ++ remaining = dnxhd_get_hr_frame_size(cid, dctx->w, dctx->h); ++ if (remaining <= 0) ++ continue; + } ++ dctx->remaining = remaining; + if (buf_size - i + 47 >= dctx->remaining) { + int remaining = dctx->remaining; + Index: head/multimedia/mythtv/files/patch-CVE-2017-09991 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-09991 +++ head/multimedia/mythtv/files/patch-CVE-2017-09991 @@ -0,0 +1,32 @@ +From 85c8c0c826e78d159ea242ce64d7e8feeeeca741 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Sun, 7 May 2017 18:50:49 +0200 +Subject: [PATCH] avcodec/xwddec: Check bpp more completely + +Fixes out of array access +Fixes: 1399/clusterfuzz-testcase-minimized-4866094172995584 + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg +Signed-off-by: Michael Niedermayer +(cherry picked from commit 441026fcb13ac23aa10edc312bdacb6445a0ad06) +Signed-off-by: Michael Niedermayer +--- + libavcodec/xwddec.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git libavcodec/xwddec.c libavcodec/xwddec.c +index 64cd8418a20..8b0845fc013 100644 +--- external/FFmpeg/libavcodec/xwddec.c ++++ external/FFmpeg/libavcodec/xwddec.c +@@ -157,9 +157,9 @@ static int xwd_decode_frame(AVCodecContext *avctx, void *data, + case XWD_GRAY_SCALE: + if (bpp != 1 && bpp != 8) + return AVERROR_INVALIDDATA; +- if (pixdepth == 1) { ++ if (bpp == 1 && pixdepth == 1) { + avctx->pix_fmt = AV_PIX_FMT_MONOWHITE; +- } else if (pixdepth == 8) { ++ } else if (bpp == 8 && pixdepth == 8) { + avctx->pix_fmt = AV_PIX_FMT_GRAY8; + } + break; Index: head/multimedia/mythtv/files/patch-CVE-2017-09992 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-09992 +++ head/multimedia/mythtv/files/patch-CVE-2017-09992 @@ -0,0 +1,29 @@ +From 536af4212100dee1577fe2d30814762c58038efc Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Fri, 5 May 2017 20:42:11 +0200 +Subject: [PATCH] avcodec/dfa: Fix off by 1 error + +Fixes out of array access +Fixes: 1345/clusterfuzz-testcase-minimized-6062963045695488 + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg +Signed-off-by: Michael Niedermayer +(cherry picked from commit f52fbf4f3ed02a7d872d8a102006f29b4421f360) +Signed-off-by: Michael Niedermayer +--- + libavcodec/dfa.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git libavcodec/dfa.c libavcodec/dfa.c +index f45d019a792..5ddb647c4cb 100644 +--- external/FFmpeg/libavcodec/dfa.c ++++ external/FFmpeg/libavcodec/dfa.c +@@ -175,7 +175,7 @@ static int decode_dds1(GetByteContext *gb, uint8_t *frame, int width, int height + return AVERROR_INVALIDDATA; + frame += v; + } else { +- if (frame_end - frame < width + 3) ++ if (frame_end - frame < width + 4) + return AVERROR_INVALIDDATA; + frame[0] = frame[1] = + frame[width] = frame[width + 1] = bytestream2_get_byte(gb); Index: head/multimedia/mythtv/files/patch-CVE-2017-09993a =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-09993a +++ head/multimedia/mythtv/files/patch-CVE-2017-09993a @@ -0,0 +1,91 @@ +From 25dac3128b605f2867e3e0f0288b896f84d3a033 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Sat, 3 Jun 2017 21:20:04 +0200 +Subject: [PATCH] avformat/hls: Check local file extensions + +This reduces the attack surface of local file-system +information leaking. + +It prevents the existing exploit leading to an information leak. As +well as similar hypothetical attacks. + +Leaks of information from files and symlinks ending in common multimedia extensions +are still possible. But files with sensitive information like private keys and passwords +generally do not use common multimedia filename extensions. +It does not stop leaks via remote addresses in the LAN. + +The existing exploit depends on a specific decoder as well. +It does appear though that the exploit should be possible with any decoder. +The problem is that as long as sensitive information gets into the decoder, +the output of the decoder becomes sensitive as well. +The only obvious solution is to prevent access to sensitive information. Or to +disable hls or possibly some of its feature. More complex solutions like +checking the path to limit access to only subdirectories of the hls path may +work as an alternative. But such solutions are fragile and tricky to implement +portably and would not stop every possible attack nor would they work with all +valid hls files. + +Developers have expressed their dislike / objected to disabling hls by default as well +as disabling hls with local files. There also where objections against restricting +remote url file extensions. This here is a less robust but also lower +inconvenience solution. +It can be applied stand alone or together with other solutions. +limiting the check to local files was suggested by nevcairiel + +This recommits the security fix without the author name joke which was +originally requested by Nicolas. + +Found-by: Emil Lerner and Pavel Cheremushkin +Reported-by: Thierry Foucu + +Signed-off-by: Michael Niedermayer +(cherry picked from commit 189ff4219644532bdfa7bab28dfedaee4d6d4021) +Signed-off-by: Michael Niedermayer +--- + libavformat/hls.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git libavformat/hls.c libavformat/hls.c +index 2bf86fadc64..ffefd284f86 100644 +--- external/FFmpeg/libavformat/hls.c ++++ external/FFmpeg/libavformat/hls.c +@@ -204,6 +204,7 @@ typedef struct HLSContext { + char *http_proxy; ///< holds the address of the HTTP proxy server + AVDictionary *avio_opts; + int strict_std_compliance; ++ char *allowed_extensions; + } HLSContext; + + static int read_chomp_line(AVIOContext *s, char *buf, int maxlen) +@@ -618,8 +619,19 @@ static int open_url(AVFormatContext *s, AVIOContext **pb, const char *url, + return AVERROR_INVALIDDATA; + + // only http(s) & file are allowed +- if (!av_strstart(proto_name, "http", NULL) && !av_strstart(proto_name, "file", NULL)) ++ if (av_strstart(proto_name, "file", NULL)) { ++ if (strcmp(c->allowed_extensions, "ALL") && !av_match_ext(url, c->allowed_extensions)) { ++ av_log(s, AV_LOG_ERROR, ++ "Filename extension of \'%s\' is not a common multimedia extension, blocked for security reasons.\n" ++ "If you wish to override this adjust allowed_extensions, you can set it to \'ALL\' to allow all\n", ++ url); ++ return AVERROR_INVALIDDATA; ++ } ++ } else if (av_strstart(proto_name, "http", NULL)) { ++ ; ++ } else + return AVERROR_INVALIDDATA; ++ + if (!strncmp(proto_name, url, strlen(proto_name)) && url[strlen(proto_name)] == ':') + ; + else if (av_strstart(url, "crypto", NULL) && !strncmp(proto_name, url + 7, strlen(proto_name)) && url[7 + strlen(proto_name)] == ':') +@@ -2127,6 +2139,10 @@ static int hls_probe(AVProbeData *p) + static const AVOption hls_options[] = { + {"live_start_index", "segment index to start live streams at (negative values are from the end)", + OFFSET(live_start_index), AV_OPT_TYPE_INT, {.i64 = -3}, INT_MIN, INT_MAX, FLAGS}, ++ {"allowed_extensions", "List of file extensions that hls is allowed to access", ++ OFFSET(allowed_extensions), AV_OPT_TYPE_STRING, ++ {.str = "3gp,aac,avi,flac,mkv,m3u8,m4a,m4s,m4v,mpg,mov,mp2,mp3,mp4,mpeg,mpegts,ogg,ogv,oga,ts,vob,wav"}, ++ INT_MIN, INT_MAX, FLAGS}, + {NULL} + }; + Index: head/multimedia/mythtv/files/patch-CVE-2017-09993b =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-09993b +++ head/multimedia/mythtv/files/patch-CVE-2017-09993b @@ -0,0 +1,31 @@ +From 5415c88e370692a3cf10b998ab230b4a02fc237f Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Tue, 30 May 2017 21:29:20 +0200 +Subject: [PATCH] avformat/avidec: Limit formats in gab2 to srt and ass/ssa + +This prevents part of one exploit leading to an information leak + +Found-by: Emil Lerner and Pavel Cheremushkin +Reported-by: Thierry Foucu + +Signed-off-by: Michael Niedermayer +(cherry picked from commit a5d849b149ca67ced2d271dc84db0bc95a548abb) +Signed-off-by: Michael Niedermayer +--- + libavformat/avidec.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git libavformat/avidec.c libavformat/avidec.c +index ebd14abb12c..9afac825d43 100644 +--- external/FFmpeg/libavformat/avidec.c ++++ external/FFmpeg/libavformat/avidec.c +@@ -1098,6 +1098,9 @@ static int read_gab2_sub(AVFormatContext *s, AVStream *st, AVPacket *pkt) + if (!sub_demuxer) + goto error; + ++ if (strcmp(sub_demuxer->name, "srt") && strcmp(sub_demuxer->name, "ass")) ++ goto error; ++ + if (!(ast->sub_ctx = avformat_alloc_context())) + goto error; + Index: head/multimedia/mythtv/files/patch-CVE-2017-09994 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-09994 +++ head/multimedia/mythtv/files/patch-CVE-2017-09994 @@ -0,0 +1,47 @@ +From 869e8b1d0f549e926ecb246f916c9066f881db4a Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Wed, 10 May 2017 18:37:49 +0200 +Subject: [PATCH] avcodec/webp: Always set pix_fmt + +Fixes: out of array access +Fixes: 1434/clusterfuzz-testcase-minimized-6314998085189632 +Fixes: 1435/clusterfuzz-testcase-minimized-6483783723253760 + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg +Reviewed-by: "Ronald S. Bultje" +Signed-off-by: Michael Niedermayer +(cherry picked from commit 6b5d3fb26fb4be48e4966e4b1d97c2165538d4ef) +Signed-off-by: Michael Niedermayer +--- + libavcodec/vp8.c | 2 ++ + libavcodec/webp.c | 3 +-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git libavcodec/vp8.c libavcodec/vp8.c +index 068223920e4..63e78492848 100644 +--- external/FFmpeg/libavcodec/vp8.c ++++ external/FFmpeg/libavcodec/vp8.c +@@ -2548,6 +2548,8 @@ int vp78_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, + enum AVDiscard skip_thresh; + VP8Frame *av_uninit(curframe), *prev_frame; + ++ av_assert0(avctx->pix_fmt == AV_PIX_FMT_YUVA420P || avctx->pix_fmt == AV_PIX_FMT_YUV420P); ++ + if (is_vp7) + ret = vp7_decode_frame_header(s, avpkt->data, avpkt->size); + else +diff --git libavcodec/webp.c libavcodec/webp.c +index 7d23cc74356..b2ae5bcbba9 100644 +--- external/FFmpeg/libavcodec/webp.c ++++ external/FFmpeg/libavcodec/webp.c +@@ -1327,9 +1327,8 @@ static int vp8_lossy_decode_frame(AVCodecContext *avctx, AVFrame *p, + if (!s->initialized) { + ff_vp8_decode_init(avctx); + s->initialized = 1; +- if (s->has_alpha) +- avctx->pix_fmt = AV_PIX_FMT_YUVA420P; + } ++ avctx->pix_fmt = s->has_alpha ? AV_PIX_FMT_YUVA420P : AV_PIX_FMT_YUV420P; + s->lossless = 0; + + if (data_size > INT_MAX) { Index: head/multimedia/mythtv/files/patch-CVE-2017-09996a =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-09996a +++ head/multimedia/mythtv/files/patch-CVE-2017-09996a @@ -0,0 +1,29 @@ +From 7a69c1b2abfa96f0578cbd3ff82126b883ba6ef0 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Sat, 6 May 2017 22:24:52 +0200 +Subject: [PATCH] avcodec/cdxl: Check format parameter + +Fixes out of array access +Fixes: 1378/clusterfuzz-testcase-minimized-5715088008806400 + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg +Signed-off-by: Michael Niedermayer +(cherry picked from commit e1b60aad77c27ed5d4dfc11e5e6a05a38c70489d) +Signed-off-by: Michael Niedermayer +--- + libavcodec/cdxl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git libavcodec/cdxl.c libavcodec/cdxl.c +index 7a9b41943d8..5c0ecb279c7 100644 +--- external/FFmpeg/libavcodec/cdxl.c ++++ external/FFmpeg/libavcodec/cdxl.c +@@ -277,7 +277,7 @@ static int cdxl_decode_frame(AVCodecContext *avctx, void *data, + c->padded_bits = aligned_width - c->avctx->width; + if (c->video_size < aligned_width * avctx->height * (int64_t)c->bpp / 8) + return AVERROR_INVALIDDATA; +- if (!encoding && c->palette_size && c->bpp <= 8) { ++ if (!encoding && c->palette_size && c->bpp <= 8 && c->format != CHUNKY) { + avctx->pix_fmt = AV_PIX_FMT_PAL8; + } else if (encoding == 1 && (c->bpp == 6 || c->bpp == 8)) { + if (c->palette_size != (1 << (c->bpp - 1))) Index: head/multimedia/mythtv/files/patch-CVE-2017-09996b =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-09996b +++ head/multimedia/mythtv/files/patch-CVE-2017-09996b @@ -0,0 +1,29 @@ +From 7f3a671ece8fd711e2ebc71a4e08cda591d810a8 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Mon, 8 May 2017 11:46:03 +0200 +Subject: [PATCH] avcodec/cdxl: Check format for BGR24 + +Fixes: out of array access +Fixes: 1427/clusterfuzz-testcase-minimized-5020737339392000 + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg +Signed-off-by: Michael Niedermayer +(cherry picked from commit 1e42736b95065c69a7481d0cf55247024f54b660) +Signed-off-by: Michael Niedermayer +--- + libavcodec/cdxl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git libavcodec/cdxl.c libavcodec/cdxl.c +index 5c0ecb279c7..78f5d50102f 100644 +--- external/FFmpeg/libavcodec/cdxl.c ++++ external/FFmpeg/libavcodec/cdxl.c +@@ -279,7 +279,7 @@ static int cdxl_decode_frame(AVCodecContext *avctx, void *data, + return AVERROR_INVALIDDATA; + if (!encoding && c->palette_size && c->bpp <= 8 && c->format != CHUNKY) { + avctx->pix_fmt = AV_PIX_FMT_PAL8; +- } else if (encoding == 1 && (c->bpp == 6 || c->bpp == 8)) { ++ } else if (encoding == 1 && (c->bpp == 6 || c->bpp == 8) && c->format != CHUNKY) { + if (c->palette_size != (1 << (c->bpp - 1))) + return AVERROR_INVALIDDATA; + avctx->pix_fmt = AV_PIX_FMT_BGR24; Index: head/multimedia/mythtv/files/patch-CVE-2017-11399 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-11399 +++ head/multimedia/mythtv/files/patch-CVE-2017-11399 @@ -0,0 +1,49 @@ +From 5bb861d45b86803ec39295cfc04889d2a7138361 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Sun, 16 Jul 2017 14:57:20 +0200 +Subject: [PATCH] avcodec/apedec: Fix integer overflow + +Fixes: out of array access +Fixes: PoC.ape and others + +Found-by: Bingchang, Liu@VARAS of IIE +Signed-off-by: Michael Niedermayer +(cherry picked from commit ba4beaf6149f7241c8bd85fe853318c2f6837ad0) +Signed-off-by: Michael Niedermayer +--- + libavcodec/apedec.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git libavcodec/apedec.c libavcodec/apedec.c +index b99598b4ee7..072e3b42cff 100644 +--- external/FFmpeg/libavcodec/apedec.c ++++ external/FFmpeg/libavcodec/apedec.c +@@ -1412,6 +1412,7 @@ static int ape_decode_frame(AVCodecContext *avctx, void *data, + int32_t *sample24; + int i, ch, ret; + int blockstodecode; ++ uint64_t decoded_buffer_size; + + /* this should never be negative, but bad things will happen if it is, so + check it just to make sure. */ +@@ -1467,7 +1468,7 @@ static int ape_decode_frame(AVCodecContext *avctx, void *data, + skip_bits_long(&s->gb, offset); + } + +- if (!nblocks || nblocks > INT_MAX) { ++ if (!nblocks || nblocks > INT_MAX / 2 / sizeof(*s->decoded_buffer) - 8) { + av_log(avctx, AV_LOG_ERROR, "Invalid sample count: %"PRIu32".\n", + nblocks); + return AVERROR_INVALIDDATA; +@@ -1493,8 +1494,9 @@ static int ape_decode_frame(AVCodecContext *avctx, void *data, + blockstodecode = s->samples; + + /* reallocate decoded sample buffer if needed */ +- av_fast_malloc(&s->decoded_buffer, &s->decoded_size, +- 2 * FFALIGN(blockstodecode, 8) * sizeof(*s->decoded_buffer)); ++ decoded_buffer_size = 2LL * FFALIGN(blockstodecode, 8) * sizeof(*s->decoded_buffer); ++ av_assert0(decoded_buffer_size <= INT_MAX); ++ av_fast_malloc(&s->decoded_buffer, &s->decoded_size, decoded_buffer_size); + if (!s->decoded_buffer) + return AVERROR(ENOMEM); + memset(s->decoded_buffer, 0, s->decoded_size); Index: head/multimedia/mythtv/files/patch-CVE-2017-11665a =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-11665a +++ head/multimedia/mythtv/files/patch-CVE-2017-11665a @@ -0,0 +1,119 @@ +From f2a6f41dd7b962e0dd24fe695b002532a42e2230 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Fri, 28 Jul 2017 13:41:59 +0200 +Subject: [PATCH] avformat/rtmppkt: Convert ff_amf_tag_size() to bytestream2 + +Fixes: out of array accesses +Fixes: crash-9238fa9e8d4fde3beda1f279626f53812cb001cb-SEGV + +Found-by: JunDong Xie of Ant-financial Light-Year Security Lab +Signed-off-by: Michael Niedermayer +(cherry picked from commit 08c073434e25cba8c43aae5ed9554fdd594adfb0) +Signed-off-by: Michael Niedermayer +--- + libavformat/rtmppkt.c | 68 ++++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 48 insertions(+), 20 deletions(-) + +diff --git libavformat/rtmppkt.c libavformat/rtmppkt.c +index cde0da78ce1..2ea88d09c57 100644 +--- external/FFmpeg/libavformat/rtmppkt.c ++++ external/FFmpeg/libavformat/rtmppkt.c +@@ -433,50 +433,78 @@ void ff_rtmp_packet_destroy(RTMPPacket *pkt) + pkt->size = 0; + } + +-int ff_amf_tag_size(const uint8_t *data, const uint8_t *data_end) ++static int amf_tag_skip(GetByteContext *gb) + { +- const uint8_t *base = data; + AMFDataType type; + unsigned nb = -1; + int parse_key = 1; + +- if (data >= data_end) ++ if (bytestream2_get_bytes_left(gb) < 1) + return -1; +- switch ((type = *data++)) { +- case AMF_DATA_TYPE_NUMBER: return 9; +- case AMF_DATA_TYPE_BOOL: return 2; +- case AMF_DATA_TYPE_STRING: return 3 + AV_RB16(data); +- case AMF_DATA_TYPE_LONG_STRING: return 5 + AV_RB32(data); +- case AMF_DATA_TYPE_NULL: return 1; +- case AMF_DATA_TYPE_DATE: return 11; ++ ++ type = bytestream2_get_byte(gb); ++ switch (type) { ++ case AMF_DATA_TYPE_NUMBER: ++ bytestream2_get_be64(gb); ++ return 0; ++ case AMF_DATA_TYPE_BOOL: ++ bytestream2_get_byte(gb); ++ return 0; ++ case AMF_DATA_TYPE_STRING: ++ bytestream2_skip(gb, bytestream2_get_be16(gb)); ++ return 0; ++ case AMF_DATA_TYPE_LONG_STRING: ++ bytestream2_skip(gb, bytestream2_get_be32(gb)); ++ return 0; ++ case AMF_DATA_TYPE_NULL: ++ return 0; ++ case AMF_DATA_TYPE_DATE: ++ bytestream2_skip(gb, 10); ++ return 0; + case AMF_DATA_TYPE_ARRAY: + parse_key = 0; + case AMF_DATA_TYPE_MIXEDARRAY: +- nb = bytestream_get_be32(&data); ++ nb = bytestream2_get_be32(gb); + case AMF_DATA_TYPE_OBJECT: + while (nb-- > 0 || type != AMF_DATA_TYPE_ARRAY) { + int t; + if (parse_key) { +- int size = bytestream_get_be16(&data); ++ int size = bytestream2_get_be16(gb); + if (!size) { +- data++; ++ bytestream2_get_byte(gb); + break; + } +- if (size < 0 || size >= data_end - data) ++ if (size < 0 || size >= bytestream2_get_bytes_left(gb)) + return -1; +- data += size; ++ bytestream2_skip(gb, size); + } +- t = ff_amf_tag_size(data, data_end); +- if (t < 0 || t >= data_end - data) ++ t = amf_tag_skip(gb); ++ if (t < 0 || bytestream2_get_bytes_left(gb) <= 0) + return -1; +- data += t; + } +- return data - base; +- case AMF_DATA_TYPE_OBJECT_END: return 1; ++ return 0; ++ case AMF_DATA_TYPE_OBJECT_END: return 0; + default: return -1; + } + } + ++int ff_amf_tag_size(const uint8_t *data, const uint8_t *data_end) ++{ ++ GetByteContext gb; ++ int ret; ++ ++ if (data >= data_end) ++ return -1; ++ ++ bytestream2_init(&gb, data, data_end - data); ++ ++ ret = amf_tag_skip(&gb); ++ if (ret < 0 || bytestream2_get_bytes_left(&gb) <= 0) ++ return -1; ++ av_assert0(bytestream2_tell(&gb) >= 0 && bytestream2_tell(&gb) <= data_end - data); ++ return bytestream2_tell(&gb); ++} ++ + int ff_amf_get_field_value(const uint8_t *data, const uint8_t *data_end, + const uint8_t *name, uint8_t *dst, int dst_size) + { Index: head/multimedia/mythtv/files/patch-CVE-2017-11665b =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-11665b +++ head/multimedia/mythtv/files/patch-CVE-2017-11665b @@ -0,0 +1,111 @@ +From b375cc8bb74a33a7b38175023ee337b1c378281f Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Fri, 28 Jul 2017 14:37:26 +0200 +Subject: [PATCH] avformat/rtmppkt: Convert ff_amf_get_field_value() to + bytestream2 + +Fixes: out of array accesses + +Found-by: JunDong Xie of Ant-financial Light-Year Security Lab +Signed-off-by: Michael Niedermayer +(cherry picked from commit ffcc82219cef0928bed2d558b19ef6ea35634130) +Signed-off-by: Michael Niedermayer +--- + libavformat/rtmppkt.c | 57 +++++++++++++++++++++++++++++++++------------------ + 1 file changed, 37 insertions(+), 20 deletions(-) + +diff --git libavformat/rtmppkt.c libavformat/rtmppkt.c +index 2ea88d09c57..ca7838868e0 100644 +--- external/FFmpeg/libavformat/rtmppkt.c ++++ external/FFmpeg/libavformat/rtmppkt.c +@@ -505,53 +505,70 @@ int ff_amf_tag_size(const uint8_t *data, const uint8_t *data_end) + return bytestream2_tell(&gb); + } + +-int ff_amf_get_field_value(const uint8_t *data, const uint8_t *data_end, ++static int amf_get_field_value2(GetByteContext *gb, + const uint8_t *name, uint8_t *dst, int dst_size) + { + int namelen = strlen(name); + int len; + +- while (*data != AMF_DATA_TYPE_OBJECT && data < data_end) { +- len = ff_amf_tag_size(data, data_end); +- if (len < 0) +- len = data_end - data; +- data += len; ++ while (bytestream2_peek_byte(gb) != AMF_DATA_TYPE_OBJECT && bytestream2_get_bytes_left(gb) > 0) { ++ int ret = amf_tag_skip(gb); ++ if (ret < 0) ++ return -1; + } +- if (data_end - data < 3) ++ if (bytestream2_get_bytes_left(gb) < 3) + return -1; +- data++; ++ bytestream2_get_byte(gb); ++ + for (;;) { +- int size = bytestream_get_be16(&data); ++ int size = bytestream2_get_be16(gb); + if (!size) + break; +- if (size < 0 || size >= data_end - data) ++ if (size < 0 || size >= bytestream2_get_bytes_left(gb)) + return -1; +- data += size; +- if (size == namelen && !memcmp(data-size, name, namelen)) { +- switch (*data++) { ++ bytestream2_skip(gb, size); ++ if (size == namelen && !memcmp(gb->buffer-size, name, namelen)) { ++ switch (bytestream2_get_byte(gb)) { + case AMF_DATA_TYPE_NUMBER: +- snprintf(dst, dst_size, "%g", av_int2double(AV_RB64(data))); ++ snprintf(dst, dst_size, "%g", av_int2double(bytestream2_get_be64(gb))); + break; + case AMF_DATA_TYPE_BOOL: +- snprintf(dst, dst_size, "%s", *data ? "true" : "false"); ++ snprintf(dst, dst_size, "%s", bytestream2_get_byte(gb) ? "true" : "false"); + break; + case AMF_DATA_TYPE_STRING: +- len = bytestream_get_be16(&data); +- av_strlcpy(dst, data, FFMIN(len+1, dst_size)); ++ len = bytestream2_get_be16(gb); ++ if (dst_size < 1) ++ return -1; ++ if (dst_size < len + 1) ++ len = dst_size - 1; ++ bytestream2_get_buffer(gb, dst, len); ++ dst[len] = 0; + break; + default: + return -1; + } + return 0; + } +- len = ff_amf_tag_size(data, data_end); +- if (len < 0 || len >= data_end - data) ++ len = amf_tag_skip(gb); ++ if (len < 0 || bytestream2_get_bytes_left(gb) <= 0) + return -1; +- data += len; + } + return -1; + } + ++int ff_amf_get_field_value(const uint8_t *data, const uint8_t *data_end, ++ const uint8_t *name, uint8_t *dst, int dst_size) ++{ ++ GetByteContext gb; ++ ++ if (data >= data_end) ++ return -1; ++ ++ bytestream2_init(&gb, data, data_end - data); ++ ++ return amf_get_field_value2(&gb, name, dst, dst_size); ++} ++ + static const char* rtmp_packet_type(int type) + { + switch (type) { Index: head/multimedia/mythtv/files/patch-CVE-2017-11719 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-11719 +++ head/multimedia/mythtv/files/patch-CVE-2017-11719 @@ -0,0 +1,41 @@ +From 6a10b962e3053b9fc851fcce23a60ac653abdc8c Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Wed, 26 Jul 2017 03:26:59 +0200 +Subject: [PATCH] avcodec/dnxhddec: Move mb height check out of non hr branch + +Fixes: out of array access +Fixes: poc.dnxhd + +Found-by: Bingchang, Liu@VARAS of IIE +Signed-off-by: Michael Niedermayer +(cherry picked from commit 296debd213bd6dce7647cedd34eb64e5b94cdc92) +Signed-off-by: Michael Niedermayer +--- + libavcodec/dnxhddec.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git libavcodec/dnxhddec.c libavcodec/dnxhddec.c +index 4d1b006bb50..66a0de2e627 100644 +--- external/FFmpeg/libavcodec/dnxhddec.c ++++ external/FFmpeg/libavcodec/dnxhddec.c +@@ -294,14 +294,18 @@ static int dnxhd_decode_header(DNXHDContext *ctx, AVFrame *frame, + if (ctx->mb_height > 68 && ff_dnxhd_check_header_prefix_hr(header_prefix)) { + ctx->data_offset = 0x170 + (ctx->mb_height << 2); + } else { +- if (ctx->mb_height > 68 || +- (ctx->mb_height << frame->interlaced_frame) > (ctx->height + 15) >> 4) { ++ if (ctx->mb_height > 68) { + av_log(ctx->avctx, AV_LOG_ERROR, + "mb height too big: %d\n", ctx->mb_height); + return AVERROR_INVALIDDATA; + } + ctx->data_offset = 0x280; + } ++ if ((ctx->mb_height << frame->interlaced_frame) > (ctx->height + 15) >> 4) { ++ av_log(ctx->avctx, AV_LOG_ERROR, ++ "mb height too big: %d\n", ctx->mb_height); ++ return AVERROR_INVALIDDATA; ++ } + + if (buf_size < ctx->data_offset) { + av_log(ctx->avctx, AV_LOG_ERROR, Index: head/multimedia/mythtv/files/patch-CVE-2017-14054 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14054 +++ head/multimedia/mythtv/files/patch-CVE-2017-14054 @@ -0,0 +1,33 @@ +From 2bbef8ee271240ce4509b23fd33e35076715a39f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=20and=20=E5=BC=A0=E6=B4=AA=E4=BA=AE=28?= + =?UTF-8?q?=E6=9C=9B=E5=88=9D=29?= +Date: Fri, 25 Aug 2017 01:15:28 +0200 +Subject: [PATCH] avformat/rmdec: Fix DoS due to lack of eof check + +Fixes: loop.ivr + +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer +(cherry picked from commit 124eb202e70678539544f6268efc98131f19fa49) +Signed-off-by: Michael Niedermayer +--- + libavformat/rmdec.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git libavformat/rmdec.c libavformat/rmdec.c +index 4d565291af2..7656812eb16 100644 +--- external/FFmpeg/libavformat/rmdec.c ++++ external/FFmpeg/libavformat/rmdec.c +@@ -1238,8 +1238,11 @@ static int ivr_read_header(AVFormatContext *s) + av_log(s, AV_LOG_DEBUG, "%s = '%s'\n", key, val); + } else if (type == 4) { + av_log(s, AV_LOG_DEBUG, "%s = '0x", key); +- for (j = 0; j < len; j++) ++ for (j = 0; j < len; j++) { ++ if (avio_feof(pb)) ++ return AVERROR_INVALIDDATA; + av_log(s, AV_LOG_DEBUG, "%X", avio_r8(pb)); ++ } + av_log(s, AV_LOG_DEBUG, "'\n"); + } else if (len == 4 && type == 3 && !strncmp(key, "StreamCount", tlen)) { + nb_streams = value = avio_rb32(pb); Index: head/multimedia/mythtv/files/patch-CVE-2017-14055 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14055 +++ head/multimedia/mythtv/files/patch-CVE-2017-14055 @@ -0,0 +1,28 @@ +From d4fc6b211f19365fbae4b4388ec396b293fda249 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Fri, 25 Aug 2017 01:15:30 +0200 +Subject: [PATCH] avformat/mvdec: Fix DoS due to lack of eof check + +Fixes: loop.mv + +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer +(cherry picked from commit 4f05e2e2dc1a89f38cd9f0960a6561083d714f1e) +Signed-off-by: Michael Niedermayer +--- + libavformat/mvdec.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git libavformat/mvdec.c libavformat/mvdec.c +index 80ef4b1569a..e9e9fab5036 100644 +--- external/FFmpeg/libavformat/mvdec.c ++++ external/FFmpeg/libavformat/mvdec.c +@@ -338,6 +338,8 @@ static int mv_read_header(AVFormatContext *avctx) + uint32_t pos = avio_rb32(pb); + uint32_t asize = avio_rb32(pb); + uint32_t vsize = avio_rb32(pb); ++ if (avio_feof(pb)) ++ return AVERROR_INVALIDDATA; + avio_skip(pb, 8); + av_add_index_entry(ast, pos, timestamp, asize, 0, AVINDEX_KEYFRAME); + av_add_index_entry(vst, pos + asize, i, vsize, 0, AVINDEX_KEYFRAME); Index: head/multimedia/mythtv/files/patch-CVE-2017-14056 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14056 +++ head/multimedia/mythtv/files/patch-CVE-2017-14056 @@ -0,0 +1,45 @@ +From 5bc9f70441d7e7067cba9188898c9252c72bab35 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=20and=20=E5=BC=A0=E6=B4=AA=E4=BA=AE=28?= + =?UTF-8?q?=E6=9C=9B=E5=88=9D=29?= +Date: Fri, 25 Aug 2017 01:15:29 +0200 +Subject: [PATCH] avformat/rl2: Fix DoS due to lack of eof check + +Fixes: loop.rl2 + +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer +(cherry picked from commit 96f24d1bee7fe7bac08e2b7c74db1a046c9dc0de) +Signed-off-by: Michael Niedermayer +--- + libavformat/rl2.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git libavformat/rl2.c libavformat/rl2.c +index 0bec8f1d9ab..eb1682dfcb7 100644 +--- external/FFmpeg/libavformat/rl2.c ++++ external/FFmpeg/libavformat/rl2.c +@@ -170,12 +170,21 @@ static av_cold int rl2_read_header(AVFormatContext *s) + } + + /** read offset and size tables */ +- for(i=0; i < frame_count;i++) ++ for(i=0; i < frame_count;i++) { ++ if (avio_feof(pb)) ++ return AVERROR_INVALIDDATA; + chunk_size[i] = avio_rl32(pb); +- for(i=0; i < frame_count;i++) ++ } ++ for(i=0; i < frame_count;i++) { ++ if (avio_feof(pb)) ++ return AVERROR_INVALIDDATA; + chunk_offset[i] = avio_rl32(pb); +- for(i=0; i < frame_count;i++) ++ } ++ for(i=0; i < frame_count;i++) { ++ if (avio_feof(pb)) ++ return AVERROR_INVALIDDATA; + audio_size[i] = avio_rl32(pb) & 0xFFFF; ++ } + + /** build the sample index */ + for(i=0;i +Date: Fri, 25 Aug 2017 12:37:25 +0200 +Subject: [PATCH] avformat/asfdec: Fix DoS due to lack of eof check + +Fixes: loop.asf + +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer +(cherry picked from commit 7f9ec5593e04827249e7aeb466da06a98a0d7329) +Signed-off-by: Michael Niedermayer +--- + libavformat/asfdec_f.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git libavformat/asfdec_f.c libavformat/asfdec_f.c +index b973eff96e4..2cacafe50d5 100644 +--- external/FFmpeg/libavformat/asfdec_f.c ++++ external/FFmpeg/libavformat/asfdec_f.c +@@ -749,13 +749,15 @@ static int asf_read_marker(AVFormatContext *s, int64_t size) + count = avio_rl32(pb); // markers count + avio_rl16(pb); // reserved 2 bytes + name_len = avio_rl16(pb); // name length +- for (i = 0; i < name_len; i++) +- avio_r8(pb); // skip the name ++ avio_skip(pb, name_len); + + for (i = 0; i < count; i++) { + int64_t pres_time; + int name_len; + ++ if (avio_feof(pb)) ++ return AVERROR_INVALIDDATA; ++ + avio_rl64(pb); // offset, 8 bytes + pres_time = avio_rl64(pb); // presentation time + pres_time -= asf->hdr.preroll * 10000; Index: head/multimedia/mythtv/files/patch-CVE-2017-14058 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14058 +++ head/multimedia/mythtv/files/patch-CVE-2017-14058 @@ -0,0 +1,88 @@ +From 2920c7cec0b1958b59e5e7990078bea4428f6912 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Sat, 26 Aug 2017 01:26:58 +0200 +Subject: [PATCH] avformat/hls: Fix DoS due to infinite loop + +Fixes: loop.m3u + +The default max iteration count of 1000 is arbitrary and ideas for a better solution are welcome + +Found-by: Xiaohei and Wangchu from Alibaba Security Team + +Previous version reviewed-by: Steven Liu +Signed-off-by: Michael Niedermayer +(cherry picked from commit 7ec414892ddcad88313848494b6fc5f437c9ca4a) +Signed-off-by: Michael Niedermayer +--- + doc/demuxers.texi | 18 ++++++++++++++++++ + libavformat/hls.c | 7 +++++++ + 2 files changed, 25 insertions(+) + +diff --git doc/demuxers.texi doc/demuxers.texi +index 2934a1cf7f4..d56ad1622a8 100644 +--- external/FFmpeg/doc/demuxers.texi ++++ external/FFmpeg/doc/demuxers.texi +@@ -293,6 +293,24 @@ used to end the output video at the length of the shortest input file, + which in this case is @file{input.mp4} as the GIF in this example loops + infinitely. + ++@section hls ++ ++HLS demuxer ++ ++It accepts the following options: ++ ++@table @option ++@item live_start_index ++segment index to start live streams at (negative values are from the end). ++ ++@item allowed_extensions ++',' separated list of file extensions that hls is allowed to access. ++ ++@item max_reload ++Maximum number of times a insufficient list is attempted to be reloaded. ++Default value is 1000. ++@end table ++ + @section image2 + + Image file demuxer. +diff --git libavformat/hls.c libavformat/hls.c +index ffefd284f86..87948726da6 100644 +--- external/FFmpeg/libavformat/hls.c ++++ external/FFmpeg/libavformat/hls.c +@@ -205,6 +205,7 @@ typedef struct HLSContext { + AVDictionary *avio_opts; + int strict_std_compliance; + char *allowed_extensions; ++ int max_reload; + } HLSContext; + + static int read_chomp_line(AVIOContext *s, char *buf, int maxlen) +@@ -1255,6 +1256,7 @@ static int read_data(void *opaque, uint8_t *buf, int buf_size) + HLSContext *c = v->parent->priv_data; + int ret, i; + int just_opened = 0; ++ int reload_count = 0; + + restart: + if (!v->needed) +@@ -1286,6 +1288,9 @@ static int read_data(void *opaque, uint8_t *buf, int buf_size) + reload_interval = default_reload_interval(v); + + reload: ++ reload_count++; ++ if (reload_count > c->max_reload) ++ return AVERROR_EOF; + if (!v->finished && + av_gettime_relative() - v->last_load_time >= reload_interval) { + if ((ret = parse_playlist(c, v->url, v, NULL)) < 0) { +@@ -2143,6 +2148,8 @@ static const AVOption hls_options[] = { + OFFSET(allowed_extensions), AV_OPT_TYPE_STRING, + {.str = "3gp,aac,avi,flac,mkv,m3u8,m4a,m4s,m4v,mpg,mov,mp2,mp3,mp4,mpeg,mpegts,ogg,ogv,oga,ts,vob,wav"}, + INT_MIN, INT_MAX, FLAGS}, ++ {"max_reload", "Maximum number of times a insufficient list is attempted to be reloaded", ++ OFFSET(max_reload), AV_OPT_TYPE_INT, {.i64 = 1000}, 0, INT_MAX, FLAGS}, + {NULL} + }; + Index: head/multimedia/mythtv/files/patch-CVE-2017-14059 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14059 +++ head/multimedia/mythtv/files/patch-CVE-2017-14059 @@ -0,0 +1,34 @@ +From 98e177c7288574b336d80618f4ec5d1f94243070 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=20and=20=E5=BC=A0=E6=B4=AA=E4=BA=AE=28?= + =?UTF-8?q?=E6=9C=9B=E5=88=9D=29?= +Date: Fri, 25 Aug 2017 01:15:27 +0200 +Subject: [PATCH] avformat/cinedec: Fix DoS due to lack of eof check + +Fixes: loop.cine + +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer +(cherry picked from commit 7e80b63ecd259d69d383623e75b318bf2bd491f6) +Signed-off-by: Michael Niedermayer +--- + libavformat/cinedec.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git libavformat/cinedec.c libavformat/cinedec.c +index 32cccf566b4..c615d4fc497 100644 +--- external/FFmpeg/libavformat/cinedec.c ++++ external/FFmpeg/libavformat/cinedec.c +@@ -267,8 +267,12 @@ static int cine_read_header(AVFormatContext *avctx) + + /* parse image offsets */ + avio_seek(pb, offImageOffsets, SEEK_SET); +- for (i = 0; i < st->duration; i++) ++ for (i = 0; i < st->duration; i++) { ++ if (avio_feof(pb)) ++ return AVERROR_INVALIDDATA; ++ + av_add_index_entry(st, avio_rl64(pb), i, 0, 0, AVINDEX_KEYFRAME); ++ } + + return 0; + } Index: head/multimedia/mythtv/files/patch-CVE-2017-14169 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14169 +++ head/multimedia/mythtv/files/patch-CVE-2017-14169 @@ -0,0 +1,33 @@ +From 816f7337bf3ed3e08afdc28278668d8eb81910cb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=28=E6=99=93=E9=BB=91=29?= + +Date: Tue, 29 Aug 2017 23:59:21 +0200 +Subject: [PATCH] avformat/mxfdec: Fix Sign error in mxf_read_primer_pack() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: 20170829B.mxf + +Co-Author: 张洪亮(望初)" +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer +(cherry picked from commit 9d00fb9d70ee8c0cc7002b89318c5be00f1bbdad) +Signed-off-by: Michael Niedermayer +--- + libavformat/mxfdec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git libavformat/mxfdec.c libavformat/mxfdec.c +index e2e34b246f7..0e9153847e8 100644 +--- external/FFmpeg/libavformat/mxfdec.c ++++ external/FFmpeg/libavformat/mxfdec.c +@@ -500,7 +500,7 @@ static int mxf_read_primer_pack(void *arg, AVIOContext *pb, int tag, int size, U + avpriv_request_sample(pb, "Primer pack item length %d", item_len); + return AVERROR_PATCHWELCOME; + } +- if (item_num > 65536) { ++ if (item_num > 65536 || item_num < 0) { + av_log(mxf->fc, AV_LOG_ERROR, "item_num %d is too large\n", item_num); + return AVERROR_INVALIDDATA; + } Index: head/multimedia/mythtv/files/patch-CVE-2017-14170 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14170 +++ head/multimedia/mythtv/files/patch-CVE-2017-14170 @@ -0,0 +1,43 @@ +From 9cbac3602610afa0867b03bc1475c5c13441d096 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=28=E6=99=93=E9=BB=91=29?= + +Date: Tue, 29 Aug 2017 23:59:21 +0200 +Subject: [PATCH] avformat/mxfdec: Fix DoS issues in + mxf_read_index_entry_array() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: 20170829A.mxf + +Co-Author: 张洪亮(望初)" +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer +(cherry picked from commit 900f39692ca0337a98a7cf047e4e2611071810c2) +Signed-off-by: Michael Niedermayer +--- + libavformat/mxfdec.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git libavformat/mxfdec.c libavformat/mxfdec.c +index 2ad0c288f89..e2e34b246f7 100644 +--- external/FFmpeg/libavformat/mxfdec.c ++++ external/FFmpeg/libavformat/mxfdec.c +@@ -899,6 +899,8 @@ static int mxf_read_index_entry_array(AVIOContext *pb, MXFIndexTableSegment *seg + segment->nb_index_entries = avio_rb32(pb); + + length = avio_rb32(pb); ++ if(segment->nb_index_entries && length < 11) ++ return AVERROR_INVALIDDATA; + + if (!(segment->temporal_offset_entries=av_calloc(segment->nb_index_entries, sizeof(*segment->temporal_offset_entries))) || + !(segment->flag_entries = av_calloc(segment->nb_index_entries, sizeof(*segment->flag_entries))) || +@@ -909,6 +911,8 @@ static int mxf_read_index_entry_array(AVIOContext *pb, MXFIndexTableSegment *seg + } + + for (i = 0; i < segment->nb_index_entries; i++) { ++ if(avio_feof(pb)) ++ return AVERROR_INVALIDDATA; + segment->temporal_offset_entries[i] = avio_r8(pb); + avio_r8(pb); /* KeyFrameOffset */ + segment->flag_entries[i] = avio_r8(pb); Index: head/multimedia/mythtv/files/patch-CVE-2017-14171 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14171 +++ head/multimedia/mythtv/files/patch-CVE-2017-14171 @@ -0,0 +1,38 @@ +From a051de092e9c709b69d24d94b66a382909be67d5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=28=E6=99=93=E9=BB=91=29?= + +Date: Tue, 29 Aug 2017 23:59:21 +0200 +Subject: [PATCH] avformat/nsvdec: Fix DoS due to lack of eof check in + nsvs_file_offset loop. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: 20170829.nsv + +Co-Author: 张洪亮(望初)" +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer +(cherry picked from commit c24bcb553650b91e9eff15ef6e54ca73de2453b7) +Signed-off-by: Michael Niedermayer +--- + libavformat/nsvdec.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git libavformat/nsvdec.c libavformat/nsvdec.c +index 507fb396a51..16d2fa59e21 100644 +--- external/FFmpeg/libavformat/nsvdec.c ++++ external/FFmpeg/libavformat/nsvdec.c +@@ -350,8 +350,11 @@ static int nsv_parse_NSVf_header(AVFormatContext *s) + if (!nsv->nsvs_file_offset) + return AVERROR(ENOMEM); + +- for(i=0;insvs_file_offset[i] = avio_rl32(pb) + size; ++ } + + if(table_entries > table_entries_used && + avio_rl32(pb) == MKTAG('T','O','C','2')) { Index: head/multimedia/mythtv/files/patch-CVE-2017-14222 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14222 +++ head/multimedia/mythtv/files/patch-CVE-2017-14222 @@ -0,0 +1,34 @@ +From c9527df274ada02a19c2f973b29d1d5b7069d4bf Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Tue, 5 Sep 2017 00:16:29 +0200 +Subject: [PATCH] avformat/mov: Fix DoS in read_tfra() + +Fixes: Missing EOF check in loop +No testcase + +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer +(cherry picked from commit 9cb4eb772839c5e1de2855d126bf74ff16d13382) +Signed-off-by: Michael Niedermayer +--- + libavformat/mov.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git libavformat/mov.c libavformat/mov.c +index 405476fd712..b97aa001a37 100644 +--- external/FFmpeg/libavformat/mov.c ++++ external/FFmpeg/libavformat/mov.c +@@ -5394,6 +5394,13 @@ static int read_tfra(MOVContext *mov, AVIOContext *f) + } + for (i = 0; i < index->item_count; i++) { + int64_t time, offset; ++ ++ if (avio_feof(f)) { ++ index->item_count = 0; ++ av_freep(&index->items); ++ return AVERROR_INVALIDDATA; ++ } ++ + if (version == 1) { + time = avio_rb64(f); + offset = avio_rb64(f); Index: head/multimedia/mythtv/files/patch-CVE-2017-14223 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14223 +++ head/multimedia/mythtv/files/patch-CVE-2017-14223 @@ -0,0 +1,32 @@ +From 4e4177dde23be77a97887f409f237e17ef53f329 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Tue, 5 Sep 2017 00:16:29 +0200 +Subject: [PATCH] avformat/asfdec: Fix DoS in asf_build_simple_index() + +Fixes: Missing EOF check in loop +No testcase + +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer +(cherry picked from commit afc9c683ed9db01edb357bc8c19edad4282b3a97) +Signed-off-by: Michael Niedermayer +--- + libavformat/asfdec_f.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git libavformat/asfdec_f.c libavformat/asfdec_f.c +index 2cacafe50d5..d9dfbf0fa33 100644 +--- external/FFmpeg/libavformat/asfdec_f.c ++++ external/FFmpeg/libavformat/asfdec_f.c +@@ -1610,6 +1610,11 @@ static int asf_build_simple_index(AVFormatContext *s, int stream_index) + int64_t pos = s->internal->data_offset + s->packet_size * (int64_t)pktnum; + int64_t index_pts = FFMAX(av_rescale(itime, i, 10000) - asf->hdr.preroll, 0); + ++ if (avio_feof(s->pb)) { ++ ret = AVERROR_INVALIDDATA; ++ goto end; ++ } ++ + if (pos != last_pos) { + av_log(s, AV_LOG_DEBUG, "pktnum:%d, pktct:%d pts: %"PRId64"\n", + pktnum, pktct, index_pts); Index: head/multimedia/mythtv/files/patch-CVE-2017-14225 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14225 +++ head/multimedia/mythtv/files/patch-CVE-2017-14225 @@ -0,0 +1,48 @@ +From 726133b6d2cd8f5f43b5af536024d8e02791d8cf Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Tue, 22 Aug 2017 11:02:38 +0200 +Subject: [PATCH] ffprobe: Fix null pointer dereference with color primaries + +Found-by: AD-lab of venustech +Signed-off-by: Michael Niedermayer +(cherry picked from commit 837cb4325b712ff1aab531bf41668933f61d75d2) +Signed-off-by: Michael Niedermayer +(cherry picked from commit b2c39fcc3c0749490dc93bca80f56724878b55fe) +Signed-off-by: Michael Niedermayer +--- + ffprobe.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +diff --git ffprobe.c ffprobe.c +index 79fe296489d..703304a8c0f 100644 +--- external/FFmpeg/ffprobe.c ++++ external/FFmpeg/ffprobe.c +@@ -1789,6 +1789,16 @@ static void print_pkt_side_data(WriterContext *w, + writer_print_section_footer(w); + } + ++static void print_primaries(WriterContext *w, enum AVColorPrimaries color_primaries) ++{ ++ const char *val = av_color_primaries_name(color_primaries); ++ if (!val || color_primaries == AVCOL_PRI_UNSPECIFIED) { ++ print_str_opt("color_primaries", "unknown"); ++ } else { ++ print_str("color_primaries", val); ++ } ++} ++ + static void show_packet(WriterContext *w, InputFile *ifile, AVPacket *pkt, int packet_idx) + { + char val_str[128]; +@@ -2258,10 +2268,7 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id + else + print_str_opt("color_transfer", av_color_transfer_name(par->color_trc)); + +- if (par->color_primaries != AVCOL_PRI_UNSPECIFIED) +- print_str("color_primaries", av_color_primaries_name(par->color_primaries)); +- else +- print_str_opt("color_primaries", av_color_primaries_name(par->color_primaries)); ++ print_primaries(w, par->color_primaries); + + if (par->chroma_location != AVCHROMA_LOC_UNSPECIFIED) + print_str("chroma_location", av_chroma_location_name(par->chroma_location)); Index: head/multimedia/mythtv/files/patch-CVE-2017-14767 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-14767 +++ head/multimedia/mythtv/files/patch-CVE-2017-14767 @@ -0,0 +1,28 @@ +From 53a6cdf89d694be1f075729f16e0a9e2dcbbcb78 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Wed, 23 Aug 2017 21:30:37 +0200 +Subject: [PATCH] avformat/rtpdec_h264: Fix heap-buffer-overflow + +Fixes: rtp_sdp/poc.sdp + +Found-by: Bingchang +Signed-off-by: Michael Niedermayer +(cherry picked from commit c42a1388a6d1bfd8001bf6a4241d8ca27e49326d) +Signed-off-by: Michael Niedermayer +--- + libavformat/rtpdec_h264.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git libavformat/rtpdec_h264.c libavformat/rtpdec_h264.c +index 8dd56a549e4..6f8148ab6d5 100644 +--- external/FFmpeg/libavformat/rtpdec_h264.c ++++ external/FFmpeg/libavformat/rtpdec_h264.c +@@ -166,7 +166,7 @@ static int sdp_parse_fmtp_config_h264(AVFormatContext *s, + parse_profile_level_id(s, h264_data, value); + } else if (!strcmp(attr, "sprop-parameter-sets")) { + int ret; +- if (value[strlen(value) - 1] == ',') { ++ if (*value == 0 || value[strlen(value) - 1] == ',') { + av_log(s, AV_LOG_WARNING, "Missing PPS in sprop-parameter-sets, ignoring\n"); + return 0; + } Index: head/multimedia/mythtv/files/patch-CVE-2017-15186 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-15186 +++ head/multimedia/mythtv/files/patch-CVE-2017-15186 @@ -0,0 +1,78 @@ +From 0eb0b21c7f4f2b6a3a74d2d252f95b81a4d472c3 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Sat, 30 Sep 2017 00:20:09 +0200 +Subject: [PATCH] avcodec/x86/lossless_videoencdsp: Fix handling of small + widths +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes out of array access +Fixes: crash-huf.avi + +Regression since: 6b41b4414934cc930468ccd5db598dd6ef643987 + +This could also be fixed by adding checks in the C code that calls the dsp + +Found-by: Zhibin Hu and 连一汉 +Signed-off-by: Michael Niedermayer +(cherry picked from commit df62b70de8aaa285168e72fe8f6e740843ca91fa) +Signed-off-by: Michael Niedermayer +--- + libavcodec/x86/huffyuvencdsp.asm | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +diff --git libavcodec/x86/huffyuvencdsp.asm libavcodec/x86/huffyuvencdsp.asm +index a55a1de65de..7a1ce2e839e 100644 +--- external/FFmpeg/libavcodec/x86/huffyuvencdsp.asm ++++ external/FFmpeg/libavcodec/x86/huffyuvencdsp.asm +@@ -42,10 +42,11 @@ cglobal diff_bytes, 4,5,2, dst, src1, src2, w + %define i t0q + %endmacro + +-; label to jump to if w < regsize +-%macro DIFF_BYTES_LOOP_PREP 1 ++; labels to jump to if w < regsize and w < 0 ++%macro DIFF_BYTES_LOOP_PREP 2 + mov i, wq + and i, -2 * regsize ++ js %2 + jz %1 + add dstq, i + add src1q, i +@@ -87,7 +88,7 @@ cglobal diff_bytes, 4,5,2, dst, src1, src2, w + %if mmsize > 16 + ; fall back to narrower xmm + %define regsize mmsize / 2 +- DIFF_BYTES_LOOP_PREP .setup_loop_gpr_aa ++ DIFF_BYTES_LOOP_PREP .setup_loop_gpr_aa, .end_aa + .loop2_%1%2: + DIFF_BYTES_LOOP_CORE %1, %2, xm0, xm1 + add i, 2 * regsize +@@ -114,7 +115,7 @@ cglobal diff_bytes, 4,5,2, dst, src1, src2, w + INIT_MMX mmx + DIFF_BYTES_PROLOGUE + %define regsize mmsize +- DIFF_BYTES_LOOP_PREP .skip_main_aa ++ DIFF_BYTES_LOOP_PREP .skip_main_aa, .end_aa + DIFF_BYTES_BODY a, a + %undef i + %endif +@@ -122,7 +123,7 @@ DIFF_BYTES_PROLOGUE + INIT_XMM sse2 + DIFF_BYTES_PROLOGUE + %define regsize mmsize +- DIFF_BYTES_LOOP_PREP .skip_main_aa ++ DIFF_BYTES_LOOP_PREP .skip_main_aa, .end_aa + test dstq, regsize - 1 + jnz .loop_uu + test src1q, regsize - 1 +@@ -138,7 +139,7 @@ DIFF_BYTES_PROLOGUE + %define regsize mmsize + ; Directly using unaligned SSE2 version is marginally faster than + ; branching based on arguments. +- DIFF_BYTES_LOOP_PREP .skip_main_uu ++ DIFF_BYTES_LOOP_PREP .skip_main_uu, .end_uu + test dstq, regsize - 1 + jnz .loop_uu + test src1q, regsize - 1 Index: head/multimedia/mythtv/files/patch-CVE-2017-16840 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-16840 +++ head/multimedia/mythtv/files/patch-CVE-2017-16840 @@ -0,0 +1,93 @@ +From 519a54cc195b92fe6ba71fd156e31e944d862d7e Mon Sep 17 00:00:00 2001 +From: Rostislav Pehlivanov +Date: Wed, 8 Nov 2017 23:50:04 +0000 +Subject: [PATCH] vc2enc_dwt: pad the temporary buffer by the slice size + +Since non-Haar wavelets need to look into pixels outside the frame, we +need to pad the buffer. The old factor of two seemed to be a workaround +that fact and only padded to the left and bottom. This correctly pads +by the slice size and as such reduces memory usage and potential +exploits. +Reported by Liu Bingchang. + +Ideally, there should be no temporary buffer but the encoder is designed +to deinterleave the coefficients into the classical wavelet structure +with the lower frequency values in the top left corner. + +Signed-off-by: Rostislav Pehlivanov +(cherry picked from commit 3228ac730c11eca49d5680d5550128e397061c85) +--- + libavcodec/vc2enc.c | 3 ++- + libavcodec/vc2enc_dwt.c | 12 +++++++++--- + libavcodec/vc2enc_dwt.h | 4 +++- + 3 files changed, 14 insertions(+), 5 deletions(-) + +diff --git libavcodec/vc2enc.c libavcodec/vc2enc.c +index eda390163ff..745c6e974d5 100644 +--- external/FFmpeg/libavcodec/vc2enc.c ++++ external/FFmpeg/libavcodec/vc2enc.c +@@ -1190,7 +1190,8 @@ static av_cold int vc2_encode_init(AVCodecContext *avctx) + /* DWT init */ + if (ff_vc2enc_init_transforms(&s->transform_args[i].t, + s->plane[i].coef_stride, +- s->plane[i].dwt_height)) ++ s->plane[i].dwt_height, ++ s->slice_width, s->slice_height)) + goto alloc_fail; + } + +diff --git libavcodec/vc2enc_dwt.c libavcodec/vc2enc_dwt.c +index c60b003a313..d22af8a3138 100644 +--- external/FFmpeg/libavcodec/vc2enc_dwt.c ++++ external/FFmpeg/libavcodec/vc2enc_dwt.c +@@ -255,21 +255,27 @@ static void vc2_subband_dwt_haar_shift(VC2TransformContext *t, dwtcoef *data, + dwt_haar(t, data, stride, width, height, 1); + } + +-av_cold int ff_vc2enc_init_transforms(VC2TransformContext *s, int p_width, int p_height) ++av_cold int ff_vc2enc_init_transforms(VC2TransformContext *s, int p_stride, ++ int p_height, int slice_w, int slice_h) + { + s->vc2_subband_dwt[VC2_TRANSFORM_9_7] = vc2_subband_dwt_97; + s->vc2_subband_dwt[VC2_TRANSFORM_5_3] = vc2_subband_dwt_53; + s->vc2_subband_dwt[VC2_TRANSFORM_HAAR] = vc2_subband_dwt_haar; + s->vc2_subband_dwt[VC2_TRANSFORM_HAAR_S] = vc2_subband_dwt_haar_shift; + +- s->buffer = av_malloc(2*p_width*p_height*sizeof(dwtcoef)); ++ /* Pad by the slice size, only matters for non-Haar wavelets */ ++ s->buffer = av_calloc((p_stride + slice_w)*(p_height + slice_h), sizeof(dwtcoef)); + if (!s->buffer) + return 1; + ++ s->padding = (slice_h >> 1)*p_stride + (slice_w >> 1); ++ s->buffer += s->padding; ++ + return 0; + } + + av_cold void ff_vc2enc_free_transforms(VC2TransformContext *s) + { +- av_freep(&s->buffer); ++ av_free(s->buffer - s->padding); ++ s->buffer = NULL; + } +diff --git libavcodec/vc2enc_dwt.h libavcodec/vc2enc_dwt.h +index 7fbbfbe0ed9..a6932bcdaf0 100644 +--- external/FFmpeg/libavcodec/vc2enc_dwt.h ++++ external/FFmpeg/libavcodec/vc2enc_dwt.h +@@ -41,12 +41,14 @@ enum VC2TransformType { + + typedef struct VC2TransformContext { + dwtcoef *buffer; ++ int padding; + void (*vc2_subband_dwt[VC2_TRANSFORMS_NB])(struct VC2TransformContext *t, + dwtcoef *data, ptrdiff_t stride, + int width, int height); + } VC2TransformContext; + +-int ff_vc2enc_init_transforms(VC2TransformContext *t, int p_width, int p_height); ++int ff_vc2enc_init_transforms(VC2TransformContext *t, int p_stride, int p_height, ++ int slice_w, int slice_h); + void ff_vc2enc_free_transforms(VC2TransformContext *t); + + #endif /* AVCODEC_VC2ENC_DWT_H */ Index: head/multimedia/mythtv/files/patch-CVE-2017-17081a =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-17081a +++ head/multimedia/mythtv/files/patch-CVE-2017-17081a @@ -0,0 +1,28 @@ +From b2c9771dd435fbce4f0a422bbdc16ecf7b243395 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Mon, 9 Oct 2017 00:32:30 +0200 +Subject: [PATCH] avcodec/mpeg_er: Clear mcsel in mpeg_er_decode_mb() + +Fixes out of array read +Should fix: 3516/clusterfuzz-testcase-minimized-4608518562775040 (not reprodoceable) + +Found-by: Insu Yun, Georgia Tech. +Signed-off-by: Michael Niedermayer +(cherry picked from commit 127a362630e11fe724e2e63fc871791fdcbcfa64) +Signed-off-by: Michael Niedermayer +--- + libavcodec/mpeg_er.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git libavcodec/mpeg_er.c libavcodec/mpeg_er.c +index dd87ae9cc9e..9bd269c4402 100644 +--- external/FFmpeg/libavcodec/mpeg_er.c ++++ external/FFmpeg/libavcodec/mpeg_er.c +@@ -71,6 +71,7 @@ static void mpeg_er_decode_mb(void *opaque, int ref, int mv_dir, int mv_type, + s->mb_skipped = mb_skipped; + s->mb_x = mb_x; + s->mb_y = mb_y; ++ s->mcsel = 0; + memcpy(s->mv, mv, sizeof(*mv)); + + ff_init_block_index(s); Index: head/multimedia/mythtv/files/patch-CVE-2017-17081b =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2017-17081b +++ head/multimedia/mythtv/files/patch-CVE-2017-17081b @@ -0,0 +1,33 @@ +From b51f515c5c837351f2104b43c0e2a0562a759086 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Mon, 13 Nov 2017 20:47:48 +0100 +Subject: [PATCH] avcodec/x86/mpegvideodsp: Fix signedness bug in need_emu + +Fixes: out of array read +Fixes: 3516/attachment-311488.dat + +Found-by: Insu Yun, Georgia Tech. +Tested-by: wuninsu@gmail.com +Signed-off-by: Michael Niedermayer +(cherry picked from commit 58cf31cee7a456057f337b3102a03206d833d5e8) +Signed-off-by: Michael Niedermayer +--- + libavcodec/x86/mpegvideodsp.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git libavcodec/x86/mpegvideodsp.c libavcodec/x86/mpegvideodsp.c +index e0498f38496..6009b64e076 100644 +--- external/FFmpeg/libavcodec/x86/mpegvideodsp.c ++++ external/FFmpeg/libavcodec/x86/mpegvideodsp.c +@@ -52,8 +52,9 @@ static void gmc_mmx(uint8_t *dst, uint8_t *src, + const int dyh = (dyy - (1 << (16 + shift))) * (h - 1); + const int dxh = dxy * (h - 1); + const int dyw = dyx * (w - 1); +- int need_emu = (unsigned) ix >= width - w || +- (unsigned) iy >= height - h; ++ int need_emu = (unsigned) ix >= width - w || width < w || ++ (unsigned) iy >= height - h || height< h ++ ; + + if ( // non-constant fullpel offset (3% of blocks) + ((ox ^ (ox + dxw)) | (ox ^ (ox + dxh)) | (ox ^ (ox + dxw + dxh)) | Index: head/multimedia/mythtv/files/patch-CVE-2018-6392 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2018-6392 +++ head/multimedia/mythtv/files/patch-CVE-2018-6392 @@ -0,0 +1,44 @@ +Fix for CVE-2018-6392 +https://security-tracker.debian.org/tracker/CVE-2018-6392 +https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/3f621455d62e46745453568d915badd5b1e5bcd5 +https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/c6939f65a116b1ffed345d29d8621ee4ffb32235 + +--- external/FFmpeg/libavfilter/vf_transpose.c.orig 2018-02-01 11:15:37 UTC ++++ external/FFmpeg/libavfilter/vf_transpose.c +@@ -27,6 +27,7 @@ + + #include + ++#include "libavutil/avassert.h" + #include "libavutil/imgutils.h" + #include "libavutil/internal.h" + #include "libavutil/intreadwrite.h" +@@ -54,6 +55,7 @@ enum TransposeDir { + typedef struct TransContext { + const AVClass *class; + int hsub, vsub; ++ int planes; + int pixsteps[4]; + + int passthrough; ///< PassthroughType, landscape passthrough mode enabled +@@ -106,7 +108,11 @@ static int config_props_output(AVFilterLink *outlink) + + s->hsub = desc_in->log2_chroma_w; + s->vsub = desc_in->log2_chroma_h; ++ s->planes = av_pix_fmt_count_planes(outlink->format); + ++ av_assert0(desc_in->nb_components == desc_out->nb_components); ++ ++ + av_image_fill_max_pixsteps(s->pixsteps, NULL, desc_out); + + outlink->w = inlink->h; +@@ -148,7 +154,7 @@ static int filter_slice(AVFilterContext *ctx, void *ar + AVFrame *in = td->in; + int plane; + +- for (plane = 0; out->data[plane]; plane++) { ++ for (plane = 0; plane < s->planes; plane++) { + int hsub = plane == 1 || plane == 2 ? s->hsub : 0; + int vsub = plane == 1 || plane == 2 ? s->vsub : 0; + int pixstep = s->pixsteps[plane]; Index: head/multimedia/mythtv/files/patch-CVE-2018-6621 =================================================================== --- head/multimedia/mythtv/files/patch-CVE-2018-6621 +++ head/multimedia/mythtv/files/patch-CVE-2018-6621 @@ -0,0 +1,15 @@ +Fix for CVE-2018-6621 +https://security-tracker.debian.org/tracker/CVE-2018-6621 +https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/118e1b0b3370dd1c0da442901b486689efd1654b + +--- external/FFmpeg/libavcodec/utvideodec.c.orig 2018-03-01 05:12:04 UTC ++++ external/FFmpeg/libavcodec/utvideodec.c +@@ -534,7 +534,7 @@ static int decode_frame(AVCodecContext *avctx, void *d + for (j = 0; j < c->slices; j++) { + slice_end = bytestream2_get_le32u(&gb); + if (slice_end < 0 || slice_end < slice_start || +- bytestream2_get_bytes_left(&gb) < slice_end) { ++ bytestream2_get_bytes_left(&gb) < slice_end + 1024LL) { + av_log(avctx, AV_LOG_ERROR, "Incorrect slice size\n"); + return AVERROR_INVALIDDATA; + } Index: head/multimedia/mythtv/files/patch-configure =================================================================== --- head/multimedia/mythtv/files/patch-configure +++ head/multimedia/mythtv/files/patch-configure @@ -1,6 +1,6 @@ ---- configure.orig 2015-06-16 16:03:30 UTC +--- configure.orig 2018-01-11 12:39:22 UTC +++ configure -@@ -846,28 +846,28 @@ check_cc(){ +@@ -1003,35 +1003,35 @@ check_cc(){ log check_cc "$@" cat > $TMPC log_file $TMPC @@ -24,6 +24,14 @@ + check_cmd $cxx $CPPFLAGS $CXXFLAGS $ECXXFLAGS -I${prefix}/include "$@" $CXX_C -o $TMPO $TMPCPP } + check_objcc(){ + log check_objcc "$@" + cat > $TMPM + log_file $TMPM +- check_cmd $objcc -Werror=missing-prototypes $CPPFLAGS $CFLAGS $OBJCFLAGS "$@" $OBJCC_C $(cc_o $TMPO) $TMPM ++ check_cmd $objcc -Werror=missing-prototypes $CPPFLAGS $CFLAGS $OBJCFLAGS -I${prefix}/include "$@" $OBJCC_C $(cc_o $TMPO) $TMPM + } + check_cpp(){ log check_cpp "$@" cat > $TMPC @@ -33,46 +41,12 @@ } as_o(){ -@@ -2539,7 +2539,7 @@ python_default="python" - - # machine - arch_default=$(uname -m) --cpu="generic" -+cpu="i686" - processor=`uname -p 2>/dev/null` - processor_flags="" - tune="generic" -@@ -3931,7 +3931,7 @@ elif enabled x86; then - i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*) - cpuflags="-march=$cpu" - enable cmov -- enable fast_cmov -+ disable fast_cmov - ;; - # targets that do support conditional mov but on which it's slow - pentium4|pentium4m|prescott|nocona) -@@ -4102,7 +4102,6 @@ case $target_os in - append CCONFIG "freebsd" - # Workaround compile errors from missing u_int/uint def - CPPFLAGS=`echo $CPPFLAGS | sed 's/-D_POSIX_C_SOURCE=200112//'` -- disable ivtv - enable backend - ;; - bsd/os) -@@ -6389,6 +6388,7 @@ cat <> $TMPMAK - QMAKE_LIBDIR_QT-=${sysroot}${libdir} - QMAKE_LIBDIR-=${sysroot}${libdir} - LATE_LIBS+=-L${sysroot}${libdir} -+FREETYPE_CFLAGS-= -I/usr/local/include - EOF - - #echo "endif # FFMPEG_CONFIG_MAK" >> $TMPMAK -@@ -6441,7 +6441,7 @@ INCDIR=\$(INSTALL_ROOT)$incdir +@@ -8840,7 +8840,7 @@ INCDIR=\$(INSTALL_ROOT)$incdir BINDIR=\$(INSTALL_ROOT)$bindir DATADIR=\$(INSTALL_ROOT)$datadir MANDIR=\$(INSTALL_ROOT)$mandir --CFLAGS=${CFLAGS} -w -+CFLAGS=${CFLAGS} -I/usr/local/include -w +-CFLAGS=${CFLAGS} -DFF_API_OLD_DECODE_AUDIO=1 -w ++CFLAGS=${CFLAGS} -DFF_API_OLD_DECODE_AUDIO=1 -I${prefix}/include -w endif # FFMPEG_CONFIG_MAK EOF Index: head/multimedia/mythtv/files/patch-external_FFmpeg_configure =================================================================== --- head/multimedia/mythtv/files/patch-external_FFmpeg_configure +++ head/multimedia/mythtv/files/patch-external_FFmpeg_configure @@ -1,22 +1,29 @@ ---- external/FFmpeg/configure.orig 2015-06-16 16:03:30 UTC +Fix arch detection +Fix runtime crashes on i386: enforce stack-alignment=16 + +--- external/FFmpeg/configure.orig 2018-02-01 11:15:37 UTC +++ external/FFmpeg/configure -@@ -2167,8 +2167,8 @@ yasmexe_default="yasm" - nogas=":" +@@ -3189,12 +3189,7 @@ target_os_default=$(tolower $(uname -s)) + host_os=$target_os_default # machine --arch_default=$(uname -m) --cpu="generic" +-if test "$target_os_default" = aix; then +- arch_default=$(uname -p) +- strip_default="strip -X32_64" +-else +- arch_default=$(uname -m) +-fi +arch_default=$(uname -p) -+cpu="i686" + cpu="generic" + intrinsics="none" - # OS - target_os_default=$(tolower $(uname -s)) -@@ -3137,7 +3137,7 @@ elif enabled x86; then - i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*) - cpuflags="-march=$cpu" - enable cmov -- enable fast_cmov -+ disable fast_cmov - ;; - # targets that do support conditional mov but on which it's slow - pentium4|pentium4m|prescott|nocona) +@@ -6217,6 +6212,9 @@ elif enabled llvm_gcc; then + elif enabled clang; then + check_cflags -mllvm -stack-alignment=16 + check_cflags -mstack-alignment=16 ++ if enabled x86_32; then ++ check_cflags -mstackrealign ++ fi + check_cflags -Qunused-arguments + check_cflags -Werror=implicit-function-declaration + check_cflags -Werror=missing-prototypes Index: head/multimedia/mythtv/files/patch-external_FFmpeg_libavcodec_x86_ac3dsp__init.c =================================================================== --- head/multimedia/mythtv/files/patch-external_FFmpeg_libavcodec_x86_ac3dsp__init.c +++ head/multimedia/mythtv/files/patch-external_FFmpeg_libavcodec_x86_ac3dsp__init.c @@ -1,11 +0,0 @@ ---- external/FFmpeg/libavcodec/x86/ac3dsp_init.c.orig 2015-06-16 16:03:30 UTC -+++ external/FFmpeg/libavcodec/x86/ac3dsp_init.c -@@ -51,7 +51,7 @@ extern void ff_ac3_extract_exponents_3dnow(uint8_t *ex - extern void ff_ac3_extract_exponents_sse2 (uint8_t *exp, int32_t *coef, int nb_coefs); - extern void ff_ac3_extract_exponents_ssse3(uint8_t *exp, int32_t *coef, int nb_coefs); - --#if ARCH_X86_32 && defined(__INTEL_COMPILER) -+#if ARCH_X86_32 && (defined(__INTEL_COMPILER) || defined(__clang__)) - # undef HAVE_7REGS - # define HAVE_7REGS 0 - #endif Index: head/multimedia/mythtv/files/patch-external_FFmpeg_libavformat_rtsp.c =================================================================== --- head/multimedia/mythtv/files/patch-external_FFmpeg_libavformat_rtsp.c +++ head/multimedia/mythtv/files/patch-external_FFmpeg_libavformat_rtsp.c @@ -0,0 +1,48 @@ +Fix RTP stream; FreeBSD's socket calls require the sockaddr struct length +to agree with the address family. +PR: 214852 + +--- external/FFmpeg/libavformat/rtsp.c.orig 2018-02-01 11:15:37 UTC ++++ external/FFmpeg/libavformat/rtsp.c +@@ -1614,7 +1614,12 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, con + } + if (ttl > 0) + snprintf(optbuf, sizeof(optbuf), "?ttl=%d", ttl); +- getnameinfo((struct sockaddr*) &addr, sizeof(addr), ++ getnameinfo((struct sockaddr*) &addr, ++#if HAVE_STRUCT_SOCKADDR_SA_LEN ++ ((struct sockaddr*) &addr)->sa_len, ++#else ++ sizeof(addr), ++#endif + namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST); + ff_url_join(url, sizeof(url), "rtp", NULL, namebuf, + port, "%s", optbuf); +@@ -1830,8 +1835,13 @@ redirect: + goto fail; + } + if (!getpeername(tcp_fd, (struct sockaddr*) &peer, &peer_len)) { +- getnameinfo((struct sockaddr*) &peer, peer_len, host, sizeof(host), +- NULL, 0, NI_NUMERICHOST); ++ getnameinfo((struct sockaddr*) &peer, ++#if HAVE_STRUCT_SOCKADDR_SA_LEN ++ ((struct sockaddr*) &peer)->sa_len, ++#else ++ peer_len, ++#endif ++ host, sizeof(host), NULL, 0, NI_NUMERICHOST); + } + + /* request options supported by the server; this also detects server +@@ -2310,7 +2320,11 @@ static int sdp_read_header(AVFormatContext *s) + AVDictionary *opts = map_to_opts(rt); + + err = getnameinfo((struct sockaddr*) &rtsp_st->sdp_ip, ++#if HAVE_STRUCT_SOCKADDR_SA_LEN ++ ((struct sockaddr*) &rtsp_st->sdp_ip)->sa_len, ++#else + sizeof(rtsp_st->sdp_ip), ++#endif + namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST); + if (err) { + av_log(s, AV_LOG_ERROR, "getnameinfo: %s\n", gai_strerror(err)); Index: head/multimedia/mythtv/files/patch-external_FFmpeg_libavformat_tls__openssl.c =================================================================== --- head/multimedia/mythtv/files/patch-external_FFmpeg_libavformat_tls__openssl.c +++ head/multimedia/mythtv/files/patch-external_FFmpeg_libavformat_tls__openssl.c @@ -0,0 +1,58 @@ +Fix build with libressl + +--- external/FFmpeg/libavformat/tls_openssl.c.orig 2018-02-01 11:15:37 UTC ++++ external/FFmpeg/libavformat/tls_openssl.c +@@ -43,7 +43,7 @@ typedef struct TLSContext { + TLSShared tls_shared; + SSL_CTX *ctx; + SSL *ssl; +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + BIO_METHOD* url_bio_method; + #endif + } TLSContext; +@@ -68,7 +68,7 @@ static unsigned long openssl_thread_id(void) + + static int url_bio_create(BIO *b) + { +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + BIO_set_init(b, 1); + BIO_set_data(b, NULL); + BIO_set_flags(b, 0); +@@ -85,7 +85,7 @@ static int url_bio_destroy(BIO *b) + return 1; + } + +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + #define GET_BIO_DATA(x) BIO_get_data(x); + #else + #define GET_BIO_DATA(x) (x)->ptr; +@@ -133,7 +133,7 @@ static int url_bio_bputs(BIO *b, const char *str) + return url_bio_bwrite(b, str, strlen(str)); + } + +-#if OPENSSL_VERSION_NUMBER < 0x1010000fL ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) + static BIO_METHOD url_bio_method = { + .type = BIO_TYPE_SOURCE_SINK, + .name = "urlprotocol bio", +@@ -212,7 +212,7 @@ static int tls_close(URLContext *h) + SSL_CTX_free(c->ctx); + if (c->tls_shared.tcp) + ffurl_close(c->tls_shared.tcp); +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + if (c->url_bio_method) + BIO_meth_free(c->url_bio_method); + #endif +@@ -265,7 +265,7 @@ static int tls_open(URLContext *h, const char *uri, in + ret = AVERROR(EIO); + goto fail; + } +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + p->url_bio_method = BIO_meth_new(BIO_TYPE_SOURCE_SINK, "urlprotocol bio"); + BIO_meth_set_write(p->url_bio_method, url_bio_bwrite); + BIO_meth_set_read(p->url_bio_method, url_bio_bread); Index: head/multimedia/mythtv/files/patch-external_libmythdvdnav_dvdnav_dvdnav_dvdnav.h =================================================================== --- head/multimedia/mythtv/files/patch-external_libmythdvdnav_dvdnav_dvdnav_dvdnav.h +++ head/multimedia/mythtv/files/patch-external_libmythdvdnav_dvdnav_dvdnav_dvdnav.h @@ -0,0 +1,16 @@ +--- external/libmythdvdnav/dvdnav/dvdnav/dvdnav.h.orig 2018-01-11 12:39:22 UTC ++++ external/libmythdvdnav/dvdnav/dvdnav/dvdnav.h +@@ -33,11 +33,11 @@ + extern "C" { + #endif + +-#include ++#include "dvd_types.h" + #include + #include + #include /* For vm_cmd_t */ +-#include ++#include "dvdnav_events.h" + + #include "compat.h" + Index: head/multimedia/mythtv/files/patch-external_zeromq_src_Makefile.am =================================================================== --- head/multimedia/mythtv/files/patch-external_zeromq_src_Makefile.am +++ head/multimedia/mythtv/files/patch-external_zeromq_src_Makefile.am @@ -1,10 +0,0 @@ ---- external/zeromq/src/Makefile.am.orig 2015-06-16 16:03:30 UTC -+++ external/zeromq/src/Makefile.am -@@ -1,6 +1,6 @@ - lib_LTLIBRARIES = libmythzmq.la - --pkgconfigdir = $(libdir)/pkgconfig -+pkgconfigdir = $(PKG_CONFIG_PATH) - pkgconfig_DATA = libmythzmq.pc - - include_HEADERS = ../include/zmq.h ../include/zmq.hpp ../include/zmq_utils.h Index: head/multimedia/mythtv/files/patch-libs_libmyth_remoteutil.h =================================================================== --- head/multimedia/mythtv/files/patch-libs_libmyth_remoteutil.h +++ head/multimedia/mythtv/files/patch-libs_libmyth_remoteutil.h @@ -1,10 +0,0 @@ ---- libs/libmyth/remoteutil.h.orig 2015-06-16 16:03:30 UTC -+++ libs/libmyth/remoteutil.h -@@ -10,6 +10,7 @@ - using namespace std; - - #include "mythexp.h" -+#include - - class ProgramInfo; - class MythEvent; Index: head/multimedia/mythtv/files/patch-libs_libmythdvdnav_dvdnav_dvdnav.c =================================================================== --- head/multimedia/mythtv/files/patch-libs_libmythdvdnav_dvdnav_dvdnav.c +++ head/multimedia/mythtv/files/patch-libs_libmythdvdnav_dvdnav_dvdnav.c @@ -1,11 +0,0 @@ ---- libs/libmythdvdnav/dvdnav/dvdnav.c.orig 2015-06-16 16:03:30 UTC -+++ libs/libmythdvdnav/dvdnav/dvdnav.c -@@ -33,7 +33,7 @@ - #include - #include - #include --#include "dvdnav/dvdnav.h" -+#include "dvdnav.h" - #include - #include - #include /* For vm_cmd_t */ Index: head/multimedia/mythtv/files/patch-libs_libmythtv_DVD_dvdringbuffer.h =================================================================== --- head/multimedia/mythtv/files/patch-libs_libmythtv_DVD_dvdringbuffer.h +++ head/multimedia/mythtv/files/patch-libs_libmythtv_DVD_dvdringbuffer.h @@ -0,0 +1,11 @@ +--- libs/libmythtv/DVD/dvdringbuffer.h.orig 2018-01-11 12:39:22 UTC ++++ libs/libmythtv/DVD/dvdringbuffer.h +@@ -21,7 +21,7 @@ extern "C" { + #include "libavcodec/avcodec.h" + } + +-#include "dvdnav/dvdnav.h" ++#include "../../../external/libmythdvdnav/dvdnav/dvdnav/dvdnav.h" + + /** \class MythDVDContext + * \brief Encapsulates playback context at any given moment. Index: head/multimedia/mythtv/files/patch-libs_libmythtv_dbcheck.cpp =================================================================== --- head/multimedia/mythtv/files/patch-libs_libmythtv_dbcheck.cpp +++ head/multimedia/mythtv/files/patch-libs_libmythtv_dbcheck.cpp @@ -0,0 +1,64 @@ +Database schema 1347 fails to update due to bad SQL statement +Ref: https://code.mythtv.org/trac/ticket/13155 + +--- libs/libmythtv/dbcheck.cpp.orig 2018-02-01 11:15:37 UTC ++++ libs/libmythtv/dbcheck.cpp +@@ -3340,25 +3340,24 @@ NULL + + if (dbver == "1346") + { +- QString master; ++ QList updates_ba; + // Create new MasterServerName setting + if (gCoreContext->IsMasterHost()) +- master = +- "insert into settings (value,data,hostname) " +- "values('MasterServerName','" +- + gCoreContext->GetHostName() + "', null);"; ++ updates_ba.push_back( ++ QString("INSERT INTO settings (value, data, hostname) " ++ "VALUES ('MasterServerName', '%1', NULL);") ++ .arg(gCoreContext->GetHostName()).toLocal8Bit()); + else +- master = +- "insert into settings (value,data,hostname) " +- "select 'MasterServerName', b.hostname, null " +- "from settings a, settings b " +- "where a.value = 'MasterServerIP' " +- "and b.value in ('BackendServerIP','BackendServerIP6')" +- "and a.data = b.data;"; ++ updates_ba.push_back( ++ QString("INSERT INTO settings (value,data,hostname) " ++ "SELECT 'MasterServerName', b.hostname, NULL " ++ "FROM settings a, settings b " ++ "WHERE a.value = 'MasterServerIP' " ++ "AND b.value IN ('BackendServerIP','BackendServerIP6')" ++ "AND a.data = b.data;") ++ .toLocal8Bit()); + +- const char *updates[] = { +- // Create new MasterServerName setting +- master.toLocal8Bit().constData(), ++ const char *post_sql[] = { + // Create new BackendServerAddr setting for each backend server + // Assume using IPV4 value. + "insert into settings (value,data,hostname) " +@@ -3385,8 +3384,17 @@ NULL + // Delete obsolete settings + "delete from settings " + "where value in ('WatchTVGuide');", +- NULL + }; ++ ++ for (uint i = 0; i < sizeof(post_sql)/sizeof(char*); i++) ++ updates_ba.push_back(QByteArray(post_sql[i])); ++ ++ // Convert update ByteArrays to NULL terminated char** ++ QList::const_iterator it = updates_ba.begin(); ++ vector updates; ++ for (; it != updates_ba.end(); ++it) ++ updates.push_back((*it).constData()); ++ updates.push_back(NULL); + + if (!performActualUpdate(&updates[0], "1347", dbver)) + return false; Index: head/multimedia/mythtv/files/patch-libs_libmythtv_recorders_dvbstreamhandler.cpp =================================================================== --- head/multimedia/mythtv/files/patch-libs_libmythtv_recorders_dvbstreamhandler.cpp +++ head/multimedia/mythtv/files/patch-libs_libmythtv_recorders_dvbstreamhandler.cpp @@ -1,29 +0,0 @@ ---- libs/libmythtv/recorders/dvbstreamhandler.cpp.orig 2015-06-16 16:03:30 UTC -+++ libs/libmythtv/recorders/dvbstreamhandler.cpp -@@ -620,7 +620,7 @@ bool DVBPIDInfo::Open(const QString &dvb_dev, bool use - { - struct dmx_pes_filter_params pesFilterParams; - memset(&pesFilterParams, 0, sizeof(struct dmx_pes_filter_params)); -- pesFilterParams.pid = (__u16) _pid; -+ pesFilterParams.pid = (uint16_t) _pid; - pesFilterParams.input = DMX_IN_FRONTEND; - pesFilterParams.output = DMX_OUT_TS_TAP; - pesFilterParams.flags = DMX_IMMEDIATE_START; -@@ -640,7 +640,7 @@ bool DVBPIDInfo::Open(const QString &dvb_dev, bool use - { - struct dmx_sct_filter_params sctFilterParams; - memset(&sctFilterParams, 0, sizeof(struct dmx_sct_filter_params)); -- switch ( (__u16) _pid ) -+ switch ( (uint16_t) _pid ) - { - case 0x0: // PAT - sctFilterParams.filter.filter[0] = 0; -@@ -676,7 +676,7 @@ bool DVBPIDInfo::Open(const QString &dvb_dev, bool use - sctFilterParams.filter.mask[0] = 0x00; - break; - } -- sctFilterParams.pid = (__u16) _pid; -+ sctFilterParams.pid = (uint16_t) _pid; - sctFilterParams.timeout = 0; - sctFilterParams.flags = DMX_IMMEDIATE_START; - Index: head/multimedia/mythtv/files/patch-libs_libmythtv_videoout__vdpau.cpp =================================================================== --- head/multimedia/mythtv/files/patch-libs_libmythtv_videoout__vdpau.cpp +++ head/multimedia/mythtv/files/patch-libs_libmythtv_videoout__vdpau.cpp @@ -1,11 +0,0 @@ ---- libs/libmythtv/videoout_vdpau.cpp.orig 2015-06-16 16:03:30 UTC -+++ libs/libmythtv/videoout_vdpau.cpp -@@ -442,7 +442,7 @@ void VideoOutputVDPAU::PrepareFrame(VideoFrame *frame, - if (frame) - { - // FIXME for 0.23. This should be triggered from AFD by a seek -- if ((abs(frame->frameNumber - framesPlayed) > 8)) -+ if ((labs(frame->frameNumber - framesPlayed) > 8)) - ClearReferenceFrames(); - new_frame = (framesPlayed != frame->frameNumber + 1); - framesPlayed = frame->frameNumber + 1; Index: head/multimedia/mythtv/files/patch-libs_libmythui_mythgesture.cpp =================================================================== --- head/multimedia/mythtv/files/patch-libs_libmythui_mythgesture.cpp +++ head/multimedia/mythtv/files/patch-libs_libmythui_mythgesture.cpp @@ -1,19 +0,0 @@ ---- libs/libmythui/mythgesture.cpp.orig 2015-06-16 16:03:30 UTC -+++ libs/libmythui/mythgesture.cpp -@@ -28,6 +28,7 @@ - - #include "mythgesture.h" - -+#include - #include - #include - #include -@@ -284,7 +285,7 @@ bool MythGesture::record(const QPoint & p) - int dely = p.y() - points.back().y(); - - /* step by the greatest delta direction */ -- if (abs(delx) > abs(dely)) -+ if (std::abs(delx) > std::abs(dely)) - { - float iy = points.back().y(); - Index: head/multimedia/mythtv/files/patch-libs_libmythui_mythpainter.cpp =================================================================== --- head/multimedia/mythtv/files/patch-libs_libmythui_mythpainter.cpp +++ head/multimedia/mythtv/files/patch-libs_libmythui_mythpainter.cpp @@ -1,4 +1,4 @@ ---- libs/libmythui/mythpainter.cpp.orig 2015-06-16 16:03:30 UTC +--- libs/libmythui/mythpainter.cpp.orig 2018-01-11 12:39:22 UTC +++ libs/libmythui/mythpainter.cpp @@ -1,6 +1,7 @@ #include Index: head/multimedia/mythtv/files/patch-libs_libmythui_mythrender__vdpau.h =================================================================== --- head/multimedia/mythtv/files/patch-libs_libmythui_mythrender__vdpau.h +++ head/multimedia/mythtv/files/patch-libs_libmythui_mythrender__vdpau.h @@ -0,0 +1,10 @@ +--- libs/libmythui/mythrender_vdpau.h.orig 2018-01-27 11:25:49 UTC ++++ libs/libmythui/mythrender_vdpau.h +@@ -12,6 +12,7 @@ + + extern "C" { + #include "libavcodec/vdpau.h" ++#include + } + + #define MIN_OUTPUT_SURFACES 2 // UI Index: head/multimedia/mythtv/files/patch-libs_libmythupnp_mmulticastsocketdevice.h =================================================================== --- head/multimedia/mythtv/files/patch-libs_libmythupnp_mmulticastsocketdevice.h +++ head/multimedia/mythtv/files/patch-libs_libmythupnp_mmulticastsocketdevice.h @@ -1,10 +0,0 @@ ---- libs/libmythupnp/mmulticastsocketdevice.h.orig 2015-06-16 16:03:30 UTC -+++ libs/libmythupnp/mmulticastsocketdevice.h -@@ -22,6 +22,7 @@ - # include - # endif - #else -+# include - # include - # include - # include Index: head/multimedia/mythtv/pkg-plist =================================================================== --- head/multimedia/mythtv/pkg-plist +++ head/multimedia/mythtv/pkg-plist @@ -5,6 +5,7 @@ bin/mythffmpeg bin/mythffprobe bin/mythffserver +bin/mythfilerecorder bin/mythfilldatabase bin/mythfrontend bin/mythhdhomerun_config @@ -22,21 +23,14 @@ bin/mythutil bin/mythwelcome %%BINDINGS%%bin/mythwikiscripts -include/mythtv/QJson/Parser -include/mythtv/QJson/QObjectHelper -include/mythtv/QJson/Serializer -include/mythtv/QJson/parser.h -include/mythtv/QJson/parserrunnable.h -include/mythtv/QJson/qjson_export.h -include/mythtv/QJson/qobjecthelper.h -include/mythtv/QJson/serializer.h -include/mythtv/QJson/serializerrunnable.h include/mythtv/audioconvert.h include/mythtv/audiooutput.h include/mythtv/audiooutputsettings.h include/mythtv/audiooutpututil.h include/mythtv/audiosettings.h include/mythtv/autodeletedeque.h +include/mythtv/blockinput.h +include/mythtv/bluray/array.h include/mythtv/bluray/attributes.h include/mythtv/bluray/bdid_parse.h include/mythtv/bluray/bdparse.h @@ -44,10 +38,11 @@ include/mythtv/bluray/bluray.h include/mythtv/bluray/clpi_data.h include/mythtv/bluray/clpi_parse.h +include/mythtv/bluray/dirs.h include/mythtv/bluray/dl.h +include/mythtv/bluray/event_queue.h include/mythtv/bluray/extdata_parse.h include/mythtv/bluray/file.h -include/mythtv/bluray/file_mythiowrapper.h include/mythtv/bluray/filesystem.h include/mythtv/bluray/hdmv_insn.h include/mythtv/bluray/hdmv_vm.h @@ -57,12 +52,17 @@ include/mythtv/bluray/macro.h include/mythtv/bluray/meta_data.h include/mythtv/bluray/meta_parse.h +include/mythtv/bluray/mobj_data.h include/mythtv/bluray/mobj_parse.h +include/mythtv/bluray/mobj_print.h +include/mythtv/bluray/mount.h include/mythtv/bluray/mpls_parse.h include/mythtv/bluray/mutex.h include/mythtv/bluray/navigation.h +include/mythtv/bluray/refcnt.h include/mythtv/bluray/sound_parse.h include/mythtv/bluray/strutl.h +include/mythtv/bluray/time.h include/mythtv/bluray/uo_mask_table.h include/mythtv/bonjourregister.h include/mythtv/bswap.h @@ -87,18 +87,24 @@ include/mythtv/langsettings.h include/mythtv/lcddevice.h include/mythtv/libavcodec/avcodec.h +include/mythtv/libavcodec/avdct.h include/mythtv/libavcodec/avfft.h +include/mythtv/libavcodec/d3d11va.h +include/mythtv/libavcodec/dirac.h +include/mythtv/libavcodec/dv_profile.h include/mythtv/libavcodec/dxva2.h -include/mythtv/libavcodec/old_codec_ids.h +include/mythtv/libavcodec/jni.h +include/mythtv/libavcodec/mediacodec.h +include/mythtv/libavcodec/qsv.h include/mythtv/libavcodec/vaapi.h include/mythtv/libavcodec/vda.h include/mythtv/libavcodec/vdpau.h include/mythtv/libavcodec/version.h +include/mythtv/libavcodec/videotoolbox.h +include/mythtv/libavcodec/vorbis_parser.h include/mythtv/libavcodec/xvmc.h include/mythtv/libavdevice/avdevice.h include/mythtv/libavdevice/version.h -include/mythtv/libavfilter/asrc_abuffer.h -include/mythtv/libavfilter/avcodec.h include/mythtv/libavfilter/avfilter.h include/mythtv/libavfilter/avfiltergraph.h include/mythtv/libavfilter/buffersink.h @@ -109,9 +115,9 @@ include/mythtv/libavformat/version.h include/mythtv/libavutil/adler32.h include/mythtv/libavutil/aes.h +include/mythtv/libavutil/aes_ctr.h include/mythtv/libavutil/attributes.h include/mythtv/libavutil/audio_fifo.h -include/mythtv/libavutil/audioconvert.h include/mythtv/libavutil/avassert.h include/mythtv/libavutil/avconfig.h include/mythtv/libavutil/avstring.h @@ -120,38 +126,65 @@ include/mythtv/libavutil/blowfish.h include/mythtv/libavutil/bprint.h include/mythtv/libavutil/bswap.h +include/mythtv/libavutil/buffer.h +include/mythtv/libavutil/camellia.h +include/mythtv/libavutil/cast5.h include/mythtv/libavutil/channel_layout.h include/mythtv/libavutil/common.h include/mythtv/libavutil/cpu.h include/mythtv/libavutil/crc.h +include/mythtv/libavutil/des.h include/mythtv/libavutil/dict.h +include/mythtv/libavutil/display.h +include/mythtv/libavutil/downmix_info.h include/mythtv/libavutil/error.h include/mythtv/libavutil/eval.h +include/mythtv/libavutil/ffversion.h include/mythtv/libavutil/fifo.h include/mythtv/libavutil/file.h +include/mythtv/libavutil/frame.h +include/mythtv/libavutil/hash.h include/mythtv/libavutil/hmac.h +include/mythtv/libavutil/hwcontext.h +include/mythtv/libavutil/hwcontext_cuda.h +include/mythtv/libavutil/hwcontext_dxva2.h +include/mythtv/libavutil/hwcontext_qsv.h +include/mythtv/libavutil/hwcontext_vaapi.h +include/mythtv/libavutil/hwcontext_vdpau.h include/mythtv/libavutil/imgutils.h include/mythtv/libavutil/intfloat.h -include/mythtv/libavutil/intfloat_readwrite.h include/mythtv/libavutil/intreadwrite.h include/mythtv/libavutil/lfg.h include/mythtv/libavutil/log.h include/mythtv/libavutil/lzo.h +include/mythtv/libavutil/macros.h +include/mythtv/libavutil/mastering_display_metadata.h include/mythtv/libavutil/mathematics.h include/mythtv/libavutil/md5.h include/mythtv/libavutil/mem.h -include/mythtv/libavutil/old_pix_fmts.h +include/mythtv/libavutil/motion_vector.h +include/mythtv/libavutil/murmur3.h include/mythtv/libavutil/opt.h include/mythtv/libavutil/parseutils.h include/mythtv/libavutil/pixdesc.h +include/mythtv/libavutil/pixelutils.h include/mythtv/libavutil/pixfmt.h include/mythtv/libavutil/random_seed.h include/mythtv/libavutil/rational.h +include/mythtv/libavutil/rc4.h +include/mythtv/libavutil/replaygain.h +include/mythtv/libavutil/ripemd.h include/mythtv/libavutil/samplefmt.h include/mythtv/libavutil/sha.h +include/mythtv/libavutil/sha512.h +include/mythtv/libavutil/stereo3d.h +include/mythtv/libavutil/tea.h +include/mythtv/libavutil/threadmessage.h include/mythtv/libavutil/time.h include/mythtv/libavutil/timecode.h include/mythtv/libavutil/timestamp.h +include/mythtv/libavutil/tree.h +include/mythtv/libavutil/twofish.h include/mythtv/libavutil/version.h include/mythtv/libavutil/xtea.h include/mythtv/libmyth/audioconvert.h @@ -174,22 +207,18 @@ include/mythtv/libmyth/mythwizard.h include/mythtv/libmyth/netgrabbermanager.h include/mythtv/libmyth/netutils.h -include/mythtv/libmyth/oldsettings.h include/mythtv/libmyth/output.h include/mythtv/libmyth/programinfo.h include/mythtv/libmyth/programtypes.h include/mythtv/libmyth/recordingtypes.h -include/mythtv/libmyth/remotefile.h include/mythtv/libmyth/remoteutil.h include/mythtv/libmyth/rssparse.h include/mythtv/libmyth/schemawizard.h include/mythtv/libmyth/settings.h +include/mythtv/libmyth/standardsettings.h include/mythtv/libmyth/storagegroupeditor.h -include/mythtv/libmyth/uitypes.h -include/mythtv/libmyth/virtualkeyboard_qt.h include/mythtv/libmyth/visual.h include/mythtv/libmyth/volumebase.h -include/mythtv/libmyth/xmlparse.h include/mythtv/libmythbase/autodeletedeque.h include/mythtv/libmythbase/bonjourregister.h include/mythtv/libmythbase/bswap.h @@ -203,7 +232,6 @@ include/mythtv/libmythbase/iso639.h include/mythtv/libmythbase/lcddevice.h include/mythtv/libmythbase/loggingserver.h -include/mythtv/libmythbase/mcodecs.h include/mythtv/libmythbase/mthread.h include/mythtv/libmythbase/mthreadpool.h include/mythtv/libmythbase/mythbaseexp.h @@ -229,6 +257,7 @@ include/mythtv/libmythbase/mythplugin.h include/mythtv/libmythbase/mythpluginapi.h include/mythtv/libmythbase/mythqtcompat.h +include/mythtv/libmythbase/mythsession.h include/mythtv/libmythbase/mythsingledownload.h include/mythtv/libmythbase/mythsocket.h include/mythtv/libmythbase/mythsocket_cb.h @@ -252,23 +281,44 @@ include/mythtv/libmythservicecontracts/datacontracthelper.h include/mythtv/libmythservicecontracts/datacontracts/artworkInfo.h include/mythtv/libmythservicecontracts/datacontracts/artworkInfoList.h +include/mythtv/libmythservicecontracts/datacontracts/backendInfo.h include/mythtv/libmythservicecontracts/datacontracts/blurayInfo.h +include/mythtv/libmythservicecontracts/datacontracts/buildInfo.h include/mythtv/libmythservicecontracts/datacontracts/captureCard.h include/mythtv/libmythservicecontracts/datacontracts/captureCardList.h +include/mythtv/libmythservicecontracts/datacontracts/castMember.h +include/mythtv/libmythservicecontracts/datacontracts/castMemberList.h +include/mythtv/libmythservicecontracts/datacontracts/channelGroup.h +include/mythtv/libmythservicecontracts/datacontracts/channelGroupList.h include/mythtv/libmythservicecontracts/datacontracts/channelInfoList.h include/mythtv/libmythservicecontracts/datacontracts/connectionInfo.h +include/mythtv/libmythservicecontracts/datacontracts/cutList.h +include/mythtv/libmythservicecontracts/datacontracts/cutting.h include/mythtv/libmythservicecontracts/datacontracts/databaseInfo.h +include/mythtv/libmythservicecontracts/datacontracts/enum.h +include/mythtv/libmythservicecontracts/datacontracts/enumItem.h +include/mythtv/libmythservicecontracts/datacontracts/envInfo.h include/mythtv/libmythservicecontracts/datacontracts/frontendActionList.h include/mythtv/libmythservicecontracts/datacontracts/frontendStatus.h +include/mythtv/libmythservicecontracts/datacontracts/imageMetadataInfo.h +include/mythtv/libmythservicecontracts/datacontracts/imageMetadataInfoList.h +include/mythtv/libmythservicecontracts/datacontracts/imageSyncInfo.h +include/mythtv/libmythservicecontracts/datacontracts/input.h +include/mythtv/libmythservicecontracts/datacontracts/inputList.h include/mythtv/libmythservicecontracts/datacontracts/labelValue.h include/mythtv/libmythservicecontracts/datacontracts/lineup.h include/mythtv/libmythservicecontracts/datacontracts/liveStreamInfo.h include/mythtv/libmythservicecontracts/datacontracts/liveStreamInfoList.h +include/mythtv/libmythservicecontracts/datacontracts/logInfo.h include/mythtv/libmythservicecontracts/datacontracts/logMessage.h include/mythtv/libmythservicecontracts/datacontracts/logMessageList.h +include/mythtv/libmythservicecontracts/datacontracts/musicMetadataInfo.h +include/mythtv/libmythservicecontracts/datacontracts/musicMetadataInfoList.h include/mythtv/libmythservicecontracts/datacontracts/programAndChannel.h include/mythtv/libmythservicecontracts/datacontracts/programGuide.h include/mythtv/libmythservicecontracts/datacontracts/recRule.h +include/mythtv/libmythservicecontracts/datacontracts/recRuleFilter.h +include/mythtv/libmythservicecontracts/datacontracts/recRuleFilterList.h include/mythtv/libmythservicecontracts/datacontracts/recRuleList.h include/mythtv/libmythservicecontracts/datacontracts/recording.h include/mythtv/libmythservicecontracts/datacontracts/settingList.h @@ -285,6 +335,7 @@ include/mythtv/libmythservicecontracts/datacontracts/videoSource.h include/mythtv/libmythservicecontracts/datacontracts/videoSourceList.h include/mythtv/libmythservicecontracts/datacontracts/wolInfo.h +include/mythtv/libmythservicecontracts/enums/recStatus.h include/mythtv/libmythservicecontracts/service.h include/mythtv/libmythservicecontracts/serviceexp.h include/mythtv/libmythservicecontracts/services/captureServices.h @@ -293,7 +344,10 @@ include/mythtv/libmythservicecontracts/services/dvrServices.h include/mythtv/libmythservicecontracts/services/frontendServices.h include/mythtv/libmythservicecontracts/services/guideServices.h +include/mythtv/libmythservicecontracts/services/imageServices.h +include/mythtv/libmythservicecontracts/services/musicServices.h include/mythtv/libmythservicecontracts/services/mythServices.h +include/mythtv/libmythservicecontracts/services/rttiServices.h include/mythtv/libmythservicecontracts/services/videoServices.h include/mythtv/libmythui/mythdialogbox.h include/mythtv/libmythui/mythfontproperties.h @@ -351,18 +405,20 @@ include/mythtv/libswscale/swscale.h include/mythtv/libswscale/version.h include/mythtv/loggingserver.h -include/mythtv/mcodecs.h include/mythtv/metadata/bluraymetadata.h include/mythtv/metadata/cleanup.h include/mythtv/metadata/dbaccess.h include/mythtv/metadata/dirscan.h include/mythtv/metadata/globals.h +include/mythtv/metadata/imagemanager.h +include/mythtv/metadata/imagemetadata.h +include/mythtv/metadata/imagetypes.h +include/mythtv/metadata/lyricsdata.h include/mythtv/metadata/metadatacommon.h include/mythtv/metadata/metadatadownload.h include/mythtv/metadata/metadatafactory.h include/mythtv/metadata/metadatagrabber.h include/mythtv/metadata/metadataimagedownload.h -include/mythtv/metadata/metadataimagehelper.h include/mythtv/metadata/metaio.h include/mythtv/metadata/metaioavfcomment.h include/mythtv/metadata/metaioflacvorbis.h @@ -371,6 +427,7 @@ include/mythtv/metadata/metaiooggvorbis.h include/mythtv/metadata/metaiotaglib.h include/mythtv/metadata/metaiowavpack.h +include/mythtv/metadata/musicfilescanner.h include/mythtv/metadata/musicmetadata.h include/mythtv/metadata/musicutils.h include/mythtv/metadata/mythmetaexp.h @@ -383,9 +440,11 @@ include/mythtv/metadata/videoscan.h include/mythtv/metadata/videoutils.h include/mythtv/metadataimagehelper.h +include/mythtv/minilzo.h include/mythtv/mpeg2dec/mpeg2.h include/mythtv/mthread.h include/mythtv/mthreadpool.h +include/mythtv/mythavutil.h include/mythtv/mythbaseexp.h include/mythtv/mythcdrom.h include/mythtv/mythcommandlineparser.h @@ -406,6 +465,7 @@ include/mythtv/mythdownloadmanager.h include/mythtv/mythevent.h include/mythtv/mythexp.h +include/mythtv/mythframe.h include/mythtv/mythlocale.h include/mythtv/mythlogging.h include/mythtv/mythmedia.h @@ -416,6 +476,7 @@ include/mythtv/mythpluginapi.h include/mythtv/mythqtcompat.h include/mythtv/mythrssmanager.h +include/mythtv/mythsession.h include/mythtv/mythsingledownload.h include/mythtv/mythsocket.h include/mythtv/mythsocket_cb.h @@ -432,7 +493,6 @@ include/mythtv/mythwizard.h include/mythtv/netgrabbermanager.h include/mythtv/netutils.h -include/mythtv/oldsettings.h include/mythtv/output.h include/mythtv/playgroup.h include/mythtv/plist.h @@ -449,10 +509,11 @@ include/mythtv/serverpool.h include/mythtv/settings.h include/mythtv/signalhandling.h +include/mythtv/standardsettings.h include/mythtv/storagegroup.h include/mythtv/storagegroupeditor.h include/mythtv/threadedfilewriter.h -include/mythtv/uitypes.h +include/mythtv/udfread.h include/mythtv/upnp/bufferedsocketdevice.h include/mythtv/upnp/configuration.h include/mythtv/upnp/eventing.h @@ -475,6 +536,7 @@ include/mythtv/upnp/upnpcdsobjects.h include/mythtv/upnp/upnpcmgr.h include/mythtv/upnp/upnpdevice.h +include/mythtv/upnp/upnphelpers.h include/mythtv/upnp/upnpsubscription.h include/mythtv/upnp/upnptaskcache.h include/mythtv/upnp/upnptaskevent.h @@ -483,19 +545,98 @@ include/mythtv/upnp/upnputil.h include/mythtv/upnp/wsdl.h include/mythtv/upnp/xmlSerializer.h +include/mythtv/upnp/xsd.h include/mythtv/verbosedefs.h include/mythtv/version.h -include/mythtv/virtualkeyboard_qt.h include/mythtv/visual.h include/mythtv/volumebase.h -include/mythtv/xmlparse.h +lib/libmyth-29.so +lib/libmyth-29.so.29 +lib/libmyth-29.so.29.0 +lib/libmyth-29.so.29.0.0 +lib/libmythavcodec.so +lib/libmythavcodec.so.57 +lib/libmythavcodec.so.57.64.100 +lib/libmythavdevice.so +lib/libmythavdevice.so.57 +lib/libmythavdevice.so.57.1.100 +lib/libmythavfilter.so +lib/libmythavfilter.so.6 +lib/libmythavfilter.so.6.65.100 +lib/libmythavformat.so +lib/libmythavformat.so.57 +lib/libmythavformat.so.57.56.100 +lib/libmythavutil.so +lib/libmythavutil.so.55 +lib/libmythavutil.so.55.34.100 +lib/libmythbase-29.so +lib/libmythbase-29.so.29 +lib/libmythbase-29.so.29.0 +lib/libmythbase-29.so.29.0.0 +lib/libmythfreemheg-29.so +lib/libmythfreemheg-29.so.29 +lib/libmythfreemheg-29.so.29.0 +lib/libmythfreemheg-29.so.29.0.0 +lib/libmythhdhomerun-29.so +lib/libmythhdhomerun-29.so.29 +lib/libmythhdhomerun-29.so.29.0 +lib/libmythhdhomerun-29.so.29.0.0 +lib/libmythmetadata-29.so +lib/libmythmetadata-29.so.29 +lib/libmythmetadata-29.so.29.0 +lib/libmythmetadata-29.so.29.0.0 +lib/libmythpostproc.so +lib/libmythpostproc.so.54 +lib/libmythpostproc.so.54.1.100 +lib/libmythprotoserver-29.so +lib/libmythprotoserver-29.so.29 +lib/libmythprotoserver-29.so.29.0 +lib/libmythprotoserver-29.so.29.0.0 +lib/libmythservicecontracts-29.so +lib/libmythservicecontracts-29.so.29 +lib/libmythservicecontracts-29.so.29.0 +lib/libmythservicecontracts-29.so.29.0.0 +lib/libmythswresample.so +lib/libmythswresample.so.2 +lib/libmythswresample.so.2.3.100 +lib/libmythswscale.so +lib/libmythswscale.so.4 +lib/libmythswscale.so.4.2.100 +lib/libmythtv-29.so +lib/libmythtv-29.so.29 +lib/libmythtv-29.so.29.0 +lib/libmythtv-29.so.29.0.0 +lib/libmythui-29.so +lib/libmythui-29.so.29 +lib/libmythui-29.so.29.0 +lib/libmythui-29.so.29.0.0 +lib/libmythupnp-29.so +lib/libmythupnp-29.so.29 +lib/libmythupnp-29.so.29.0 +lib/libmythupnp-29.so.29.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 %%BINDINGS%%%%SITE_PERL%%/IO/Socket/INET/MythTV.pm %%BINDINGS%%%%SITE_PERL%%/MythTV.pm %%BINDINGS%%%%SITE_PERL%%/MythTV/Channel.pm %%BINDINGS%%%%SITE_PERL%%/MythTV/Program.pm %%BINDINGS%%%%SITE_PERL%%/MythTV/Recording.pm %%BINDINGS%%%%SITE_PERL%%/MythTV/StorageGroup.pm -%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV-0.27.0-py2.7.egg-info +%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV-0.28._1-py%%PYTHON_VER%%.egg-info %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__init__.py %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__init__.pyc %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/_conn_mysqldb.py @@ -553,12 +694,14 @@ %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/XSLT/tvdbVideo.xsl %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/__init__.py %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/__init__.pyc -%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/cache.py -%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/cache.pyc +%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/requests_cache_compatability.py +%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/requests_cache_compatability.pyc %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdbXslt.py %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdbXslt.pyc %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_api.py %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_api.pyc +%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_create_key.py +%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_create_key.pyc %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_exceptions.py %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_exceptions.pyc %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_ui.py @@ -569,6 +712,8 @@ %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/altdict.pyc %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/dequebuffer.py %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/dequebuffer.pyc +%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/dicttoxml.py +%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/dicttoxml.pyc %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/dt.py %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/dt.pyc %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/enum.py @@ -583,90 +728,6 @@ %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/wikiscripts/__init__.pyc %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/wikiscripts/wikiscripts.py %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/wikiscripts/wikiscripts.pyc -lib/libmyth-0.27.so -lib/libmyth-0.27.so.0 -lib/libmyth-0.27.so.0.27 -lib/libmyth-0.27.so.0.27.0 -lib/libmythavcodec.so -lib/libmythavcodec.so.54 -lib/libmythavcodec.so.54.92.100 -lib/libmythavdevice.so -lib/libmythavdevice.so.54 -lib/libmythavdevice.so.54.3.103 -lib/libmythavfilter.so -lib/libmythavfilter.so.3 -lib/libmythavfilter.so.3.42.103 -lib/libmythavformat.so -lib/libmythavformat.so.54 -lib/libmythavformat.so.54.63.104 -lib/libmythavutil.so -lib/libmythavutil.so.52 -lib/libmythavutil.so.52.18.100 -lib/libmythbase-0.27.so -lib/libmythbase-0.27.so.0 -lib/libmythbase-0.27.so.0.27 -lib/libmythbase-0.27.so.0.27.0 -lib/libmythfreemheg-0.27.so -lib/libmythfreemheg-0.27.so.0 -lib/libmythfreemheg-0.27.so.0.27 -lib/libmythfreemheg-0.27.so.0.27.0 -lib/libmythhdhomerun-0.27.so -lib/libmythhdhomerun-0.27.so.0 -lib/libmythhdhomerun-0.27.so.0.27 -lib/libmythhdhomerun-0.27.so.0.27.0 -lib/libmythmetadata-0.27.so -lib/libmythmetadata-0.27.so.0 -lib/libmythmetadata-0.27.so.0.27 -lib/libmythmetadata-0.27.so.0.27.0 -lib/libmythpostproc.so -lib/libmythpostproc.so.52 -lib/libmythpostproc.so.52.2.100 -lib/libmythprotoserver-0.27.so -lib/libmythprotoserver-0.27.so.0 -lib/libmythprotoserver-0.27.so.0.27 -lib/libmythprotoserver-0.27.so.0.27.0 -lib/libmythqjson.so -lib/libmythqjson.so.0 -lib/libmythqjson.so.0.7 -lib/libmythqjson.so.0.7.1 -lib/libmythservicecontracts-0.27.so -lib/libmythservicecontracts-0.27.so.0 -lib/libmythservicecontracts-0.27.so.0.27 -lib/libmythservicecontracts-0.27.so.0.27.0 -lib/libmythswresample.so -lib/libmythswresample.so.0 -lib/libmythswresample.so.0.17.102 -lib/libmythswscale.so -lib/libmythswscale.so.2 -lib/libmythswscale.so.2.2.100 -lib/libmythtv-0.27.so -lib/libmythtv-0.27.so.0 -lib/libmythtv-0.27.so.0.27 -lib/libmythtv-0.27.so.0.27.0 -lib/libmythui-0.27.so -lib/libmythui-0.27.so.0 -lib/libmythui-0.27.so.0.27 -lib/libmythui-0.27.so.0.27.0 -lib/libmythupnp-0.27.so -lib/libmythupnp-0.27.so.0 -lib/libmythupnp-0.27.so.0.27 -lib/libmythupnp-0.27.so.0.27.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 %%DATADIR%%/CDS_scpd.xml %%DATADIR%%/CMGR_scpd.xml %%DATADIR%%/MFEXML_scpd.xml @@ -714,7 +775,6 @@ %%DATADIR%%/fonts/Tiresias Infofont.ttf %%DATADIR%%/fonts/texgyrechorus-mediumitalic.otf %%DATADIR%%/fonts/tiresias_gpl3.txt -%%DATADIR%%/hardwareprofile/.gitignore %%DATADIR%%/hardwareprofile/MultipartPostHandler.py %%DATADIR%%/hardwareprofile/__init__.py %%DATADIR%%/hardwareprofile/config.py @@ -746,99 +806,114 @@ %%DATADIR%%/hardwareprofile/smolt_config.py %%DATADIR%%/hardwareprofile/software.py %%DATADIR%%/hardwareprofile/uuiddb.py +%%DATADIR%%/html/3rdParty/jquery/MYTH_README +%%DATADIR%%/html/3rdParty/jquery/galleria/LICENSE +%%DATADIR%%/html/3rdParty/jquery/galleria/galleria.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/flickr-demo.html +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/flickr-loader.gif +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/galleria.flickr.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/galleria.flickr.min.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/loader.gif +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/galleria.history.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/galleria.history.min.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/history-demo.html +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/galleria.picasa.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/galleria.picasa.min.js +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/loader.gif +%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/picasa-demo.html +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/README.rst +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-demo.html +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-loader.gif +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-map.png +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.css +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.js +%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.min.js +%%DATADIR%%/html/3rdParty/jquery/jquery-2.0.3.js +%%DATADIR%%/html/3rdParty/jquery/jquery-2.0.3.min.js +%%DATADIR%%/html/3rdParty/jquery/jquery-2.1.4.min.js +%%DATADIR%%/html/3rdParty/jquery/jqueryContextMenu/js/jquery.contextmenu.js +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/application.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/code.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/css.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/db.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/directory.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/doc.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/file.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/film.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/flash.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/folder_open.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/html.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/java.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/linux.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/music.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/pdf.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/php.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/picture.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/ppt.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/psd.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/ruby.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/script.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/spinner.gif +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/txt.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/xls.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/zip.png +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/jqueryFileTree.css +%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/jqueryFileTree.js +%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/css/ui.jqgrid.css +%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/js/grid.locale-en.js +%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/js/jquery.jqGrid.js +%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/README.md +%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/jquery.jscroll.js +%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/jscroll.jquery.json +%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/css/jquery.multiselect.css +%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/css/ui.multiselect.css +%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/js/jquery.multiselect.js +%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/js/ui-multiselect-en.js +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_flat_30_cccccc_40x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_flat_50_5c5c5c_40x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_glass_40_ffc73d_1x400.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_hexagon_10_000000_12x10.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-hard_20_0b6a98_1x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_33_003147_1x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_35_222222_1x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_44_444444_1x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_80_eeeeee_1x100.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_222222_256x240.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_4b8e0b_256x240.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_a83300_256x240.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_cccccc_256x240.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_ffffff_256x240.png +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/jquery-ui-1.10.3.css +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/jquery-ui.css +%%DATADIR%%/html/3rdParty/jquery/jqueryUI/js/jquery-ui-1.10.3.js %%DATADIR%%/html/3rdParty/jwplayer.qsp +%%DATADIR%%/html/backend_index.qsp %%DATADIR%%/html/css/Status.css -%%DATADIR%%/html/css/images/ui-bg_flat_30_cccccc_40x100.png -%%DATADIR%%/html/css/images/ui-bg_flat_50_5c5c5c_40x100.png -%%DATADIR%%/html/css/images/ui-bg_glass_40_ffc73d_1x400.png -%%DATADIR%%/html/css/images/ui-bg_hexagon_10_000000_12x10.png -%%DATADIR%%/html/css/images/ui-bg_highlight-hard_20_0b6a98_1x100.png -%%DATADIR%%/html/css/images/ui-bg_highlight-soft_33_003147_1x100.png -%%DATADIR%%/html/css/images/ui-bg_highlight-soft_35_222222_1x100.png -%%DATADIR%%/html/css/images/ui-bg_highlight-soft_44_444444_1x100.png -%%DATADIR%%/html/css/images/ui-bg_highlight-soft_80_eeeeee_1x100.png -%%DATADIR%%/html/css/images/ui-icons_222222_256x240.png -%%DATADIR%%/html/css/images/ui-icons_4b8e0b_256x240.png -%%DATADIR%%/html/css/images/ui-icons_a83300_256x240.png -%%DATADIR%%/html/css/images/ui-icons_cccccc_256x240.png -%%DATADIR%%/html/css/images/ui-icons_ffffff_256x240.png -%%DATADIR%%/html/css/jquery-ui.css -%%DATADIR%%/html/css/menustyle.css +%%DATADIR%%/html/css/settings.css %%DATADIR%%/html/css/setup.css %%DATADIR%%/html/css/site.css -%%DATADIR%%/html/css/ui.jqgrid.css -%%DATADIR%%/html/css/ui.multiselect.css %%DATADIR%%/html/css/wsdl.css +%%DATADIR%%/html/debug/websocket.qsp +%%DATADIR%%/html/frontend_index.qsp %%DATADIR%%/html/images/blank.gif %%DATADIR%%/html/images/checkerboard_100x100.png %%DATADIR%%/html/images/favicon.ico +%%DATADIR%%/html/images/icons/README +%%DATADIR%%/html/images/icons/upnp_large_icon.jpg +%%DATADIR%%/html/images/icons/upnp_large_icon.png +%%DATADIR%%/html/images/icons/upnp_small_icon.jpg +%%DATADIR%%/html/images/icons/upnp_small_icon.png %%DATADIR%%/html/images/menu-button-bg.gif %%DATADIR%%/html/images/mythtv.png -%%DATADIR%%/html/images/ui-bg_flat_30_cccccc_40x100.png -%%DATADIR%%/html/images/ui-bg_flat_50_5c5c5c_40x100.png -%%DATADIR%%/html/images/ui-bg_glass_40_ffc73d_1x400.png -%%DATADIR%%/html/images/ui-bg_hexagon_10_000000_12x10.png -%%DATADIR%%/html/images/ui-bg_highlight-hard_20_0b6a98_1x100.png -%%DATADIR%%/html/images/ui-bg_highlight-soft_33_003147_1x100.png -%%DATADIR%%/html/images/ui-bg_highlight-soft_35_222222_1x100.png -%%DATADIR%%/html/images/ui-bg_highlight-soft_44_444444_1x100.png -%%DATADIR%%/html/images/ui-bg_highlight-soft_80_eeeeee_1x100.png -%%DATADIR%%/html/images/ui-icons_222222_256x240.png -%%DATADIR%%/html/images/ui-icons_4b8e0b_256x240.png -%%DATADIR%%/html/images/ui-icons_a83300_256x240.png -%%DATADIR%%/html/images/ui-icons_cccccc_256x240.png -%%DATADIR%%/html/images/ui-icons_ffffff_256x240.png -%%DATADIR%%/html/index.html -%%DATADIR%%/html/js/databaseutil.js %%DATADIR%%/html/js/fileutil.js -%%DATADIR%%/html/js/galleria/LICENSE -%%DATADIR%%/html/js/galleria/galleria-1.2.3.js -%%DATADIR%%/html/js/galleria/galleria-1.2.3.min.js -%%DATADIR%%/html/js/galleria/themes/classic/README.rst -%%DATADIR%%/html/js/galleria/themes/classic/classic-demo.html -%%DATADIR%%/html/js/galleria/themes/classic/classic-loader.gif -%%DATADIR%%/html/js/galleria/themes/classic/classic-map.png -%%DATADIR%%/html/js/galleria/themes/classic/galleria.classic.css -%%DATADIR%%/html/js/galleria/themes/classic/galleria.classic.js -%%DATADIR%%/html/js/galleria/themes/classic/galleria.classic.min.js -%%DATADIR%%/html/js/grid.locale-en.js %%DATADIR%%/html/js/inspect.js -%%DATADIR%%/html/js/jquery-ui.min.js -%%DATADIR%%/html/js/jquery.contextmenu.js -%%DATADIR%%/html/js/jquery.jqGrid.min.js -%%DATADIR%%/html/js/jquery.min.js -%%DATADIR%%/html/js/jqueryFileTree/images/application.png -%%DATADIR%%/html/js/jqueryFileTree/images/code.png -%%DATADIR%%/html/js/jqueryFileTree/images/css.png -%%DATADIR%%/html/js/jqueryFileTree/images/db.png -%%DATADIR%%/html/js/jqueryFileTree/images/directory.png -%%DATADIR%%/html/js/jqueryFileTree/images/doc.png -%%DATADIR%%/html/js/jqueryFileTree/images/file.png -%%DATADIR%%/html/js/jqueryFileTree/images/film.png -%%DATADIR%%/html/js/jqueryFileTree/images/flash.png -%%DATADIR%%/html/js/jqueryFileTree/images/folder_open.png -%%DATADIR%%/html/js/jqueryFileTree/images/html.png -%%DATADIR%%/html/js/jqueryFileTree/images/java.png -%%DATADIR%%/html/js/jqueryFileTree/images/linux.png -%%DATADIR%%/html/js/jqueryFileTree/images/music.png -%%DATADIR%%/html/js/jqueryFileTree/images/pdf.png -%%DATADIR%%/html/js/jqueryFileTree/images/php.png -%%DATADIR%%/html/js/jqueryFileTree/images/picture.png -%%DATADIR%%/html/js/jqueryFileTree/images/ppt.png -%%DATADIR%%/html/js/jqueryFileTree/images/psd.png -%%DATADIR%%/html/js/jqueryFileTree/images/ruby.png -%%DATADIR%%/html/js/jqueryFileTree/images/script.png -%%DATADIR%%/html/js/jqueryFileTree/images/spinner.gif -%%DATADIR%%/html/js/jqueryFileTree/images/txt.png -%%DATADIR%%/html/js/jqueryFileTree/images/xls.png -%%DATADIR%%/html/js/jqueryFileTree/images/zip.png -%%DATADIR%%/html/js/jqueryFileTree/jqueryFileTree.css -%%DATADIR%%/html/js/jqueryFileTree/jqueryFileTree.js %%DATADIR%%/html/js/menu.js -%%DATADIR%%/html/js/ui-multiselect-en.js -%%DATADIR%%/html/js/ui.multiselect.js +%%DATADIR%%/html/js/settings.js %%DATADIR%%/html/js/util.qjs +%%DATADIR%%/html/js/utility.js +%%DATADIR%%/html/js/websocket_events.js %%DATADIR%%/html/menu.qsp +%%DATADIR%%/html/misc/css/overview.css %%DATADIR%%/html/misc/database-backup.html %%DATADIR%%/html/misc/database-repair.html %%DATADIR%%/html/misc/databasetabs.html @@ -848,12 +923,15 @@ %%DATADIR%%/html/misc/js/databasetabs.js %%DATADIR%%/html/misc/js/hardwareprofile.js %%DATADIR%%/html/misc/js/messagetab.js +%%DATADIR%%/html/misc/js/overview.js %%DATADIR%%/html/misc/js/viewlogs.js %%DATADIR%%/html/misc/message.html %%DATADIR%%/html/misc/messagetab.html +%%DATADIR%%/html/misc/misc_template.html %%DATADIR%%/html/misc/overview.qsp %%DATADIR%%/html/misc/placeholder.html %%DATADIR%%/html/misc/viewlogs.html +%%DATADIR%%/html/robots.txt %%DATADIR%%/html/samples/hlstest.qsp %%DATADIR%%/html/samples/js/samples.js %%DATADIR%%/html/samples/livestream_rec.qsp @@ -861,9 +939,11 @@ %%DATADIR%%/html/samples/recorded.qsp %%DATADIR%%/html/samples/serverside.qsp %%DATADIR%%/html/samples/storagegroups.qsp +%%DATADIR%%/html/setup/ajax_backends/setting_util.qsp %%DATADIR%%/html/setup/channeleditor-channeldetail-multi.html %%DATADIR%%/html/setup/channeleditor-channeldetail.html %%DATADIR%%/html/setup/channeleditor.html +%%DATADIR%%/html/setup/css/common.css %%DATADIR%%/html/setup/database.html %%DATADIR%%/html/setup/expert.html %%DATADIR%%/html/setup/general.html @@ -874,28 +954,81 @@ %%DATADIR%%/html/setup/jobqueue-jobs.qsp %%DATADIR%%/html/setup/jobqueue.html %%DATADIR%%/html/setup/js/channeleditor.js +%%DATADIR%%/html/setup/js/common.js %%DATADIR%%/html/setup/js/database.js %%DATADIR%%/html/setup/js/general.js %%DATADIR%%/html/setup/js/guidedatasources.js %%DATADIR%%/html/setup/js/jobqueue.js %%DATADIR%%/html/setup/js/password.js -%%DATADIR%%/html/setup/js/setup.js %%DATADIR%%/html/setup/js/storagegroups.js %%DATADIR%%/html/setup/js/systemevents.js %%DATADIR%%/html/setup/js/wizard.js %%DATADIR%%/html/setup/overview.html %%DATADIR%%/html/setup/password.html +%%DATADIR%%/html/setup/setup_template.html %%DATADIR%%/html/setup/storagegroups-add-dir.html %%DATADIR%%/html/setup/storagegroups-add-new.html %%DATADIR%%/html/setup/storagegroups.html %%DATADIR%%/html/setup/systemevents.html +%%DATADIR%%/html/setup/webfrontend-settings.qsp %%DATADIR%%/html/setup/wizard-database.html %%DATADIR%%/html/setup/wizard-guide_data.html %%DATADIR%%/html/setup/wizard-media_storage.html %%DATADIR%%/html/setup/wizard-network.qsp %%DATADIR%%/html/setup/wizard-recording_devices.html %%DATADIR%%/html/setup/wizard.html +%%DATADIR%%/html/tv/ajax_backends/dvr_util.qsp +%%DATADIR%%/html/tv/ajax_backends/program_util.qsp +%%DATADIR%%/html/tv/css/category_colors.css +%%DATADIR%%/html/tv/css/common.css +%%DATADIR%%/html/tv/css/guide.css +%%DATADIR%%/html/tv/css/icons.css +%%DATADIR%%/html/tv/css/programsearch.css +%%DATADIR%%/html/tv/css/recordingrules.css +%%DATADIR%%/html/tv/css/recordings.css +%%DATADIR%%/html/tv/css/schedule.css +%%DATADIR%%/html/tv/css/tvplayer.css +%%DATADIR%%/html/tv/css/upcoming.css +%%DATADIR%%/html/tv/guide.qsp +%%DATADIR%%/html/tv/images/blank.png +%%DATADIR%%/html/tv/images/cat_movie.svg +%%DATADIR%%/html/tv/images/channel_icon.svg +%%DATADIR%%/html/tv/images/fl_autoexp.svg +%%DATADIR%%/html/tv/images/fl_bookmark.svg +%%DATADIR%%/html/tv/images/fl_commflag.svg +%%DATADIR%%/html/tv/images/fl_watched.svg +%%DATADIR%%/html/tv/images/hd_1080.svg +%%DATADIR%%/html/tv/images/hd_720.svg +%%DATADIR%%/html/tv/images/hd_tv.svg +%%DATADIR%%/html/tv/images/play_arrow.png +%%DATADIR%%/html/tv/images/play_arrow.svg +%%DATADIR%%/html/tv/images/recording_icons_sprite.svg +%%DATADIR%%/html/tv/images/wastebin.svg +%%DATADIR%%/html/tv/js/common.js +%%DATADIR%%/html/tv/js/constants.js +%%DATADIR%%/html/tv/js/guide.js +%%DATADIR%%/html/tv/js/programsearch.js +%%DATADIR%%/html/tv/js/recordings.js +%%DATADIR%%/html/tv/js/schedule.js +%%DATADIR%%/html/tv/js/tvutil.qjs +%%DATADIR%%/html/tv/js/upcoming.js +%%DATADIR%%/html/tv/programsearch.qsp +%%DATADIR%%/html/tv/recordingrules.qsp +%%DATADIR%%/html/tv/recordings.qsp +%%DATADIR%%/html/tv/schedule.qsp +%%DATADIR%%/html/tv/stream.qsp +%%DATADIR%%/html/tv/tvplayer.qsp +%%DATADIR%%/html/tv/upcoming.qsp +%%DATADIR%%/html/video/css/gallery.css +%%DATADIR%%/html/video/gallery.qsp +%%DATADIR%%/html/video/gallery_detail.qsp +%%DATADIR%%/html/video/images/folder_icon.png +%%DATADIR%%/html/video/images/mv_gallery_dir_up.png +%%DATADIR%%/html/video/images/unknown.png +%%DATADIR%%/html/video/js/gallery.js +%%DATADIR%%/html/video/js/gallery.qjs %%DATADIR%%/html/xslt/class.xslt +%%DATADIR%%/html/xslt/enum.xslt %%DATADIR%%/html/xslt/service.xslt %%DATADIR%%/i18n/mythfrontend_bg.qm %%DATADIR%%/i18n/mythfrontend_ca.qm @@ -975,6 +1108,7 @@ %%DATADIR%%/internetcontent/nv_python_libs/configs/XML/defaultUserPrefs/tedtalks.xml %%DATADIR%%/internetcontent/nv_python_libs/configs/XML/defaultUserPrefs/thewb.xml %%DATADIR%%/internetcontent/nv_python_libs/configs/XML/defaultUserPrefs/trailersMashup.xml +%%DATADIR%%/internetcontent/nv_python_libs/configs/XML/defaultUserPrefs/youtube.xml %%DATADIR%%/internetcontent/nv_python_libs/configs/XML/hulu_config.xml %%DATADIR%%/internetcontent/nv_python_libs/configs/XML/mashups_config.xml %%DATADIR%%/internetcontent/nv_python_libs/configs/XML/pbs_config.xml @@ -1044,7 +1178,7 @@ %%DATADIR%%/internetcontent/nv_python_libs/vimeo/oauth/__init__.py %%DATADIR%%/internetcontent/nv_python_libs/vimeo/oauth/oauth_api.py %%DATADIR%%/internetcontent/nv_python_libs/vimeo/vimeo_api.py -%%DATADIR%%/internetcontent/nv_python_libs/vimeo/vimeo_data.pyc +%%DATADIR%%/internetcontent/nv_python_libs/vimeo/vimeo_data.py %%DATADIR%%/internetcontent/nv_python_libs/vimeo/vimeo_exceptions.py %%DATADIR%%/internetcontent/nv_python_libs/xsltfunctions/__init__.py %%DATADIR%%/internetcontent/nv_python_libs/xsltfunctions/bliptvXSL_api.py @@ -1065,6 +1199,7 @@ %%DATADIR%%/internetcontent/nv_python_libs/xsltfunctions/youtubeXSL_api.py %%DATADIR%%/internetcontent/nv_python_libs/youtube/__init__.py %%DATADIR%%/internetcontent/nv_python_libs/youtube/youtube_api.py +%%DATADIR%%/internetcontent/nv_python_libs/youtube/youtube_data.py %%DATADIR%%/internetcontent/nv_python_libs/youtube/youtube_exceptions.py %%DATADIR%%/internetcontent/pbs.py %%DATADIR%%/internetcontent/rev3.py @@ -1095,7 +1230,42 @@ %%DATADIR%%/locales/zh_hk.xml %%DATADIR%%/locales/zh_tw.xml %%DATADIR%%/metadata/Movie/tmdb3.py +%%DATADIR%%/metadata/Music/discid/README +%%DATADIR%%/metadata/Music/discid/__init__.py +%%DATADIR%%/metadata/Music/discid/disc.py +%%DATADIR%%/metadata/Music/discid/libdiscid.py +%%DATADIR%%/metadata/Music/discid/track.py +%%DATADIR%%/metadata/Music/discid/util.py +%%DATADIR%%/metadata/Music/lyrics/README +%%DATADIR%%/metadata/Music/lyrics/alsong.py +%%DATADIR%%/metadata/Music/lyrics/baidu.py +%%DATADIR%%/metadata/Music/lyrics/common/__init__.py +%%DATADIR%%/metadata/Music/lyrics/common/audiofile.py +%%DATADIR%%/metadata/Music/lyrics/common/utilities.py +%%DATADIR%%/metadata/Music/lyrics/darklyrics.py +%%DATADIR%%/metadata/Music/lyrics/embedlrc.py +%%DATADIR%%/metadata/Music/lyrics/examples/README +%%DATADIR%%/metadata/Music/lyrics/examples/filelyrics.lrc +%%DATADIR%%/metadata/Music/lyrics/examples/filelyrics.mp3 +%%DATADIR%%/metadata/Music/lyrics/examples/taglyrics.mp3 +%%DATADIR%%/metadata/Music/lyrics/filelyrics.py +%%DATADIR%%/metadata/Music/lyrics/genius.py +%%DATADIR%%/metadata/Music/lyrics/gomaudio.py +%%DATADIR%%/metadata/Music/lyrics/letssingit.py +%%DATADIR%%/metadata/Music/lyrics/lyricscom.py +%%DATADIR%%/metadata/Music/lyrics/lyricsmode.py +%%DATADIR%%/metadata/Music/lyrics/lyricswiki.py +%%DATADIR%%/metadata/Music/lyrics/ttplayer.py +%%DATADIR%%/metadata/Music/mbutils.py +%%DATADIR%%/metadata/Music/musicbrainzngs/README +%%DATADIR%%/metadata/Music/musicbrainzngs/__init__.py +%%DATADIR%%/metadata/Music/musicbrainzngs/caa.py +%%DATADIR%%/metadata/Music/musicbrainzngs/compat.py +%%DATADIR%%/metadata/Music/musicbrainzngs/mbxml.py +%%DATADIR%%/metadata/Music/musicbrainzngs/musicbrainz.py +%%DATADIR%%/metadata/Music/musicbrainzngs/util.py %%DATADIR%%/metadata/Television/ttvdb.py +%%DATADIR%%/metadata/Television/tvdb_test.conf %%DATADIR%%/mythconverg_backup.pl %%DATADIR%%/mythconverg_restore.pl %%DATADIR%%/setup.xml @@ -1260,6 +1430,7 @@ %%DATADIR%%/themes/MythCenter/qtlook.txt %%DATADIR%%/themes/MythCenter/recordings-ui.xml %%DATADIR%%/themes/MythCenter/schedule-ui.xml +%%DATADIR%%/themes/MythCenter/status-ui.xml %%DATADIR%%/themes/MythCenter/themeinfo.xml %%DATADIR%%/themes/MythCenter/title/title_dvd.png %%DATADIR%%/themes/MythCenter/title/title_gallery.png @@ -1527,7 +1698,6 @@ %%DATADIR%%/themes/Terra/video/video_gallery_background_selected.png %%DATADIR%%/themes/Terra/watermarks/README.license %%DATADIR%%/themes/Terra/watermarks/aerial.png -%%DATADIR%%/themes/Terra/watermarks/appearance.png %%DATADIR%%/themes/Terra/watermarks/archive.png %%DATADIR%%/themes/Terra/watermarks/audio.png %%DATADIR%%/themes/Terra/watermarks/browser.png @@ -1569,6 +1739,7 @@ %%DATADIR%%/themes/Terra/watermarks/select_music.png %%DATADIR%%/themes/Terra/watermarks/status.png %%DATADIR%%/themes/Terra/watermarks/stop_light.png +%%DATADIR%%/themes/Terra/watermarks/themechooser.png %%DATADIR%%/themes/Terra/watermarks/tools.png %%DATADIR%%/themes/Terra/watermarks/tv.png %%DATADIR%%/themes/Terra/watermarks/vcr.png @@ -1738,28 +1909,18 @@ %%DATADIR%%/themes/default/htmls/notfound.html %%DATADIR%%/themes/default/htmls/progdetails_page1.html %%DATADIR%%/themes/default/htmls/progdetails_page2.html +%%DATADIR%%/themes/default/image-ui.xml %%DATADIR%%/themes/default/keyboard/ar.xml -%%DATADIR%%/themes/default/keyboard/ar_ui.xml %%DATADIR%%/themes/default/keyboard/da.xml -%%DATADIR%%/themes/default/keyboard/da_ui.xml %%DATADIR%%/themes/default/keyboard/de.xml -%%DATADIR%%/themes/default/keyboard/de_ui.xml %%DATADIR%%/themes/default/keyboard/el.xml -%%DATADIR%%/themes/default/keyboard/el_ui.xml %%DATADIR%%/themes/default/keyboard/en_gb.xml -%%DATADIR%%/themes/default/keyboard/en_gb_ui.xml %%DATADIR%%/themes/default/keyboard/en_us.xml -%%DATADIR%%/themes/default/keyboard/en_us_ui.xml %%DATADIR%%/themes/default/keyboard/es.xml -%%DATADIR%%/themes/default/keyboard/es_ui.xml %%DATADIR%%/themes/default/keyboard/fr.xml %%DATADIR%%/themes/default/keyboard/fr_ch.xml -%%DATADIR%%/themes/default/keyboard/fr_ch_ui.xml -%%DATADIR%%/themes/default/keyboard/fr_ui.xml %%DATADIR%%/themes/default/keyboard/he.xml -%%DATADIR%%/themes/default/keyboard/he_ui.xml %%DATADIR%%/themes/default/keyboard/it.xml -%%DATADIR%%/themes/default/keyboard/it_ui.xml %%DATADIR%%/themes/default/keyboard/key_down.png %%DATADIR%%/themes/default/keyboard/key_down_back.png %%DATADIR%%/themes/default/keyboard/key_down_del.png @@ -1796,14 +1957,11 @@ %%DATADIR%%/themes/default/keyboard/keyboard.xml %%DATADIR%%/themes/default/keyboard/leftarrow.png %%DATADIR%%/themes/default/keyboard/nb.xml -%%DATADIR%%/themes/default/keyboard/nb_ui.xml %%DATADIR%%/themes/default/keyboard/returnarrow.png %%DATADIR%%/themes/default/keyboard/rightarrow.png %%DATADIR%%/themes/default/keyboard/ru.xml -%%DATADIR%%/themes/default/keyboard/ru_ui.xml %%DATADIR%%/themes/default/keyboard/shiftarrow.png %%DATADIR%%/themes/default/keyboard/sv.xml -%%DATADIR%%/themes/default/keyboard/sv_ui.xml %%DATADIR%%/themes/default/lb-arrow.png %%DATADIR%%/themes/default/lb-check-empty.png %%DATADIR%%/themes/default/lb-check-full.png @@ -2074,6 +2232,7 @@ %%DATADIR%%/themes/default/menu_playback.xml %%DATADIR%%/themes/default/menu_playback_compact.xml %%DATADIR%%/themes/default/mono.png +%%DATADIR%%/themes/default/musicscanner.png %%DATADIR%%/themes/default/mv_browse_background.png %%DATADIR%%/themes/default/mv_browse_selector.png %%DATADIR%%/themes/default/mv_filerequest.png @@ -2135,9 +2294,13 @@ %%DATADIR%%/themes/default/shared/directory.png %%DATADIR%%/themes/default/shared/executable.png %%DATADIR%%/themes/default/shared/file.png +%%DATADIR%%/themes/default/shared/folder-reg.png +%%DATADIR%%/themes/default/shared/folder-sel.png %%DATADIR%%/themes/default/shared/grid_back_reg.png %%DATADIR%%/themes/default/shared/grid_back_sel.png %%DATADIR%%/themes/default/shared/grid_noimage.png +%%DATADIR%%/themes/default/shared/movie-reg.png +%%DATADIR%%/themes/default/shared/movie-sel.png %%DATADIR%%/themes/default/shared/secure.png %%DATADIR%%/themes/default/shared/unsecure.png %%DATADIR%%/themes/default/shared/updirectory.png @@ -2145,6 +2308,7 @@ %%DATADIR%%/themes/default/solid-container.png %%DATADIR%%/themes/default/solid-cr-background.png %%DATADIR%%/themes/default/sr-background.png +%%DATADIR%%/themes/default/standardsetting-ui.xml %%DATADIR%%/themes/default/status-bar.png %%DATADIR%%/themes/default/status-ui.xml %%DATADIR%%/themes/default/stereo.png Index: head/www/mythplugin-mythweb/Makefile =================================================================== --- head/www/mythplugin-mythweb/Makefile +++ head/www/mythplugin-mythweb/Makefile @@ -2,9 +2,8 @@ # $FreeBSD$ PORTNAME= mythweb -PORTVERSION= 0.28.1 DISTVERSIONPREFIX= v -PORTREVISION= 1 +DISTVERSION= 29.1 CATEGORIES= www PKGNAMEPREFIX= mythplugin- @@ -14,14 +13,11 @@ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE -IGNORE_WITH_PHP= 70 71 72 - -RUN_DEPENDS= p5-DBD-mysql>=0:databases/p5-DBD-mysql - -USES= php shebangfix +USES= php shebangfix perl5 +USE_PERL5= run +USE_PHP= json pcre posix mysqli session spl sockets USE_GITHUB= yes GH_ACCOUNT= MythTV -USE_PHP= json mysql pcre posix session spl SHEBANG_FILES= mythweb.pl modules/_shared/lang/build_translation.pl \ modules/coverart/handler.pl modules/stream/*.pl @@ -31,11 +27,13 @@ SUB_FILES= pkg-message REINPLACE_ARGS= -i "" -OPTIONS_DEFINE= APACHE LIGHTTPD +OPTIONS_DEFINE= APACHE LIGHTTPD NGINX OPTIONS_DEFAULT= APACHE APACHE_USE= APACHE_RUN=22+ LIGHTTPD_RUN_DEPENDS= lighttpd:www/lighttpd +NGINX_DESC= Nginx server support +NGINX_RUN_DEPENDS= nginx:www/nginx post-patch: @${REINPLACE_CMD} -e 's|/var/www/html|${WWWDIR}|' \ Index: head/www/mythplugin-mythweb/distinfo =================================================================== --- head/www/mythplugin-mythweb/distinfo +++ head/www/mythplugin-mythweb/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1494080463 -SHA256 (MythTV-mythweb-v0.28.1_GH0.tar.gz) = bbd82992230d3571eba55a26a91cc3f2dcddfa631d1822ce58e1bf99f2537244 -SIZE (MythTV-mythweb-v0.28.1_GH0.tar.gz) = 1705490 +TIMESTAMP = 1519575608 +SHA256 (MythTV-mythweb-v29.1_GH0.tar.gz) = 30583d7c077dbc732053d0ee7b13a46ab3ceaeb0aaa7c8e9744ef6ac959989e8 +SIZE (MythTV-mythweb-v29.1_GH0.tar.gz) = 1796312 Index: head/www/mythplugin-mythweb/pkg-plist =================================================================== --- head/www/mythplugin-mythweb/pkg-plist +++ head/www/mythplugin-mythweb/pkg-plist @@ -49,6 +49,9 @@ %%WWWDIR%%/includes/translate.php %%WWWDIR%%/includes/utils.php %%WWWDIR%%/js/AC_OETags.js +%%WWWDIR%%/js/README +%%WWWDIR%%/js/ajax/libs/jquery/3.2.1/jquery.min.js +%%WWWDIR%%/js/ajax/libs/prototype/1.7.3.0/prototype.js %%WWWDIR%%/js/dialog/dialog.css %%WWWDIR%%/js/dialog/dialog.js %%WWWDIR%%/js/jquery-1.9.1.min.js