From d2cbfc286c25f31f20433e9149a0e62c4aaf900f Mon Sep 17 00:00:00 2001 From: Nathan Harris Date: Sun, 8 Feb 2009 17:20:20 -0500 Subject: The new structure... does not work yet. --- abs/core-testing/mythtv/trunk/mytharchive/PKGBUILD | 41 ++ abs/core-testing/mythtv/trunk/mythbrowser/PKGBUILD | 35 ++ .../mythtv/trunk/mythcontrols/PKGBUILD | 35 ++ abs/core-testing/mythtv/trunk/mythflix/PKGBUILD | 34 ++ abs/core-testing/mythtv/trunk/mythgallery/PKGBUILD | 36 ++ abs/core-testing/mythtv/trunk/mythgame/PKGBUILD | 36 ++ .../mythtv/trunk/mythmovietime/PKGBUILD | 36 ++ abs/core-testing/mythtv/trunk/mythmusic/PKGBUILD | 41 ++ .../mythtv/trunk/mythmusic/music_flac.patch | 293 +++++++++ abs/core-testing/mythtv/trunk/mythnews/PKGBUILD | 34 ++ abs/core-testing/mythtv/trunk/mythphone/PKGBUILD | 42 ++ abs/core-testing/mythtv/trunk/myththemes/PKGBUILD | 36 ++ .../DeviceReadBuffer-polltimeout.2.patch | 219 ------- abs/core-testing/mythtv/trunk/mythtv-svn/PKGBUILD | 78 --- .../mythtv/trunk/mythtv-svn/aacdecoder.cpp.patch | 12 - .../trunk/mythtv-svn/hdpvr-v4lchannel-tweak.patch | 139 ----- .../trunk/mythtv-svn/menu-xml/HOST_SETTINGS.xml | 87 --- .../mythtv/trunk/mythtv-svn/menu-xml/is.xml | 33 - .../mythtv/trunk/mythtv-svn/menu-xml/knoppmyth.xml | 55 -- .../trunk/mythtv-svn/menu-xml/library.xml.patch | 13 - .../trunk/mythtv-svn/menu-xml/mainmenu.xml.patch | 16 - .../mythtv/trunk/mythtv-svn/menu-xml/motion.xml | 20 - .../mythtv-svn/menu-xml/optical_menu.xml.patch | 15 - .../mythtv/trunk/mythtv-svn/menu-xml/setup.xml | 111 ---- .../trunk/mythtv-svn/menu-xml/siriusmenu.xml | 419 ------------- .../mythtv/trunk/mythtv-svn/menu-xml/xmmenu.xml | 574 ------------------ .../trunk/mythtv-svn/mpegrecorder-hdpvr-v1.1.patch | 658 -------------------- abs/core-testing/mythtv/trunk/mythtv-svn/myth.sh | 4 - .../mythtv/trunk/mythtv-svn/mythbackend | 37 -- .../mythtv/trunk/mythtv-svn/mythbackend.sh | 117 ---- .../trunk/mythtv-svn/mythcommflag-avidemux.2.patch | 179 ------ .../mythtv/trunk/mythtv-svn/mythtv.install | 55 -- .../patches/DeviceReadBuffer-polltimeout.2.patch | 219 ------- .../trunk/mythtv-svn/patches/aacdecoder.cpp.patch | 12 - .../patches/hdpvr-v4lchannel-tweak.patch | 139 ----- .../patches/mpegrecorder-hdpvr-v1.1.patch | 658 -------------------- .../patches/mythcommflag-avidemux.2.patch | 179 ------ .../mythtv/trunk/mythtv-svn/smolt_jump.patch | 30 - .../trunk/mythtv-svn/svn_main_menu_popup.patch | 211 ------- .../mythtv/trunk/mythtv-themes/PKGBUILD | 36 -- .../mythtv/DeviceReadBuffer-polltimeout.2.patch | 219 +++++++ abs/core-testing/mythtv/trunk/mythtv/PKGBUILD | 76 +++ .../mythtv/trunk/mythtv/aacdecoder.cpp.patch | 12 + .../mythtv/trunk/mythtv/compile_mythtv.sh | 99 +++ abs/core-testing/mythtv/trunk/mythtv/get_mythtv.sh | 77 +++ .../mythtv/trunk/mythtv/hdpvr-livetv.patch | 109 ++++ .../mythtv/trunk/mythtv/menu-xml/HOST_SETTINGS.xml | 87 +++ .../mythtv/trunk/mythtv/menu-xml/is.xml | 3 + .../mythtv/trunk/mythtv/menu-xml/library.xml.patch | 13 + .../mythtv/trunk/mythtv/menu-xml/linhes.xml | 54 ++ .../trunk/mythtv/menu-xml/mainmenu.xml.patch | 39 ++ .../mythtv/trunk/mythtv/menu-xml/mythbackup.xml | 20 + .../mythtv/trunk/mythtv/menu-xml/mythrestore.xml | 20 + .../trunk/mythtv/menu-xml/optical_menu.xml.patch | 15 + .../trunk/mythtv/menu-xml/original/create_patch.sh | 5 + .../mythtv/trunk/mythtv/menu-xml/setup.xml | 111 ++++ .../mythtv/trunk/mythtv/menu-xml/siriusmenu.xml | 419 +++++++++++++ .../trunk/mythtv/menu-xml/util_menu.xml.patch | 17 + .../mythtv/trunk/mythtv/menu-xml/xmmenu.xml | 574 ++++++++++++++++++ .../trunk/mythtv/mpegrecorder-hdpvr-v2a.patch | 668 +++++++++++++++++++++ abs/core-testing/mythtv/trunk/mythtv/myth.sh | 4 + abs/core-testing/mythtv/trunk/mythtv/mythbackend | 38 ++ .../mythtv/trunk/mythtv/mythbackend.sh | 117 ++++ .../mythtv/trunk/mythtv/mythtv.install | 55 ++ .../mythtv/trunk/mythtv/smolt_jump.patch | 30 + .../mythtv/trunk/mythtv/svn_main_menu_popup.patch | 211 +++++++ abs/core-testing/mythtv/trunk/mythvideo/PKGBUILD | 36 ++ abs/core-testing/mythtv/trunk/mythweather/PKGBUILD | 35 ++ abs/core-testing/mythtv/trunk/mythweb/PKGBUILD | 35 ++ .../mythtv/trunk/mythweb/dblogininit.inc | 6 + .../mythtv/trunk/mythweb/mythweb.install | 37 ++ .../mythtv/trunk/mythweb/mythweblighttpd.patch | 13 + .../mythtv/trunk/mythweb/xris/dblogininit.inc | 6 + .../mythtv/trunk/mythweb/xris/lighttpd.conf | 332 ++++++++++ .../trunk/mythweb/xris/mythweblighttpd.patch | 16 + .../mythtv/trunk/plugins/mytharchive/PKGBUILD | 41 -- .../mythtv/trunk/plugins/mythbrowser/PKGBUILD | 35 -- .../mythtv/trunk/plugins/mythcontrols/PKGBUILD | 35 -- .../mythtv/trunk/plugins/mythflix/PKGBUILD | 34 -- .../mythtv/trunk/plugins/mythgallery/PKGBUILD | 36 -- .../mythtv/trunk/plugins/mythgame/PKGBUILD | 36 -- .../mythtv/trunk/plugins/mythmovietime/PKGBUILD | 36 -- .../mythtv/trunk/plugins/mythmusic/PKGBUILD | 41 -- .../trunk/plugins/mythmusic/music_flac.patch | 293 --------- .../mythtv/trunk/plugins/mythnews/PKGBUILD | 34 -- .../mythtv/trunk/plugins/mythphone/PKGBUILD | 42 -- .../mythtv/trunk/plugins/mythvideo/PKGBUILD | 36 -- .../mythtv/trunk/plugins/mythweather/PKGBUILD | 35 -- .../mythtv/trunk/plugins/mythweb/PKGBUILD | 35 -- .../mythtv/trunk/plugins/mythweb/dblogininit.inc | 6 - .../mythtv/trunk/plugins/mythweb/mythweb.install | 37 -- .../trunk/plugins/mythweb/mythweblighttpd.patch | 13 - .../trunk/plugins/mythweb/xris/dblogininit.inc | 6 - .../trunk/plugins/mythweb/xris/lighttpd.conf | 332 ---------- .../plugins/mythweb/xris/mythweblighttpd.patch | 16 - 95 files changed, 4307 insertions(+), 5504 deletions(-) create mode 100644 abs/core-testing/mythtv/trunk/mytharchive/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythbrowser/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythcontrols/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythflix/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythgallery/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythgame/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythmovietime/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythmusic/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythmusic/music_flac.patch create mode 100644 abs/core-testing/mythtv/trunk/mythnews/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythphone/PKGBUILD create mode 100755 abs/core-testing/mythtv/trunk/myththemes/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/DeviceReadBuffer-polltimeout.2.patch delete mode 100755 abs/core-testing/mythtv/trunk/mythtv-svn/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/aacdecoder.cpp.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/hdpvr-v4lchannel-tweak.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/HOST_SETTINGS.xml delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/is.xml delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/knoppmyth.xml delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/library.xml.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/mainmenu.xml.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/motion.xml delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/optical_menu.xml.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/setup.xml delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/siriusmenu.xml delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/xmmenu.xml delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/mpegrecorder-hdpvr-v1.1.patch delete mode 100755 abs/core-testing/mythtv/trunk/mythtv-svn/myth.sh delete mode 100755 abs/core-testing/mythtv/trunk/mythtv-svn/mythbackend delete mode 100755 abs/core-testing/mythtv/trunk/mythtv-svn/mythbackend.sh delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/mythcommflag-avidemux.2.patch delete mode 100755 abs/core-testing/mythtv/trunk/mythtv-svn/mythtv.install delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/patches/DeviceReadBuffer-polltimeout.2.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/patches/aacdecoder.cpp.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/patches/hdpvr-v4lchannel-tweak.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/patches/mpegrecorder-hdpvr-v1.1.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/patches/mythcommflag-avidemux.2.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/smolt_jump.patch delete mode 100644 abs/core-testing/mythtv/trunk/mythtv-svn/svn_main_menu_popup.patch delete mode 100755 abs/core-testing/mythtv/trunk/mythtv-themes/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythtv/DeviceReadBuffer-polltimeout.2.patch create mode 100755 abs/core-testing/mythtv/trunk/mythtv/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythtv/aacdecoder.cpp.patch create mode 100755 abs/core-testing/mythtv/trunk/mythtv/compile_mythtv.sh create mode 100755 abs/core-testing/mythtv/trunk/mythtv/get_mythtv.sh create mode 100644 abs/core-testing/mythtv/trunk/mythtv/hdpvr-livetv.patch create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/HOST_SETTINGS.xml create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/is.xml create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/library.xml.patch create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/linhes.xml create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/mainmenu.xml.patch create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/mythbackup.xml create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/mythrestore.xml create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/optical_menu.xml.patch create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/original/create_patch.sh create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/setup.xml create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/siriusmenu.xml create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/util_menu.xml.patch create mode 100755 abs/core-testing/mythtv/trunk/mythtv/menu-xml/xmmenu.xml create mode 100644 abs/core-testing/mythtv/trunk/mythtv/mpegrecorder-hdpvr-v2a.patch create mode 100755 abs/core-testing/mythtv/trunk/mythtv/myth.sh create mode 100755 abs/core-testing/mythtv/trunk/mythtv/mythbackend create mode 100755 abs/core-testing/mythtv/trunk/mythtv/mythbackend.sh create mode 100755 abs/core-testing/mythtv/trunk/mythtv/mythtv.install create mode 100644 abs/core-testing/mythtv/trunk/mythtv/smolt_jump.patch create mode 100644 abs/core-testing/mythtv/trunk/mythtv/svn_main_menu_popup.patch create mode 100644 abs/core-testing/mythtv/trunk/mythvideo/PKGBUILD create mode 100644 abs/core-testing/mythtv/trunk/mythweather/PKGBUILD create mode 100755 abs/core-testing/mythtv/trunk/mythweb/PKGBUILD create mode 100755 abs/core-testing/mythtv/trunk/mythweb/dblogininit.inc create mode 100755 abs/core-testing/mythtv/trunk/mythweb/mythweb.install create mode 100755 abs/core-testing/mythtv/trunk/mythweb/mythweblighttpd.patch create mode 100755 abs/core-testing/mythtv/trunk/mythweb/xris/dblogininit.inc create mode 100755 abs/core-testing/mythtv/trunk/mythweb/xris/lighttpd.conf create mode 100755 abs/core-testing/mythtv/trunk/mythweb/xris/mythweblighttpd.patch delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mytharchive/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythbrowser/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythcontrols/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythflix/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythgallery/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythgame/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythmovietime/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythmusic/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythmusic/music_flac.patch delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythnews/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythphone/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythvideo/PKGBUILD delete mode 100644 abs/core-testing/mythtv/trunk/plugins/mythweather/PKGBUILD delete mode 100755 abs/core-testing/mythtv/trunk/plugins/mythweb/PKGBUILD delete mode 100755 abs/core-testing/mythtv/trunk/plugins/mythweb/dblogininit.inc delete mode 100755 abs/core-testing/mythtv/trunk/plugins/mythweb/mythweb.install delete mode 100755 abs/core-testing/mythtv/trunk/plugins/mythweb/mythweblighttpd.patch delete mode 100755 abs/core-testing/mythtv/trunk/plugins/mythweb/xris/dblogininit.inc delete mode 100755 abs/core-testing/mythtv/trunk/plugins/mythweb/xris/lighttpd.conf delete mode 100755 abs/core-testing/mythtv/trunk/plugins/mythweb/xris/mythweblighttpd.patch diff --git a/abs/core-testing/mythtv/trunk/mytharchive/PKGBUILD b/abs/core-testing/mythtv/trunk/mytharchive/PKGBUILD new file mode 100644 index 0000000..4d3e179 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mytharchive/PKGBUILD @@ -0,0 +1,41 @@ +pkgname=mytharchive-svn +pkgver=16153 +pkgrel=3 +pkgdesc="MythTV plugin that lets you create DVDs from or archive your recorded shows." +arch=('i686') +url="http://www.mythtv.org" +license=('GPL') +depends=('mythtv-svn' 'libxmu' 'mysql-python' 'pil' 'dvdauthor') +source=() +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + + +build() { + PLUGIN=mytharchive + cd $startdir/src/ + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins + + PLUGIN=mytharchive + grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro + if [ $? != 0 ] + then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + msg "Correcting configure kde3 to kde" + sed -i 's#kde3#kde#' configure || return 1 + make distclean + ./configure --enable-opengl --disable-all --enable-create-archive --enable-create-dvd --enable-mytharchive || return 1 + qmake mythplugins.pro || return 1 + make qmake || return 1 + msg "Correcting Makefile kde3 to kde" + sed -i 's#kde3#kde#' ./mytharchive/mytharchive/Makefile || return 1 + make -j 2 || return 1 + make INSTALL_ROOT=$startdir/pkg install +} + + diff --git a/abs/core-testing/mythtv/trunk/mythbrowser/PKGBUILD b/abs/core-testing/mythtv/trunk/mythbrowser/PKGBUILD new file mode 100644 index 0000000..4c57cf0 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythbrowser/PKGBUILD @@ -0,0 +1,35 @@ + +pkgname=mythbrowser-svn +pkgver=16153 +pkgrel=2 +pkgdesc="Mini web browser for MythTV" +url="http://www.mythtv.org" +arch=('i686') +depends=('mythtv-svn' 'wget' 'libxvmc' 'kdelibs') +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +license="GPL" +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + +build() { + cd $startdir/src/ + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins + pwd + PLUGIN=mythbrowser + grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro + if [ $? != 0 ] + then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + make distclean + ./configure --enable-opengl --disable-all --enable-mythbrowser || return 1 + # sed -i 's#kde3#kde#' ./mythbrowser/mythbrowser/Makefile || return 1 + make || return 1 + + make INSTALL_ROOT=$startdir/pkg install +} diff --git a/abs/core-testing/mythtv/trunk/mythcontrols/PKGBUILD b/abs/core-testing/mythtv/trunk/mythcontrols/PKGBUILD new file mode 100644 index 0000000..f4d6da6 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythcontrols/PKGBUILD @@ -0,0 +1,35 @@ +pkgname=mythcontrols-svn +pkgver=16153 +pkgrel=5 +pkgdesc="Experimental controls for MythTV" +url="http://www.mythtv.org" +arch=('i686') +depends=('mythtv'-svn) +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +license="GPL" +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + + +build() { + cd $startdir/src/ + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins +PLUGIN=mythcontrols +grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro +if [ $? != 0 ] +then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + make distclean + ./configure --disable-all --enable-opengl --enable-mythcontrols + + make -j 2 || return 1 + + make INSTALL_ROOT=$startdir/pkg install +} + diff --git a/abs/core-testing/mythtv/trunk/mythflix/PKGBUILD b/abs/core-testing/mythtv/trunk/mythflix/PKGBUILD new file mode 100644 index 0000000..9e8c92e --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythflix/PKGBUILD @@ -0,0 +1,34 @@ +pkgname=mythflix-svn +pkgver=16153 +pkgrel=2 +pkgdesc="Netflix access plugin for MythTV" +url="http://www.mythtv.org" +arch=('i686') +depends=('mythtv-svn') +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +license="GPL" +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + + +build() { + cd $startdir/src/ + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins + PLUGIN=mythflix + grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro + if [ $? != 0 ] + then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + make distclean + ./configure --disable-all --enable-opengl --enable-mythflix + + make -j 2 || return 1 + + make INSTALL_ROOT=$startdir/pkg install +} diff --git a/abs/core-testing/mythtv/trunk/mythgallery/PKGBUILD b/abs/core-testing/mythtv/trunk/mythgallery/PKGBUILD new file mode 100644 index 0000000..52fb732 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythgallery/PKGBUILD @@ -0,0 +1,36 @@ +pkgname=mythgallery-svn +pkgver=16153 +pkgrel=3 +pkgdesc="Image gallery plugin for MythTV" +url="http://www.mythtv.org" +arch=('i686') +depends=('mythtv-svn' 'libexif' 'libtiff') +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +license="GPL" +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + + +build() { + cd $startdir/src/ + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins + export QMAKESPEC='linux-g++' + PLUGIN=mythgallery + grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro + if [ $? != 0 ] + then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + make distclean + ./configure --disable-all --enable-opengl --enable-mythgallery --enable-exif + + make -j 2 || return 1 + + make INSTALL_ROOT=$startdir/pkg install +} + diff --git a/abs/core-testing/mythtv/trunk/mythgame/PKGBUILD b/abs/core-testing/mythtv/trunk/mythgame/PKGBUILD new file mode 100644 index 0000000..8c4257f --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythgame/PKGBUILD @@ -0,0 +1,36 @@ +pkgname=mythgame-svn +pkgver=16153 +pkgrel=4 +pkgdesc="Emulation plugin for MythTV" +url="http://www.mythtv.org" +arch=('i686') +depends=('mythtv-svn' 'zlib') +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +license="GPL" +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + + +build() { + cd $startdir/src/ + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins +PLUGIN=mythgame +grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro +if [ $? != 0 ] +then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + export QMAKESPEC='linux-g++' + make distclean + ./configure --disable-all --enable-opengl --enable-mythgame + + make -j 2 || return 1 + + make INSTALL_ROOT=$startdir/pkg install +} + diff --git a/abs/core-testing/mythtv/trunk/mythmovietime/PKGBUILD b/abs/core-testing/mythtv/trunk/mythmovietime/PKGBUILD new file mode 100644 index 0000000..f83cdbf --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythmovietime/PKGBUILD @@ -0,0 +1,36 @@ +pkgname=mythmovietime-svn +pkgver=16153 +pkgrel=6 +pkgdesc="Emulation plugin for MythTV" +url="http://www.mythtv.org" +arch=('i686') +depends=('mythtv-svn' 'zlib') +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +license="GPL" +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + + +build() { + cd $startdir/src/ + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins +PLUGIN=mythmovietime +grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro +if [ $? != 0 ] +then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + export QMAKESPEC='linux-g++' + make distclean + ./configure --disable-all --enable-mythmovies + + make -j 2 || return 1 + + make INSTALL_ROOT=$startdir/pkg install +} + diff --git a/abs/core-testing/mythtv/trunk/mythmusic/PKGBUILD b/abs/core-testing/mythtv/trunk/mythmusic/PKGBUILD new file mode 100644 index 0000000..28cbe82 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythmusic/PKGBUILD @@ -0,0 +1,41 @@ + + +pkgname=mythmusic-svn +pkgver=16153 +pkgrel=9 +pkgdesc="Music playing plugin for MythTV" +url="http://www.mythtv.org" +arch=('i686' 'x86_64') +#depends=('mythtv-svn' 'libid3tag' 'libmad' 'libvorbis' 'flac>=1.1.4' 'libcdaudio' \ +# 'cdparanoia' 'fftw2' 'sdl' 'faad2' 'lame' ) + + depends=('mythtv-svn ' 'libid3tag' 'flac>=1.1.4 ' 'a52dec' 'libcdaudio' 'libcddb' 'libdvdread' 'libid3tag' 'libmad' 'libogg' 'libtheora' 'libvorbis' 'taglib' 'libvisual' 'cdparanoia' 'sdl' 'faad2' 'lame' 'fftw2double') + +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +license="GPL" +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + + +build() { + cd $startdir/src/ + make distclean + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins +PLUGIN=mythmusic +grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro +if [ $? != 0 ] +then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + +# ./configure --disable-all --enable-mythmusic + + make || return 1 + + make INSTALL_ROOT=$startdir/pkg install +} diff --git a/abs/core-testing/mythtv/trunk/mythmusic/music_flac.patch b/abs/core-testing/mythtv/trunk/mythmusic/music_flac.patch new file mode 100644 index 0000000..b152249 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythmusic/music_flac.patch @@ -0,0 +1,293 @@ +--- flacdecoder.cpp.old 2007-03-11 18:14:37.000000000 -0400 ++++ flacdecoder.cpp 2007-03-11 18:15:34.000000000 -0400 +@@ -17,7 +17,7 @@ + + #include + +-static FLAC__SeekableStreamDecoderReadStatus flacread(const FLAC__SeekableStreamDecoder *decoder, FLAC__byte bufferp[], unsigned *bytes, void *client_data) ++static FLAC__StreamDecoderReadStatus flacread(const FLAC__StreamDecoder *decoder, FLAC__byte bufferp[], unsigned *bytes, void *client_data) + { + decoder = decoder; + +@@ -26,27 +26,27 @@ + + if (len == -1) + { +- return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR; ++ return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM; + } + + *bytes = len; +- return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK; ++ return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE; + } + +-static FLAC__SeekableStreamDecoderSeekStatus flacseek(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) ++static FLAC__StreamDecoderSeekStatus flacseek(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) + { + decoder = decoder; + FlacDecoder *dflac = (FlacDecoder *)client_data; + + if (!dflac->input()->isDirectAccess()) +- return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR; ++ return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR; + + if (dflac->input()->at(absolute_byte_offset)) +- return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK; +- return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR; ++ return FLAC__STREAM_DECODER_SEEK_STATUS_OK; ++ return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR; + } + +-static FLAC__SeekableStreamDecoderTellStatus flactell(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) ++static FLAC__StreamDecoderTellStatus flactell(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) + { + decoder = decoder; + FlacDecoder *dflac = (FlacDecoder *)client_data; +@@ -54,20 +54,20 @@ + long t = dflac->input()->at(); + *absolute_byte_offset = t; + +- return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK; ++ return FLAC__STREAM_DECODER_TELL_STATUS_OK; + } + +-static FLAC__SeekableStreamDecoderLengthStatus flaclength(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data) ++static FLAC__StreamDecoderLengthStatus flaclength(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data) + { + decoder = decoder; + + FlacDecoder *dflac = (FlacDecoder *)client_data; + + *stream_length = dflac->input()->size(); +- return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK; ++ return FLAC__STREAM_DECODER_LENGTH_STATUS_OK; + } + +-static FLAC__bool flaceof(const FLAC__SeekableStreamDecoder *decoder, void *client_data) ++static FLAC__bool flaceof(const FLAC__StreamDecoder *decoder, void *client_data) + { + decoder = decoder; + +@@ -76,7 +76,7 @@ + return dflac->input()->atEnd(); + } + +-static FLAC__StreamDecoderWriteStatus flacwrite(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data) ++static FLAC__StreamDecoderWriteStatus flacwrite(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data) + { + decoder = decoder; + +@@ -132,7 +132,7 @@ + } + } + +-static void flacmetadata(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) ++static void flacmetadata(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) + { + decoder = decoder; + +@@ -156,11 +156,11 @@ + } + } + +-static void flacerror(const FLAC__SeekableStreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) ++static void flacerror(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) + { + decoder = decoder; + +- FLAC__FileDecoder *file_decoder = (FLAC__FileDecoder *)client_data; ++ FLAC__StreamDecoder *file_decoder = (FLAC__StreamDecoder *)client_data; + + file_decoder = file_decoder; + status = status; +@@ -262,17 +262,8 @@ + } + } + +- decoder = FLAC__seekable_stream_decoder_new(); +- FLAC__seekable_stream_decoder_set_md5_checking(decoder, false); +- FLAC__seekable_stream_decoder_set_read_callback(decoder, flacread); +- FLAC__seekable_stream_decoder_set_seek_callback(decoder, flacseek); +- FLAC__seekable_stream_decoder_set_tell_callback(decoder, flactell); +- FLAC__seekable_stream_decoder_set_length_callback(decoder, flaclength); +- FLAC__seekable_stream_decoder_set_eof_callback(decoder, flaceof); +- FLAC__seekable_stream_decoder_set_write_callback(decoder, flacwrite); +- FLAC__seekable_stream_decoder_set_metadata_callback(decoder, flacmetadata); +- FLAC__seekable_stream_decoder_set_error_callback(decoder, flacerror); +- FLAC__seekable_stream_decoder_set_client_data(decoder, this); ++ decoder = FLAC__stream_decoder_new(); ++ FLAC__stream_decoder_set_md5_checking(decoder, false); + + freq = 0; + bitrate = 0; +@@ -281,8 +272,17 @@ + totalTime = 0; + totalTime = totalTime < 0 ? 0 : totalTime; + +- FLAC__seekable_stream_decoder_init(decoder); +- FLAC__seekable_stream_decoder_process_until_end_of_metadata(decoder); ++ FLAC__stream_decoder_init_stream(decoder, ++ flacread, ++ flacseek, ++ flactell, ++ flaclength, ++ flaceof, ++ flacwrite, ++ flacmetadata, ++ flacerror, ++ this); ++ FLAC__stream_decoder_process_until_end_of_metadata(decoder); + + inited = TRUE; + return TRUE; +@@ -295,8 +295,8 @@ + + void FlacDecoder::deinit() + { +- FLAC__seekable_stream_decoder_finish(decoder); +- FLAC__seekable_stream_decoder_delete(decoder); ++ FLAC__stream_decoder_finish(decoder); ++ FLAC__stream_decoder_delete(decoder); + + if (input()->isOpen()) + input()->close(); +@@ -330,7 +330,7 @@ + } + + bool flacok = true; +- FLAC__SeekableStreamDecoderState decoderstate; ++ FLAC__StreamDecoderState decoderstate; + + while (! done && ! finish) { + lock(); +@@ -340,12 +340,12 @@ + FLAC__uint64 sample = (FLAC__uint64)(seekTime * 44100.0); + if (sample > totalsamples - 50) + sample = totalsamples - 50; +- FLAC__seekable_stream_decoder_seek_absolute(decoder, sample); ++ FLAC__stream_decoder_seek_absolute(decoder, sample); + seekTime = -1.0; + } + +- flacok = FLAC__seekable_stream_decoder_process_single(decoder); +- decoderstate = FLAC__seekable_stream_decoder_get_state(decoder); ++ flacok = FLAC__stream_decoder_process_single(decoder); ++ decoderstate = FLAC__stream_decoder_get_state(decoder); + + if (decoderstate == 0 || decoderstate == 1) + { +--- flacdecoder.h.old 2007-03-11 18:14:37.000000000 -0400 ++++ flacdecoder.h 2007-03-11 18:14:12.000000000 -0400 +@@ -35,7 +35,7 @@ + char *output_buf; + ulong output_bytes, output_at; + +- FLAC__SeekableStreamDecoder *decoder; ++ FLAC__StreamDecoder *decoder; + + unsigned int bks; + bool done, finish; +--- flacencoder.cpp.old 2007-03-11 18:14:37.000000000 -0400 ++++ flacencoder.cpp 2007-03-11 18:14:12.000000000 -0400 +@@ -9,7 +9,7 @@ + #include "flacencoder.h" + #include "metaioflacvorbiscomment.h" + +-#include ++#include + #include + #include + +@@ -29,32 +29,32 @@ + int rice_parameter_search_dist = 0; + int max_lpc_order = 8; + +- encoder = FLAC__file_encoder_new(); ++ encoder = FLAC__stream_encoder_new(); + +- FLAC__file_encoder_set_streamable_subset(encoder, true); +- FLAC__file_encoder_set_do_mid_side_stereo(encoder, do_mid_side); +- FLAC__file_encoder_set_loose_mid_side_stereo(encoder, loose_mid_side); +- FLAC__file_encoder_set_channels(encoder, NUM_CHANNELS); +- FLAC__file_encoder_set_bits_per_sample(encoder, 16); +- FLAC__file_encoder_set_sample_rate(encoder, 44100); +- FLAC__file_encoder_set_blocksize(encoder, blocksize); +- FLAC__file_encoder_set_max_lpc_order(encoder, max_lpc_order); +- FLAC__file_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision); +- FLAC__file_encoder_set_do_qlp_coeff_prec_search(encoder, false); +- FLAC__file_encoder_set_do_escape_coding(encoder, do_escape_coding); +- FLAC__file_encoder_set_do_exhaustive_model_search(encoder, ++ FLAC__stream_encoder_set_streamable_subset(encoder, true); ++ FLAC__stream_encoder_set_do_mid_side_stereo(encoder, do_mid_side); ++ FLAC__stream_encoder_set_loose_mid_side_stereo(encoder, loose_mid_side); ++ FLAC__stream_encoder_set_channels(encoder, NUM_CHANNELS); ++ FLAC__stream_encoder_set_bits_per_sample(encoder, 16); ++ FLAC__stream_encoder_set_sample_rate(encoder, 44100); ++ FLAC__stream_encoder_set_blocksize(encoder, blocksize); ++ FLAC__stream_encoder_set_max_lpc_order(encoder, max_lpc_order); ++ FLAC__stream_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision); ++ FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder, false); ++ FLAC__stream_encoder_set_do_escape_coding(encoder, do_escape_coding); ++ FLAC__stream_encoder_set_do_exhaustive_model_search(encoder, + do_exhaustive_model_search); +- FLAC__file_encoder_set_min_residual_partition_order(encoder, ++ FLAC__stream_encoder_set_min_residual_partition_order(encoder, + min_residual_partition_order); +- FLAC__file_encoder_set_max_residual_partition_order(encoder, ++ FLAC__stream_encoder_set_max_residual_partition_order(encoder, + max_residual_partition_order); +- FLAC__file_encoder_set_rice_parameter_search_dist(encoder, ++ FLAC__stream_encoder_set_rice_parameter_search_dist(encoder, + rice_parameter_search_dist); + +- FLAC__file_encoder_set_filename(encoder, outfile.local8Bit()); ++ + +- int ret = FLAC__file_encoder_init(encoder); +- if (ret != FLAC__FILE_ENCODER_OK) ++ int ret = FLAC__stream_encoder_init_file(encoder, outfile.local8Bit(), NULL, NULL); ++ if (ret != FLAC__STREAM_ENCODER_OK) + { + VERBOSE(VB_GENERAL, QString("Error initializing FLAC encoder." + " Got return code: %1").arg(ret)); +@@ -70,8 +70,8 @@ + + if (encoder) + { +- FLAC__file_encoder_finish(encoder); +- FLAC__file_encoder_delete(encoder); ++ FLAC__stream_encoder_finish(encoder); ++ FLAC__stream_encoder_delete(encoder); + } + + if (metadata) +@@ -102,7 +102,7 @@ + + if(sampleindex == MAX_SAMPLES || (length == 0 && sampleindex > 0) ) + { +- if (!FLAC__file_encoder_process(encoder, ++ if (!FLAC__stream_encoder_process(encoder, + (const FLAC__int32 * const *) input, + sampleindex)) + { +--- flacencoder.h.old 2007-03-11 18:14:37.000000000 -0400 ++++ flacencoder.h 2007-03-11 18:14:12.000000000 -0400 +@@ -4,7 +4,7 @@ + #include + + #define HAVE_INTTYPES_H +-#include ++#include + + #include "encoder.h" + +@@ -21,7 +21,7 @@ + int addSamples(int16_t *bytes, unsigned int len); + + private: +- FLAC__FileEncoder *encoder; ++ FLAC__StreamEncoder *encoder; + unsigned int sampleindex; + FLAC__int32 inputin[NUM_CHANNELS][MAX_SAMPLES]; + FLAC__int32 *input[NUM_CHANNELS]; diff --git a/abs/core-testing/mythtv/trunk/mythnews/PKGBUILD b/abs/core-testing/mythtv/trunk/mythnews/PKGBUILD new file mode 100644 index 0000000..4dafc20 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythnews/PKGBUILD @@ -0,0 +1,34 @@ +pkgname=mythnews-svn +pkgver=16153 +pkgrel=4 +pkgdesc="News checking plugin for MythTV" +url="http://www.mythtv.org" +arch=('i686') +depends=('mythtv-svn') +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +license="GPL" +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + +build() { + cd $startdir/src/ + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins + PLUGIN=mythnews + grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro + if [ $? != 0 ] + then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + make distclean + ./configure --disable-all --enable-mythnews + + make -j 2 || return 1 + + make INSTALL_ROOT=$startdir/pkg install +} +md5sums=('2a9fbf45ae58a3a35857ce8d7c4d12db') diff --git a/abs/core-testing/mythtv/trunk/mythphone/PKGBUILD b/abs/core-testing/mythtv/trunk/mythphone/PKGBUILD new file mode 100644 index 0000000..f6bf3ec --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythphone/PKGBUILD @@ -0,0 +1,42 @@ +pkgname=mythphone-svn +pkgver=16153 +pkgrel=3 +pkgdesc="Plugin that allows phone calls to be made to MythTv" +url="http://www.mythtv.org" +arch=('i686') +depends=('mythtv-svn') +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +license="GPL" +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + + +build() { + cd $startdir/src/ + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins + make distclean + PLUGIN=mythphone + grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro + if [ $? != 0 ] + then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + + msg "Correcting configure kde3 to kde" + sed -i 's#kde3#kde#' configure || return 1 + ./configure --enable-opengl --disable-all --enable-mythphone || return 1 + qmake mythplugins.pro || return 1 + make qmake || return 1 + + msg "Correcting Makefile kde3 to kde" + sed -i 's#kde3#kde#' ./mythphone/mythphone/Makefile || return 1 + + make -j 2 || return 1 + make INSTALL_ROOT=$startdir/pkg install +} + diff --git a/abs/core-testing/mythtv/trunk/myththemes/PKGBUILD b/abs/core-testing/mythtv/trunk/myththemes/PKGBUILD new file mode 100755 index 0000000..8cd0d04 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/myththemes/PKGBUILD @@ -0,0 +1,36 @@ +pkgname=mythv-themes-svn +pkgver=15924 +pkgrel=4 +pkgdesc="themes for mythtv" +url="http://www.mythtv.org" +license="GPL" +depends=( ) +#makedepends=('sqlite3' 'sed') +conflicts=() +replaces=() +backup=() +#install='mythtv.install' +source=() +arch=('i686') +md5sums=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/myththemes +_svnmod=myththemes + +build() { +echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod +#svn co http://cvs.mythtv.org/svn/trunk/mythtv +#svn co http://cvs.mythtv.org/svn/trunk/mythplugins +#svn co http://cvs.mythtv.org/svn/trunk/myththemes +cd $startdir/src/myththemes + make distclean + ./configure + #./configure --disable-all --enable-mythweather --enable-fftw --disable-aac + make || return 1 + make INSTALL_ROOT=$startdir/pkg install +# cd $startdir/src/$pkgname +# cd mythmovietime +# make || return 1 +# make INSTALL_ROOT=$startdir/pkg install + +} diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/DeviceReadBuffer-polltimeout.2.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/DeviceReadBuffer-polltimeout.2.patch deleted file mode 100644 index 5bb713f..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/DeviceReadBuffer-polltimeout.2.patch +++ /dev/null @@ -1,219 +0,0 @@ -Index: libs/libmythtv/DeviceReadBuffer.h -=================================================================== ---- libs/libmythtv/DeviceReadBuffer.h (revision 18515) -+++ libs/libmythtv/DeviceReadBuffer.h (working copy) -@@ -59,7 +59,7 @@ - void IncrReadPointer(uint len); - - bool HandlePausing(void); -- bool Poll(void) const; -+ bool Poll(void); - uint WaitForUnused(uint bytes_needed) const; - uint WaitForUsed (uint bytes_needed) const; - -Index: libs/libmythtv/DeviceReadBuffer.cpp -=================================================================== ---- libs/libmythtv/DeviceReadBuffer.cpp (revision 18515) -+++ libs/libmythtv/DeviceReadBuffer.cpp (working copy) -@@ -90,9 +90,14 @@ - - void DeviceReadBuffer::Start(void) - { -- lock.lock(); -- bool was_running = running; -- lock.unlock(); -+ bool was_running; -+ -+ { -+ QMutexLocker locker(&lock); -+ was_running = running; -+ error = false; -+ } -+ - if (was_running) - { - VERBOSE(VB_IMPORTANT, LOC_ERR + "Start(): Already running."); -@@ -104,6 +109,8 @@ - { - VERBOSE(VB_IMPORTANT, - LOC_ERR + QString("Start(): pthread_create failed.") + ENO); -+ -+ QMutexLocker locker(&lock); - error = true; - } - } -@@ -118,21 +125,25 @@ - used = 0; - readPtr = buffer; - writePtr = buffer; -+ -+ error = false; - } - - void DeviceReadBuffer::Stop(void) - { - bool was_running = IsRunning(); -- lock.lock(); -- run = false; -- lock.unlock(); - - if (!was_running) - { -- VERBOSE(VB_IMPORTANT, LOC_ERR + "Stop(): Not running."); -+ VERBOSE(VB_IMPORTANT, LOC + "Stop(): Not running."); - return; - } - -+ { -+ QMutexLocker locker(&lock); -+ run = false; -+ } -+ - pthread_join(thread, NULL); - } - -@@ -229,10 +240,11 @@ - { - uint errcnt = 0; - -- lock.lock(); -- run = true; -- running = true; -- lock.unlock(); -+ { -+ QMutexLocker locker(&lock); -+ run = true; -+ running = true; -+ } - - while (run) - { -@@ -248,6 +260,15 @@ - if (using_poll && !Poll()) - continue; - -+ { -+ QMutexLocker locker(&lock); -+ if (error) -+ { -+ VERBOSE(VB_RECORD, LOC + "fill_ringbuffer: error state"); -+ break; -+ } -+ } -+ - // Limit read size for faster return from read - size_t read_size = - min(dev_read_size, (size_t) WaitForUnused(TSPacket::SIZE)); -@@ -268,9 +289,10 @@ - } - } - -- lock.lock(); -- running = false; -- lock.unlock(); -+ { -+ QMutexLocker locker(&lock); -+ running = false; -+ } - } - - bool DeviceReadBuffer::HandlePausing(void) -@@ -293,7 +315,7 @@ - return true; - } - --bool DeviceReadBuffer::Poll(void) const -+bool DeviceReadBuffer::Poll(void) - { - #ifdef USING_MINGW - #warning mingw DeviceReadBuffer::Poll -@@ -302,31 +324,53 @@ - return false; - #else - bool retval = true; -- while (true) -+ uint timeout_cnt = 0; -+ -+ for (;;) - { - struct pollfd polls; - polls.fd = _stream_fd; - polls.events = POLLIN; - polls.revents = 0; - -- int ret = poll(&polls, 1 /*number of polls*/, 10 /*msec*/); -- if (IsPauseRequested() || !IsOpen() || !run) -+ int ret = poll(&polls, 1 /*number of polls*/, 250 /*msec*/); -+ -+ if (polls.revents & (POLLERR | POLLHUP | POLLNVAL)) - { -+ VERBOSE(VB_IMPORTANT, LOC + "poll error"); -+ error = true; -+ return true; -+ } -+ -+ if (!run || !IsOpen() || IsPauseRequested()) -+ { - retval = false; - break; // are we supposed to pause, stop, etc. - } - - if (ret > 0) - break; // we have data to read :) -- if ((-1 == ret) && (EOVERFLOW == errno)) -- break; // we have an error to handle -- -- if ((-1 == ret) && ((EAGAIN == errno) || (EINTR == errno))) -- continue; // errors that tell you to try again -- if (ret == 0) -- continue; // timed out, try again -- -- usleep(2500); -+ if (ret < 0) -+ { -+ if ((EOVERFLOW == errno)) -+ break; // we have an error to handle -+ if ((EAGAIN == errno) || (EINTR == errno)) -+ continue; // errors that tell you to try again -+ usleep(2500); -+ } -+ else // ret == 0 -+ { -+ if (++timeout_cnt > 9) -+ { -+ VERBOSE(VB_RECORD, LOC_ERR + "Poll giving up"); -+ QMutexLocker locker(&lock); -+ error = true; -+ return true; -+ } -+ if (timeout_cnt % 2) -+ VERBOSE(VB_RECORD, LOC_ERR + QString("Poll timeout (%1)") -+ .arg(timeout_cnt)); -+ } - } - return retval; - #endif //!USING_MINGW -@@ -360,9 +404,9 @@ - - if (++errcnt > 5) - { -- lock.lock(); -+ QMutexLocker locker(&lock); -+ VERBOSE(VB_RECORD, LOC + "Too many errors."); - error = true; -- lock.unlock(); - return false; - } - -@@ -376,10 +420,8 @@ - VERBOSE(VB_IMPORTANT, LOC + - QString("End-Of-File? fd(%1)").arg(_stream_fd)); - -- lock.lock(); -+ QMutexLocker locker(&lock); - eof = true; -- lock.unlock(); -- - return false; - } - usleep(500); diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/PKGBUILD b/abs/core-testing/mythtv/trunk/mythtv-svn/PKGBUILD deleted file mode 100755 index b5dc31d..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/PKGBUILD +++ /dev/null @@ -1,78 +0,0 @@ -pkgname=mythtv-svn -pkgver=19295 -pkgrel=1 -pkgdesc="A personal video recorder for Linux" -url="http://www.mythtv.org" -license="GPL" -depends=('lame' 'libmysqlclient' 'alsa-lib' 'wget' 'qt' 'x-server' 'freetype2' 'libmpeg2' 'libxml2' 'libraw1394' 'lirc' 'perl-date-manip' 'libavc1394' 'libdc1394' 'libiec61883') -makedepends=('subversion') -conflicts=(mythtv) -replaces=() -backup=() -options=(!strip) -MAKEFLAGS="-j6" -install='mythtv.install' - -patchs=('DeviceReadBuffer-polltimeout.2.patch' 'hdpvr-v4lchannel-tweak.patch' 'mpegrecorder-hdpvr-v1.1.patch' 'mythcommflag-avidemux.2.patch') -source=('mythbackend' 'myth.sh' 'smolt_jump.patch' 'svn_main_menu_popup.patch' `echo ${patchs[@]:0}` ) -arch=('i686') -md5sums=() - - - -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythtv -_svnmod=mythtv - -build() { - - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythtv - echo "--------------------------applying patches----------------------------------------------------" - patch -Np0 -i $startdir/src/smolt_jump.patch #|| return 1 - patch -Np0 -i $startdir/src/svn_main_menu_popup.patch #||return 1 - - for i in `echo ${patchs[@]:0} ` - do - echo applying $i - echo "------------" - patch -Np0 -i ${startdir}/src/$i #|| return 1 - done - echo "--------------------------done applying patches----------------------------------------------------" - sed -i -e "s/\`(svnversion \$\${SVNTREEDIR} 2>\/dev\/null) || echo Unknown\`/$pkgver/" version.pro - make distclean - ./configure --prefix=/usr --enable-xvmc --enable-xvmc-pro --enable-opengl-vsync --enable-dvb --enable-firewire --compile-type=release --with-bindings=perl --disable-audio-arts --disable-xrandr - . /etc/profile - make - make INSTALL_ROOT=$startdir/pkg install - - #Patch the xml LinHES style - cp -r $startdir/menu-xml/*.xml $startdir/pkg/usr/share/mythtv - cd $startdir/pkg/usr/share/mythtv - patch -p0 < $startdir/menu-xml/mainmenu.xml.patch - patch -p0 < $startdir/menu-xml/optical_menu.xml.patch - patch -p0 < $startdir/menu-xml/library.xml.patch - - # mkdir -p $startdir/pkg/usr/share/mythtv/contrib - # mkdir -p $startdir/pkg/etc/rc.d - # mkdir -p $startdir/pkg/var/log/mythtv - # mkdir -p $startdir/pkg/etc/profile.d - # install -m0755 ../myth.sh $startdir/pkg/etc/profile.d/ - - # install contrib - # mkdir -p $startdir/pkg/usr/local/share/mythtv/contrib || return 1 - # cp -rp contrib/* $startdir/pkg/usr/local/share/mythtv/contrib - # echo "-release-fixes" > $startdir/pkg/usr/local/share/mythtv/.releasetype - # install -m0755 themes/*.ttf $startdir/pkg/usr/local/share/mythtv/themes/ - - - # mkdir -p $startdir/pkg/usr/lib/ - # mv $startdir/pkg/usr/local/lib/perl5 $startdir/pkg/usr/lib/perl5 - # cd $startdir/src/mythtv/contrib - # gcc -Wall -o firewire_tester firewire_tester.c -liec61883 -lraw1394 - # install -m0755 firewire_tester $startdir/pkg/usr/local/bin/firewire_tester - #install -m0755 $startdir/pkg/usr/local/share/mythtv/contrib/optimize_mythdb.pl $startdir/pkg/usr/local/bin/optimize_mythdb.pl - # cp $startdir/src/myth.find_orphans.pl $startdir/pkg/usr/local/share/mythtv/contrib/myth.find_orphans.pl - # install -m0755 $startdir/pkg/usr/local/share/mythtv/contrib/myth.find_orphans.pl $startdir/pkg/usr/local/bin/myth.find_orphans.pl - - -} diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/aacdecoder.cpp.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/aacdecoder.cpp.patch deleted file mode 100644 index 8796eb4..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/aacdecoder.cpp.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- mythmusic/mythmusic/aacdecoder.cpp.orig 2008-11-19 12:51:48.000000000 -0500 -+++ mythmusic/mythmusic/aacdecoder.cpp 2008-11-19 12:52:42.000000000 -0500 -@@ -17,6 +17,9 @@ - #define FAAD_MODIFIED - #endif - -+// LinHES need this undefined -+#undef FAAD_MODIFIED -+ - // ANSI C headers - #include - diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/hdpvr-v4lchannel-tweak.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/hdpvr-v4lchannel-tweak.patch deleted file mode 100644 index 3535310..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/hdpvr-v4lchannel-tweak.patch +++ /dev/null @@ -1,139 +0,0 @@ -Index: libs/libmythtv/v4lchannel.h -=================================================================== ---- libs/libmythtv/v4lchannel.h (revision 18874) -+++ libs/libmythtv/v4lchannel.h (working copy) -@@ -103,6 +103,8 @@ - VidModV4L2 videomode_v4l2; ///< Current video mode if 'usingv4l2' is true - - int defaultFreqTable; -+ int prev_inputNumV4L; -+ v4l2_std_id prev_vid_mode; - }; - - #endif -Index: libs/libmythtv/v4lchannel.cpp -=================================================================== ---- libs/libmythtv/v4lchannel.cpp (revision 18874) -+++ libs/libmythtv/v4lchannel.cpp (working copy) -@@ -40,7 +40,8 @@ - device_name(QString::null), driver_name(QString::null), - curList(NULL), totalChannels(0), - currentFormat(""), is_dtv(false), -- usingv4l2(false), defaultFreqTable(1) -+ usingv4l2(false), defaultFreqTable(1), -+ prev_inputNumV4L(-1), prev_vid_mode(-1) - { - } - -@@ -795,62 +796,75 @@ - { - VERBOSE(VB_CHANNEL, LOC + msg + "(v4l v2)"); - -- int ioctlval = ioctl(videofd, VIDIOC_S_INPUT, &inputNumV4L); -+ int ioctlval; -+ bool streamingDisabled = false; -+ int streamType = V4L2_BUF_TYPE_VIDEO_CAPTURE; - -- // ConvertX (wis-go7007) requires streaming to be disabled -- // before an input switch, do this if initial switch failed. -- bool streamingDisabled = false; -- int streamType = V4L2_BUF_TYPE_VIDEO_CAPTURE; -- if ((ioctlval < 0) && (errno == EBUSY)) -+ if (prev_inputNumV4L != inputNumV4L) - { -- ioctlval = ioctl(videofd, VIDIOC_STREAMOFF, &streamType); -+ ioctlval = ioctl(videofd, VIDIOC_S_INPUT, &inputNumV4L); -+ -+ // ConvertX (wis-go7007) requires streaming to be disabled -+ // before an input switch, do this if initial switch failed. -+ if ((ioctlval < 0) && (errno == EBUSY)) -+ { -+ ioctlval = ioctl(videofd, VIDIOC_STREAMOFF, &streamType); -+ if (ioctlval < 0) -+ { -+ VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -+ "\n\t\t\twhile disabling streaming (v4l v2)" + ENO); -+ -+ ok = false; -+ ioctlval = 0; -+ } -+ else -+ { -+ streamingDisabled = true; -+ -+ // Resend the input switch ioctl. -+ ioctlval = ioctl(videofd, VIDIOC_S_INPUT, &inputNumV4L); -+ } -+ } -+ - if (ioctlval < 0) - { - VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -- "\n\t\t\twhile disabling streaming (v4l v2)" + ENO); -+ "\n\t\t\twhile setting input (v4l v2)" + ENO); - - ok = false; -- ioctlval = 0; - } -- else -- { -- streamingDisabled = true; - -- // Resend the input switch ioctl. -- ioctlval = ioctl(videofd, VIDIOC_S_INPUT, &inputNumV4L); -- } -+ prev_inputNumV4L = inputNumV4L; - } - -- if (ioctlval < 0) -- { -- VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -- "\n\t\t\twhile setting input (v4l v2)" + ENO); -- -- ok = false; -- } -- - v4l2_std_id vid_mode = format_to_mode(newFmt, 2); -- ioctlval = ioctl(videofd, VIDIOC_S_STD, &vid_mode); -- if (ioctlval < 0) -- { -- VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -- "\n\t\t\twhile setting format (v4l v2)" + ENO); - -- ok = false; -- } -- -- // ConvertX (wis-go7007) requires streaming to be disabled -- // before an input switch, here we try to re-enable streaming. -- if (streamingDisabled) -+ if (prev_vid_mode != vid_mode) - { -- ioctlval = ioctl(videofd, VIDIOC_STREAMON, &streamType); -+ ioctlval = ioctl(videofd, VIDIOC_S_STD, &vid_mode); - if (ioctlval < 0) - { - VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -- "\n\t\t\twhile reenabling streaming (v4l v2)" + ENO); -+ "\n\t\t\twhile setting format (v4l v2)" + ENO); - - ok = false; - } -+ -+ // ConvertX (wis-go7007) requires streaming to be disabled -+ // before an input switch, here we try to re-enable streaming. -+ if (streamingDisabled) -+ { -+ ioctlval = ioctl(videofd, VIDIOC_STREAMON, &streamType); -+ if (ioctlval < 0) -+ { -+ VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -+ "\n\t\t\twhile reenabling streaming (v4l v2)" + -+ ENO); -+ -+ ok = false; -+ } -+ } -+ prev_vid_mode = vid_mode; - } - } - diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/HOST_SETTINGS.xml b/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/HOST_SETTINGS.xml deleted file mode 100644 index f257920..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/HOST_SETTINGS.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/is.xml b/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/is.xml deleted file mode 100644 index 65935cf..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/is.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/knoppmyth.xml b/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/knoppmyth.xml deleted file mode 100644 index 8aa6134..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/knoppmyth.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/library.xml.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/library.xml.patch deleted file mode 100644 index ef08f0c..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/menu-xml/library.xml.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- library.xml.orig 2008-11-13 11:26:10.000000000 -0500 -+++ library.xml 2008-11-19 11:55:55.000000000 -0500 -@@ -120,9 +120,7 @@ - - - - -+ -+ -+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/mpegrecorder-hdpvr-v1.1.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/mpegrecorder-hdpvr-v1.1.patch deleted file mode 100644 index f292b7f..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/mpegrecorder-hdpvr-v1.1.patch +++ /dev/null @@ -1,658 +0,0 @@ -Index: libs/libmythtv/mpegrecorder.h -=================================================================== ---- libs/libmythtv/mpegrecorder.h (revision 19056) -+++ libs/libmythtv/mpegrecorder.h (working copy) -@@ -80,11 +80,13 @@ - uint GetFilteredAudioLayer(void) const; - uint GetFilteredAudioBitRate(uint audio_layer) const; - -+ void RestartEncoding(void); - bool StartEncoding(int fd); - bool StopEncoding(int fd); - - void ResetForNewFile(void); - -+ bool WaitFor_HDPVR(void); - void HandleResolutionChanges(void); - - inline bool CheckCC(uint pid, uint cc); -@@ -104,7 +106,6 @@ - // State - bool recording; - bool encoding; -- bool needs_resolution; - mutable QMutex start_stop_encoding_lock; - QMutex recording_wait_lock; - QWaitCondition recording_wait; -@@ -113,7 +114,7 @@ - bool cleartimeonpause; - - // Encoding info -- int width, height; -+ uint width, height; - int bitrate, maxbitrate, streamtype, aspectratio; - int audtype, audsamplerate, audbitratel1, audbitratel2, audbitratel3; - int audvolume; -Index: libs/libmythtv/mpegrecorder.cpp -=================================================================== ---- libs/libmythtv/mpegrecorder.cpp (revision 19056) -+++ libs/libmythtv/mpegrecorder.cpp (working copy) -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - // avlib headers - extern "C" { -@@ -86,7 +87,7 @@ - requires_special_pause(false), - // State - recording(false), encoding(false), -- needs_resolution(false), start_stop_encoding_lock(QMutex::Recursive), -+ start_stop_encoding_lock(QMutex::Recursive), - recording_wait_lock(), recording_wait(), - // Pausing state - cleartimeonpause(false), -@@ -487,13 +488,21 @@ - - bool MpegRecorder::SetFormat(int chanfd) - { -+ uint idx; - struct v4l2_format vfmt; - bzero(&vfmt, sizeof(vfmt)); - - vfmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; - -- if (ioctl(chanfd, VIDIOC_G_FMT, &vfmt) < 0) -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_G_FMT, &vfmt) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 10) -+ { - VERBOSE(VB_IMPORTANT, LOC_ERR + "Error getting format" + ENO); - return false; - } -@@ -501,8 +510,15 @@ - vfmt.fmt.pix.width = width; - vfmt.fmt.pix.height = height; - -- if (ioctl(chanfd, VIDIOC_S_FMT, &vfmt) < 0) -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_S_FMT, &vfmt) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_ERR + "Error setting format" + ENO); - return false; - } -@@ -513,10 +529,19 @@ - /// Set audio language mode - bool MpegRecorder::SetLanguageMode(int chanfd) - { -+ uint idx; - struct v4l2_tuner vt; - bzero(&vt, sizeof(struct v4l2_tuner)); -- if (ioctl(chanfd, VIDIOC_G_TUNER, &vt) < 0) -+ -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_G_TUNER, &vt) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + "Unable to get audio mode" + ENO); - return false; - } -@@ -549,8 +574,15 @@ - success = false; - } - -- if (ioctl(chanfd, VIDIOC_S_TUNER, &vt) < 0) -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_S_TUNER, &vt) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + "Unable to set audio mode" + ENO); - success = false; - } -@@ -561,10 +593,19 @@ - bool MpegRecorder::SetRecordingVolume(int chanfd) - { - // Get volume min/max values -+ uint idx; - struct v4l2_queryctrl qctrl; - qctrl.id = V4L2_CID_AUDIO_VOLUME; -- if (ioctl(chanfd, VIDIOC_QUERYCTRL, &qctrl) < 0) -+ -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_QUERYCTRL, &qctrl) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + - "Unable to get recording volume parameters(max/min)" + ENO + - "\n\t\t\tusing default range [0,65535]."); -@@ -582,8 +623,15 @@ - ctrl.id = V4L2_CID_AUDIO_VOLUME; - ctrl.value = ctrl_volume; - -- if (ioctl(chanfd, VIDIOC_S_CTRL, &ctrl) < 0) -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_S_CTRL, &ctrl) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + - "Unable to set recording volume" + ENO + "\n\t\t\t" + - "If you are using an AverMedia M179 card this is normal."); -@@ -765,6 +813,7 @@ - - for (uint i = 0; i < ext_ctrls.size(); i++) - { -+ uint idx; - struct v4l2_ext_controls ctrls; - bzero(&ctrls, sizeof(struct v4l2_ext_controls)); - -@@ -774,8 +823,15 @@ - ctrls.count = 1; - ctrls.controls = &ext_ctrls[i]; - -- if (ioctl(fd, VIDIOC_S_EXT_CTRLS, &ctrls) < 0) -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(fd, VIDIOC_S_EXT_CTRLS, &ctrls) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - QMutexLocker locker(&control_description_lock); - VERBOSE(VB_IMPORTANT, QString("mpegrecorder.cpp:set_ctrls(): ") + - QString("Could not set %1 to %2") -@@ -814,6 +870,30 @@ - { - maxbitrate = high_mpeg4peakbitrate; - bitrate = high_mpeg4avgbitrate; -+ -+ // query supported audio codecs and prefer AC3 -+ uint idx; -+ struct v4l2_queryctrl qctrl; -+ qctrl.id = V4L2_CID_MPEG_AUDIO_ENCODING; -+ -+ for (idx = 0; idx < 20; ++idx) -+ { -+ if (ioctl(chanfd, VIDIOC_QUERYCTRL, &qctrl) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { -+ VERBOSE(VB_IMPORTANT, LOC_WARN + -+ "Unable to get supported audio codecs." + ENO); -+ } -+ else -+ { -+ if (qctrl.minimum != qctrl.maximum) -+ add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_AUDIO_ENCODING, -+ qctrl.maximum); -+ } - } - maxbitrate = std::max(maxbitrate, bitrate); - -@@ -837,19 +917,36 @@ - int audioinput = audiodevice.toUInt(&ok); - if (ok) - { -+ uint idx; - struct v4l2_audio ain; - bzero(&ain, sizeof(ain)); - ain.index = audioinput; -- if (ioctl(chanfd, VIDIOC_ENUMAUDIO, &ain) < 0) -+ -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_ENUMAUDIO, &ain) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + - "Unable to get audio input."); - } - else - { - ain.index = audioinput; -- if (ioctl(chanfd, VIDIOC_S_AUDIO, &ain) < 0) -+ -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_S_AUDIO, &ain) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + - "Unable to set audio input."); - } -@@ -1036,17 +1133,26 @@ - if (deviceIsMpegFile) - elapsedTimer.start(); - else if (_device_read_buffer) -- _device_read_buffer->Start(); -+ { -+ VERBOSE(VB_RECORD, LOC + "Initial startup of recorder"); - -- needs_resolution = (driver == "hdpvr"); -+ if (StartEncoding(readfd)) -+ _device_read_buffer->Start(); -+ else -+ { -+ VERBOSE(VB_IMPORTANT, LOC_ERR + "Failed to start recording"); -+ recording = false; -+ QMutexLocker locker(&recording_wait_lock); -+ recording_wait.wakeAll(); -+ _error = true; -+ } -+ } - - QByteArray vdevice = videodevice.toAscii(); - while (encoding && !_error) - { - if (PauseAndWait(100)) - continue; -- -- HandleResolutionChanges(); - - if (deviceIsMpegFile) - { -@@ -1090,35 +1196,7 @@ - { - VERBOSE(VB_IMPORTANT, LOC_ERR + "Device error detected"); - -- _device_read_buffer->Stop(); -- -- QMutexLocker locker(&start_stop_encoding_lock); -- -- StopEncoding(readfd); -- -- // Make sure the next things in the file are a PAT & PMT -- if (_stream_data->PATSingleProgram() && -- _stream_data->PMTSingleProgram()) -- { -- bool tmp = _wait_for_keyframe_option; -- _wait_for_keyframe_option = false; -- HandleSingleProgramPAT(_stream_data->PATSingleProgram()); -- HandleSingleProgramPMT(_stream_data->PMTSingleProgram()); -- _wait_for_keyframe_option = tmp; -- } -- -- if (StartEncoding(readfd)) -- { -- _device_read_buffer->Start(); -- } -- else -- { -- if (0 != close(readfd)) -- VERBOSE(VB_IMPORTANT, LOC_ERR + "Close error" + ENO); -- -- // Force card to be reopened on next iteration.. -- readfd = -1; -- } -+ RestartEncoding(); - } - else if (_device_read_buffer->IsEOF()) - { -@@ -1216,6 +1294,8 @@ - } - } - -+ VERBOSE(VB_RECORD, LOC + "StartRecording finishing up"); -+ - if (_device_read_buffer) - { - if (_device_read_buffer->IsRunning()) -@@ -1224,6 +1304,7 @@ - delete _device_read_buffer; - _device_read_buffer = NULL; - } -+ - StopEncoding(readfd); - - FinishRecording(); -@@ -1373,52 +1454,95 @@ - - if (!paused) - { -+ VERBOSE(VB_RECORD, LOC + "PauseAndWait pause"); -+ -+ // Some drivers require streaming to be disabled before -+ // an input switch and other channel format setting. -+ if (requires_special_pause) -+ StopEncoding(readfd); -+ - if (_device_read_buffer) - { - QMutex drb_lock; - drb_lock.lock(); -- - _device_read_buffer->SetRequestPause(true); -- - pauseWait.wait(&drb_lock, timeout); - } - else -- { -- paused = true; - pauseWait.wakeAll(); -- } - -- // Some drivers require streaming to be disabled before -- // an input switch and other channel format setting. -- if (requires_special_pause) -- StopEncoding(readfd); -- -+ paused = true; - if (tvrec) - tvrec->RecorderPaused(); - } - - unpauseWait.wait(&waitlock, timeout); - } -- if (!request_pause) -+ -+ if (!request_pause && paused) - { -- if (paused) -+ VERBOSE(VB_RECORD, LOC + "PauseAndWait unpause"); -+ -+ if (driver == "hdpvr") - { -- // Some drivers require streaming to be disabled before -- // an input switch and other channel format setting. -- if (requires_special_pause) -- StartEncoding(readfd); -+ m_h264_parser.Reset(); -+ _wait_for_keyframe_option = true; -+ _seen_sps = false; - -- if (_device_read_buffer) -- _device_read_buffer->SetRequestPause(false); -+ // Sleep any less than 1.5 seconds, and the HD-PVR will -+ // return the old resolution, when the resolution is changing. -+ usleep(1500 * 1000); -+ } - -- if (_stream_data) -- _stream_data->Reset(_stream_data->DesiredProgram()); -- } -+ // Some drivers require streaming to be disabled before -+ // an input switch and other channel format setting. -+ if (requires_special_pause) -+ StartEncoding(readfd); -+ -+ if (_device_read_buffer) -+ _device_read_buffer->SetRequestPause(false); -+ -+ if (_stream_data) -+ _stream_data->Reset(_stream_data->DesiredProgram()); -+ - paused = false; - } -+ - return paused; - } - -+void MpegRecorder::RestartEncoding(void) -+{ -+ VERBOSE(VB_RECORD, LOC + "RestartEncoding"); -+ -+ _device_read_buffer->Stop(); -+ -+ QMutexLocker locker(&start_stop_encoding_lock); -+ -+ StopEncoding(readfd); -+ -+ // Make sure the next things in the file are a PAT & PMT -+ if (_stream_data->PATSingleProgram() && -+ _stream_data->PMTSingleProgram()) -+ { -+ _wait_for_keyframe_option = false; -+ HandleSingleProgramPAT(_stream_data->PATSingleProgram()); -+ HandleSingleProgramPMT(_stream_data->PMTSingleProgram()); -+ } -+ -+ if (StartEncoding(readfd)) -+ { -+ _device_read_buffer->Start(); -+ } -+ else -+ { -+ if (0 != close(readfd)) -+ VERBOSE(VB_IMPORTANT, LOC_ERR + "Close error" + ENO); -+ -+ readfd = -1; -+ } -+} -+ - bool MpegRecorder::StartEncoding(int fd) - { - QMutexLocker locker(&start_stop_encoding_lock); -@@ -1427,13 +1551,22 @@ - memset(&command, 0, sizeof(struct v4l2_encoder_cmd)); - command.cmd = V4L2_ENC_CMD_START; - -+ if (driver == "hdpvr") -+ HandleResolutionChanges(); -+ - VERBOSE(VB_RECORD, LOC + "StartEncoding"); -- needs_resolution = (driver == "hdpvr"); - -- for (int idx = 0; idx < 10; ++idx) -+ for (int idx = 0; idx < 20; ++idx) - { - if (ioctl(fd, VIDIOC_ENCODER_CMD, &command) == 0) - { -+ if (driver == "hdpvr") -+ { -+ m_h264_parser.Reset(); -+ _wait_for_keyframe_option = true; -+ _seen_sps = false; -+ } -+ - VERBOSE(VB_RECORD, LOC + "Encoding started"); - return true; - } -@@ -1444,7 +1577,7 @@ - return false; - } - -- usleep(250 * 1000); -+ usleep(100 * 1000); - } - - VERBOSE(VB_IMPORTANT, LOC_ERR + "StartEncoding - giving up" + ENO); -@@ -1461,9 +1594,8 @@ - - VERBOSE(VB_RECORD, LOC + "StopEncoding"); - -- for (int idx = 0; idx < 10; ++idx) -+ for (int idx = 0; idx < 20; ++idx) - { -- - if (ioctl(fd, VIDIOC_ENCODER_CMD, &command) == 0) - { - VERBOSE(VB_RECORD, LOC + "Encoding stopped"); -@@ -1476,7 +1608,7 @@ - return false; - } - -- usleep(250 * 1000); -+ usleep(100 * 1000); - } - - VERBOSE(VB_IMPORTANT, LOC_ERR + "StopEncoding - giving up" + ENO); -@@ -1544,7 +1676,7 @@ - void MpegRecorder::HandleSingleProgramPMT(ProgramMapTable *pmt) - { - if (!pmt) --{ -+ { - return; - } - -@@ -1564,27 +1696,89 @@ - DTVRecorder::BufferedWrite(*(reinterpret_cast(&buf[i]))); - } - -+bool MpegRecorder::WaitFor_HDPVR(void) -+{ -+ // After a resolution change, it can take the HD-PVR a few -+ // seconds before it is usable again. -+ -+ // Tell it to start encoding, then wait for it to actually feed us -+ // some data. -+ QMutexLocker locker(&start_stop_encoding_lock); -+ -+ struct v4l2_encoder_cmd command; -+ struct pollfd polls; -+ int idx; -+ -+ memset(&command, 0, sizeof(struct v4l2_encoder_cmd)); -+ command.cmd = V4L2_ENC_CMD_START; -+ -+ for (idx = 0; idx < 20; ++idx) -+ { -+ if (ioctl(readfd, VIDIOC_ENCODER_CMD, &command) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ return false; -+ -+ polls.fd = readfd; -+ polls.events = POLLIN; -+ polls.revents = 0; -+ -+ for (idx = 0; idx < 10; ++idx) -+ { -+ if (poll(&polls, 1, 250) > 0) -+ break; -+ } -+ -+ if (idx == 10) -+ return false; -+ -+ // HD-PVR should now be "ready" -+ command.cmd = V4L2_ENC_CMD_STOP; -+ -+ for (idx = 0; idx < 20; ++idx) -+ { -+ if (ioctl(readfd, VIDIOC_ENCODER_CMD, &command) == 0) -+ return true; -+ usleep(100 * 1000); -+ } -+ -+ return false; -+} -+ - void MpegRecorder::HandleResolutionChanges(void) - { -- if (!needs_resolution) -- return; -- - VERBOSE(VB_RECORD, LOC + "Checking Resolution"); - struct v4l2_format vfmt; - memset(&vfmt, 0, sizeof(vfmt)); - vfmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; - -+ if (driver == "hdpvr") -+ WaitFor_HDPVR(); -+ -+ uint idx; - uint pix = 0; -+ -+ for (idx = 0; idx < 20; ++idx) -+ { - if (0 == ioctl(chanfd, VIDIOC_G_FMT, &vfmt)) - { - VERBOSE(VB_RECORD, LOC + QString("Got Resolution %1x%2") - .arg(vfmt.fmt.pix.width).arg(vfmt.fmt.pix.height)); - pix = vfmt.fmt.pix.width * vfmt.fmt.pix.height; -- needs_resolution = false; -+ break; -+ } -+ // Typically takes 0.9 seconds after a resolution change -+ usleep(100 * 1000); - } - - if (!pix) -+ { -+ VERBOSE(VB_RECORD, LOC + "Giving up detecting resolution"); - return; // nothing to do, we don't have a resolution yet -+ } - - int old_max = maxbitrate, old_avg = bitrate; - if (pix <= 768*568) -@@ -1609,13 +1803,14 @@ - if (old_max == old_avg) - { - VERBOSE(VB_RECORD, LOC + -- QString("Old bitrate %1 CBR").arg(old_avg)); -+ QString("Old bitrate %1 CBR for %2x%3") -+ .arg(old_avg).arg(width).arg(height)); - } - else - { - VERBOSE(VB_RECORD, LOC + -- QString("Old bitrate %1/%2 VBR") -- .arg(old_avg).arg(old_max)); -+ QString("Old bitrate %1/%2 VBR for %3x%4") -+ .arg(old_avg).arg(old_max).arg(width).arg(height)); - } - - if (maxbitrate == bitrate) -@@ -1642,12 +1837,6 @@ - maxbitrate * 1000); - - set_ctrls(readfd, ext_ctrls); -+ - } -- -- // Restart streaming. Shouldn't be needed? seems to be with current driver. -- QMutexLocker locker(&start_stop_encoding_lock); -- StopEncoding(readfd); -- StartEncoding(readfd); -- -- needs_resolution = false; - } diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/myth.sh b/abs/core-testing/mythtv/trunk/mythtv-svn/myth.sh deleted file mode 100755 index fb7122c..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/myth.sh +++ /dev/null @@ -1,4 +0,0 @@ -export PATH=$PATH:/usr/local/bin -# set core file size to 0 -ulimit -c 0 -export MALLOC_CHECK_=0 \ No newline at end of file diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/mythbackend b/abs/core-testing/mythtv/trunk/mythtv-svn/mythbackend deleted file mode 100755 index f96c6b7..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/mythbackend +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/bin/mythbackend` -case "$1" in - start) - stat_busy "Starting MythTV Backend" - [ ! -e /var/run/mysqld.pid ] && echo -n "mysqld not started" && stat_fail && exit - [ -z "$PID" ] && /usr/local/bin/mythbackend -d -l /var/log/mythbackend.log -v quiet - if [ $? -gt 0 ]; then - stat_fail - else - echo $PID > /var/run/mythbackend.pid - add_daemon mythbackend - stat_done - fi - ;; - stop) - stat_busy "Stopping MythTV Backend" - [ ! -z "$PID" ] && kill $PID &>/dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon mythbackend - stat_done - fi - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/mythbackend.sh b/abs/core-testing/mythtv/trunk/mythtv-svn/mythbackend.sh deleted file mode 100755 index e7a7b70..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/mythbackend.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/bash -# -# /etc/rc.d/init.d/mythbackend -# -# Starts the mythbackend as a daemon -# -# chkconfig: 345 90 10 -# description: Starts the mythbackend process as a daemon after the XWindows \ -# system is started, in runlevel 5. This allows scheduled \ -# recordings to occur without manual intervention. -# processname: mythbackend - -# Copyright (c) by Michael Thomson -# With thanks to Stu Tomlinson -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -# Default values to use if none are supplied in the config file. -# User who should start the mythbackend processes -MBE_USER="root" -# Directory holding the mythbackend binary -MBE_LOCATION="/usr/local/bin/" -# Name of mythbackend binary -MBE_PROG="mythbackend" -# Full path to mythbackend log file -MBE_LOGFILE="/var/log/mythtv/mythbackend.log" - -# Source function library. -. /etc/init.d/functions - -# Source config file if available -if [ -f "/etc/sysconfig/mythbackend" ]; then - . /etc/sysconfig/mythbackend -fi - -test -x ${MBE_LOCATION}${MBE_PROG} || exit 0 - -RETVAL=0 - -# -# See how we were called. -# - -start() { - # Check if mythbackend is already running - if [ ! -f /var/lock/subsys/${MBE_PROG} ]; then - echo -n "Starting ${MBE_PROG}: " - # /usr/local/bin/mythbackend -d -l /some/log/file - #daemon --user ${MBE_USER} ${MBE_LOCATION}${MBE_PROG} -d -l ${MBE_LOGFILE} - ${MBE_LOCATION}${MBE_PROG} -d -l ${MBE_LOGFILE} - RETVAL=$? - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/${MBE_PROG} - echo - fi - return $RETVAL -} - -stop() { - echo -n "Stopping ${MBE_PROG}: " - killproc ${MBE_LOCATION}${MBE_PROG} - RETVAL=$? - [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/${MBE_PROG} - echo - return $RETVAL -} - - -restart() { - stop - start -} - -reload() { - restart -} - -status_at() { - status ${MBE_LOCATION}${MBE_PROG} -} - -case "$1" in -start) - start - ;; -stop) - stop - ;; -reload|restart) - restart - ;; -condrestart) - if [ -f /var/lock/subsys/${MBE_PROG} ]; then - restart - fi - ;; -status) - status_at - ;; -*) - echo "Usage: $0 {start|stop|restart|condrestart|status}" - exit 1 -esac - -exit $? -exit $RETVAL diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/mythcommflag-avidemux.2.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/mythcommflag-avidemux.2.patch deleted file mode 100644 index d26645f..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/mythcommflag-avidemux.2.patch +++ /dev/null @@ -1,179 +0,0 @@ -Index: programs/mythcommflag/main.cpp -=================================================================== ---- programs/mythcommflag/main.cpp (revision 18596) -+++ programs/mythcommflag/main.cpp (working copy) -@@ -300,6 +300,132 @@ - return COMMFLAG_EXIT_NO_ERROR_WITH_NO_BREAKS; - } - -+int GetAviDemux(QString list, QString chanid, QString starttime, const QString &outputfilename) -+{ -+ QMap cutlist; -+ QMap::Iterator it; -+ QString result; -+ int startValue = 0; -+ long long myTotalFrames; -+ long long myFrameRate; -+ -+ ProgramInfo *pginfo = -+ ProgramInfo::GetProgramFromRecorded(chanid, starttime); -+ -+ NuppelVideoPlayer* nvp = new NuppelVideoPlayer("avidemux_export", pginfo); -+ -+ myFrameRate = (long long)(nvp->GetFrameRate() * 1000); -+ myTotalFrames = 1000000; //nvp->GetTotalFrameCount(); -+ -+ if (!pginfo) -+ { -+ VERBOSE(VB_IMPORTANT, -+ QString("No program data exists for channel %1 at %2") -+ .arg(chanid).arg(starttime)); -+ return COMMFLAG_BUGGY_EXIT_NO_CHAN_DATA; -+ } -+ -+ QString filename = pginfo->GetPlaybackURL(TRUE); -+ -+ if (list == "cutlist") -+ pginfo->GetCutList(cutlist); -+ else -+ pginfo->GetCommBreakList(cutlist); -+ -+// Formatting of output data -+ -+ for (it = cutlist.begin(); it != cutlist.end(); ++it) -+ { -+ if ((it.key() == 0) && (startValue == 0)) // Cutlist starts on first frame, -+ { -+ ++it; -+ startValue = it.key(); -+ } -+ -+ if ((it.key() != 0) && (startValue == 0)) // Cutlist starts on non-first frame -+ { -+ result += QString("app.addSegment(0,0,%1);").arg(it.key()); -+ startValue = it.key(); -+ } -+ else -+ { -+ if ((*it == MARK_COMM_END) && (startValue != 0) || -+ (*it == MARK_CUT_END) && (startValue != 0)) -+ { -+ if (result != "") -+ result += "\n"; -+ startValue = it.key(); -+ result += QString("app.addSegment(0,%1,").arg(it.key()); // Value is a start value -+ } -+ else -+ { -+ result += QString("%1);").arg(it.key() - startValue); // Value is an end value -+ } -+ } -+ } -+ -+if (it.key() != myTotalFrames) -+ { -+ result += QString("%1);").arg(myTotalFrames); -+ } -+ -+// Governs the file output: -+ -+ QString tmp = ""; -+ ostream *out = &cout; -+ -+ if (outputfilename != "-"){ -+ QByteArray tmp = outputfilename.toLocal8Bit(); -+ out = new fstream(tmp.constData(), ios::app | ios::out ); -+ } -+ -+ if (outputfilename == ""){ -+ VERBOSE(VB_IMPORTANT, -+ QString("Error: AVIDemux output requires the use of the --outputfile option.")); -+ return COMMFLAG_EXIT_INVALID_CMDLINE; -+ } -+ -+ tmp = QString("//AD <- Needed to identify//\n" -+ "//--automatically built--\n" -+ "//--Project:\n\n" -+ "var app = new Avidemux();\n\n" -+ "//** Video **\n" -+ "// 01 videos source\n" -+ "app.load(\"%1\");\n\n" -+ "app.clearSegments();\n\n" -+ "%2\n" -+ "app.markerA=0;\n" -+ "app.markerB=%3;\n" -+ "app.rebuildIndex();\n\n" -+ "//** Postproc **\n" -+ "app.video.setPostProc(3,3,0);\n\n" -+ "app.video.setFps1000(%4);\n\n" -+ "//** Filters **\n\n" -+ "//** Video Codec conf **\n" -+ "app.video.codec(\"Copy\",\"CQ=4\",\"0 \");\n\n" -+ "//** Audio **\n" -+ "app.audio.reset();\n" -+ "app.audio.codec(\"copy\",128,0,\"\");\n" -+ "app.audio.normalizeMode=0;\n" -+ "app.audio.normalizeValue=0;\n" -+ "app.audio.delay=0;\n" -+ "app.audio.mixer(\"NONE\");\n" -+ "app.setContainer(\"AVI\");\n" -+ "setSuccess(1);\n" -+ "//app.Exit();\n\n" -+ "//End of script\n").arg(filename).arg(result).arg(myTotalFrames).arg(myFrameRate).toLocal8Bit().constData(); -+ -+ const QByteArray tmp2 = tmp.toLocal8Bit(); -+ *out << tmp2.constData() << endl; -+ -+ VERBOSE(VB_IMPORTANT, -+ QString("AVIDemux Project generated for %1 at %2 with filename %3.") -+ .arg(chanid).arg(starttime).arg(outputfilename)); -+ -+ return COMMFLAG_EXIT_NO_ERROR_WITH_NO_BREAKS; -+} -+ -+ - void streamOutCommercialBreakList( - ostream &output, const QMap &commercialBreakList) - { -@@ -811,6 +937,8 @@ - bool clearCutlist = false; - bool getCutlist = false; - bool getSkipList = false; -+ bool getAviDemuxCutlist = false; -+ bool getAviDemuxSkiplist = false; - QString newCutList = QString::null; - QMap settingsOverride; - -@@ -960,6 +1088,10 @@ - getCutlist = true; - else if (!strcmp(a.argv()[argpos], "--getskiplist")) - getSkipList = true; -+ else if (!strcmp(a.argv()[argpos], "--getcutlist-avidemux")) -+ getAviDemuxCutlist = true; -+ else if (!strcmp(a.argv()[argpos], "--getskiplist-avidemux")) -+ getAviDemuxSkiplist = true; - else if (!strcmp(a.argv()[argpos], "--setcutlist")) - newCutList = (a.argv()[++argpos]); - else if (!strcmp(a.argv()[argpos], "-j")) -@@ -1111,6 +1243,8 @@ - " #-#[,#-#]... (ie, 1-100,1520-3012,4091-5094\n" - "--getcutlist Display the current cutlist\n" - "--getskiplist Display the current Commercial Skip list\n" -+ "--getcutlist-avidemux Export cutlist as AVIDemux Project File\n" -+ "--getskiplist-avidemux Export skiplist as AVIDemux Project File\n" - "-v or --verbose debug-level Use '-v help' for level info\n" - "--queue Insert flagging job into the JobQueue rather than\n" - " running flagging in the foreground\n" -@@ -1223,6 +1357,12 @@ - if (!newCutList.isNull()) - return SetCutList(chanid, starttime, newCutList); - -+ if (getAviDemuxCutlist) -+ return GetAviDemux("cutlist", chanid, starttime, outputfilename); -+ -+ if (getAviDemuxSkiplist) -+ return GetAviDemux("commflag", chanid, starttime, outputfilename); -+ - if (getCutlist) - return GetMarkupList("cutlist", chanid, starttime); - diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/mythtv.install b/abs/core-testing/mythtv/trunk/mythtv-svn/mythtv.install deleted file mode 100755 index 513852a..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/mythtv.install +++ /dev/null @@ -1,55 +0,0 @@ - -# arg 1: the new package version -pre_install () { - echo "backing up the database" - dbver=`pacman -Q mythtv-svn | awk ' { print $2 } '` - if [ ! -e /data/databases_backup ] - then - mkdir -p /data/database_backup - fi - mysqldump -u mythtv -pmythtv mythconverg -c > /data/database_backup/${dbver}.dump.sql -} - -post_install() { - mkdir -p /data/home - /usr/sbin/useradd -G users,video,audio,optical -m -d /data/home/mythtv mythtv - /usr/sbin/usermod -G users,video,audio,optical mythtv -# mkdir /var/log/mythtv -# chown -R mythtv:users /var/log/mythtv - dbver=`pacman -Q mythtv-svn | awk ' { print $2 } '` - if [ ! -e /data/database_backup ] - then - mkdir -p /data/database_backup - fi - chown mythtv:nobody /data/database_backup - chmod g+s /data/database_backup - - mysqldump -u mythtv -pmythtv mythconverg -c > /data/database_backup/${dbver}.dump.sql - - -} -pre_upgrade () { - pre_install -} - -# arg 1: the new package version -# arg 2: the old package version -post_upgrade() { - post_install - - /bin/true -} - -# arg 1: the old package version -pre_remove() { - /bin/true -} - -# arg 1: the old package version -post_remove() { -/bint/true -} - -op=$1 -shift -$op $* diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/patches/DeviceReadBuffer-polltimeout.2.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/patches/DeviceReadBuffer-polltimeout.2.patch deleted file mode 100644 index 5bb713f..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/patches/DeviceReadBuffer-polltimeout.2.patch +++ /dev/null @@ -1,219 +0,0 @@ -Index: libs/libmythtv/DeviceReadBuffer.h -=================================================================== ---- libs/libmythtv/DeviceReadBuffer.h (revision 18515) -+++ libs/libmythtv/DeviceReadBuffer.h (working copy) -@@ -59,7 +59,7 @@ - void IncrReadPointer(uint len); - - bool HandlePausing(void); -- bool Poll(void) const; -+ bool Poll(void); - uint WaitForUnused(uint bytes_needed) const; - uint WaitForUsed (uint bytes_needed) const; - -Index: libs/libmythtv/DeviceReadBuffer.cpp -=================================================================== ---- libs/libmythtv/DeviceReadBuffer.cpp (revision 18515) -+++ libs/libmythtv/DeviceReadBuffer.cpp (working copy) -@@ -90,9 +90,14 @@ - - void DeviceReadBuffer::Start(void) - { -- lock.lock(); -- bool was_running = running; -- lock.unlock(); -+ bool was_running; -+ -+ { -+ QMutexLocker locker(&lock); -+ was_running = running; -+ error = false; -+ } -+ - if (was_running) - { - VERBOSE(VB_IMPORTANT, LOC_ERR + "Start(): Already running."); -@@ -104,6 +109,8 @@ - { - VERBOSE(VB_IMPORTANT, - LOC_ERR + QString("Start(): pthread_create failed.") + ENO); -+ -+ QMutexLocker locker(&lock); - error = true; - } - } -@@ -118,21 +125,25 @@ - used = 0; - readPtr = buffer; - writePtr = buffer; -+ -+ error = false; - } - - void DeviceReadBuffer::Stop(void) - { - bool was_running = IsRunning(); -- lock.lock(); -- run = false; -- lock.unlock(); - - if (!was_running) - { -- VERBOSE(VB_IMPORTANT, LOC_ERR + "Stop(): Not running."); -+ VERBOSE(VB_IMPORTANT, LOC + "Stop(): Not running."); - return; - } - -+ { -+ QMutexLocker locker(&lock); -+ run = false; -+ } -+ - pthread_join(thread, NULL); - } - -@@ -229,10 +240,11 @@ - { - uint errcnt = 0; - -- lock.lock(); -- run = true; -- running = true; -- lock.unlock(); -+ { -+ QMutexLocker locker(&lock); -+ run = true; -+ running = true; -+ } - - while (run) - { -@@ -248,6 +260,15 @@ - if (using_poll && !Poll()) - continue; - -+ { -+ QMutexLocker locker(&lock); -+ if (error) -+ { -+ VERBOSE(VB_RECORD, LOC + "fill_ringbuffer: error state"); -+ break; -+ } -+ } -+ - // Limit read size for faster return from read - size_t read_size = - min(dev_read_size, (size_t) WaitForUnused(TSPacket::SIZE)); -@@ -268,9 +289,10 @@ - } - } - -- lock.lock(); -- running = false; -- lock.unlock(); -+ { -+ QMutexLocker locker(&lock); -+ running = false; -+ } - } - - bool DeviceReadBuffer::HandlePausing(void) -@@ -293,7 +315,7 @@ - return true; - } - --bool DeviceReadBuffer::Poll(void) const -+bool DeviceReadBuffer::Poll(void) - { - #ifdef USING_MINGW - #warning mingw DeviceReadBuffer::Poll -@@ -302,31 +324,53 @@ - return false; - #else - bool retval = true; -- while (true) -+ uint timeout_cnt = 0; -+ -+ for (;;) - { - struct pollfd polls; - polls.fd = _stream_fd; - polls.events = POLLIN; - polls.revents = 0; - -- int ret = poll(&polls, 1 /*number of polls*/, 10 /*msec*/); -- if (IsPauseRequested() || !IsOpen() || !run) -+ int ret = poll(&polls, 1 /*number of polls*/, 250 /*msec*/); -+ -+ if (polls.revents & (POLLERR | POLLHUP | POLLNVAL)) - { -+ VERBOSE(VB_IMPORTANT, LOC + "poll error"); -+ error = true; -+ return true; -+ } -+ -+ if (!run || !IsOpen() || IsPauseRequested()) -+ { - retval = false; - break; // are we supposed to pause, stop, etc. - } - - if (ret > 0) - break; // we have data to read :) -- if ((-1 == ret) && (EOVERFLOW == errno)) -- break; // we have an error to handle -- -- if ((-1 == ret) && ((EAGAIN == errno) || (EINTR == errno))) -- continue; // errors that tell you to try again -- if (ret == 0) -- continue; // timed out, try again -- -- usleep(2500); -+ if (ret < 0) -+ { -+ if ((EOVERFLOW == errno)) -+ break; // we have an error to handle -+ if ((EAGAIN == errno) || (EINTR == errno)) -+ continue; // errors that tell you to try again -+ usleep(2500); -+ } -+ else // ret == 0 -+ { -+ if (++timeout_cnt > 9) -+ { -+ VERBOSE(VB_RECORD, LOC_ERR + "Poll giving up"); -+ QMutexLocker locker(&lock); -+ error = true; -+ return true; -+ } -+ if (timeout_cnt % 2) -+ VERBOSE(VB_RECORD, LOC_ERR + QString("Poll timeout (%1)") -+ .arg(timeout_cnt)); -+ } - } - return retval; - #endif //!USING_MINGW -@@ -360,9 +404,9 @@ - - if (++errcnt > 5) - { -- lock.lock(); -+ QMutexLocker locker(&lock); -+ VERBOSE(VB_RECORD, LOC + "Too many errors."); - error = true; -- lock.unlock(); - return false; - } - -@@ -376,10 +420,8 @@ - VERBOSE(VB_IMPORTANT, LOC + - QString("End-Of-File? fd(%1)").arg(_stream_fd)); - -- lock.lock(); -+ QMutexLocker locker(&lock); - eof = true; -- lock.unlock(); -- - return false; - } - usleep(500); diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/patches/aacdecoder.cpp.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/patches/aacdecoder.cpp.patch deleted file mode 100644 index 8796eb4..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/patches/aacdecoder.cpp.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- mythmusic/mythmusic/aacdecoder.cpp.orig 2008-11-19 12:51:48.000000000 -0500 -+++ mythmusic/mythmusic/aacdecoder.cpp 2008-11-19 12:52:42.000000000 -0500 -@@ -17,6 +17,9 @@ - #define FAAD_MODIFIED - #endif - -+// LinHES need this undefined -+#undef FAAD_MODIFIED -+ - // ANSI C headers - #include - diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/patches/hdpvr-v4lchannel-tweak.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/patches/hdpvr-v4lchannel-tweak.patch deleted file mode 100644 index 3535310..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/patches/hdpvr-v4lchannel-tweak.patch +++ /dev/null @@ -1,139 +0,0 @@ -Index: libs/libmythtv/v4lchannel.h -=================================================================== ---- libs/libmythtv/v4lchannel.h (revision 18874) -+++ libs/libmythtv/v4lchannel.h (working copy) -@@ -103,6 +103,8 @@ - VidModV4L2 videomode_v4l2; ///< Current video mode if 'usingv4l2' is true - - int defaultFreqTable; -+ int prev_inputNumV4L; -+ v4l2_std_id prev_vid_mode; - }; - - #endif -Index: libs/libmythtv/v4lchannel.cpp -=================================================================== ---- libs/libmythtv/v4lchannel.cpp (revision 18874) -+++ libs/libmythtv/v4lchannel.cpp (working copy) -@@ -40,7 +40,8 @@ - device_name(QString::null), driver_name(QString::null), - curList(NULL), totalChannels(0), - currentFormat(""), is_dtv(false), -- usingv4l2(false), defaultFreqTable(1) -+ usingv4l2(false), defaultFreqTable(1), -+ prev_inputNumV4L(-1), prev_vid_mode(-1) - { - } - -@@ -795,62 +796,75 @@ - { - VERBOSE(VB_CHANNEL, LOC + msg + "(v4l v2)"); - -- int ioctlval = ioctl(videofd, VIDIOC_S_INPUT, &inputNumV4L); -+ int ioctlval; -+ bool streamingDisabled = false; -+ int streamType = V4L2_BUF_TYPE_VIDEO_CAPTURE; - -- // ConvertX (wis-go7007) requires streaming to be disabled -- // before an input switch, do this if initial switch failed. -- bool streamingDisabled = false; -- int streamType = V4L2_BUF_TYPE_VIDEO_CAPTURE; -- if ((ioctlval < 0) && (errno == EBUSY)) -+ if (prev_inputNumV4L != inputNumV4L) - { -- ioctlval = ioctl(videofd, VIDIOC_STREAMOFF, &streamType); -+ ioctlval = ioctl(videofd, VIDIOC_S_INPUT, &inputNumV4L); -+ -+ // ConvertX (wis-go7007) requires streaming to be disabled -+ // before an input switch, do this if initial switch failed. -+ if ((ioctlval < 0) && (errno == EBUSY)) -+ { -+ ioctlval = ioctl(videofd, VIDIOC_STREAMOFF, &streamType); -+ if (ioctlval < 0) -+ { -+ VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -+ "\n\t\t\twhile disabling streaming (v4l v2)" + ENO); -+ -+ ok = false; -+ ioctlval = 0; -+ } -+ else -+ { -+ streamingDisabled = true; -+ -+ // Resend the input switch ioctl. -+ ioctlval = ioctl(videofd, VIDIOC_S_INPUT, &inputNumV4L); -+ } -+ } -+ - if (ioctlval < 0) - { - VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -- "\n\t\t\twhile disabling streaming (v4l v2)" + ENO); -+ "\n\t\t\twhile setting input (v4l v2)" + ENO); - - ok = false; -- ioctlval = 0; - } -- else -- { -- streamingDisabled = true; - -- // Resend the input switch ioctl. -- ioctlval = ioctl(videofd, VIDIOC_S_INPUT, &inputNumV4L); -- } -+ prev_inputNumV4L = inputNumV4L; - } - -- if (ioctlval < 0) -- { -- VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -- "\n\t\t\twhile setting input (v4l v2)" + ENO); -- -- ok = false; -- } -- - v4l2_std_id vid_mode = format_to_mode(newFmt, 2); -- ioctlval = ioctl(videofd, VIDIOC_S_STD, &vid_mode); -- if (ioctlval < 0) -- { -- VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -- "\n\t\t\twhile setting format (v4l v2)" + ENO); - -- ok = false; -- } -- -- // ConvertX (wis-go7007) requires streaming to be disabled -- // before an input switch, here we try to re-enable streaming. -- if (streamingDisabled) -+ if (prev_vid_mode != vid_mode) - { -- ioctlval = ioctl(videofd, VIDIOC_STREAMON, &streamType); -+ ioctlval = ioctl(videofd, VIDIOC_S_STD, &vid_mode); - if (ioctlval < 0) - { - VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -- "\n\t\t\twhile reenabling streaming (v4l v2)" + ENO); -+ "\n\t\t\twhile setting format (v4l v2)" + ENO); - - ok = false; - } -+ -+ // ConvertX (wis-go7007) requires streaming to be disabled -+ // before an input switch, here we try to re-enable streaming. -+ if (streamingDisabled) -+ { -+ ioctlval = ioctl(videofd, VIDIOC_STREAMON, &streamType); -+ if (ioctlval < 0) -+ { -+ VERBOSE(VB_IMPORTANT, LOC_ERR + msg + -+ "\n\t\t\twhile reenabling streaming (v4l v2)" + -+ ENO); -+ -+ ok = false; -+ } -+ } -+ prev_vid_mode = vid_mode; - } - } - diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/patches/mpegrecorder-hdpvr-v1.1.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/patches/mpegrecorder-hdpvr-v1.1.patch deleted file mode 100644 index f292b7f..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/patches/mpegrecorder-hdpvr-v1.1.patch +++ /dev/null @@ -1,658 +0,0 @@ -Index: libs/libmythtv/mpegrecorder.h -=================================================================== ---- libs/libmythtv/mpegrecorder.h (revision 19056) -+++ libs/libmythtv/mpegrecorder.h (working copy) -@@ -80,11 +80,13 @@ - uint GetFilteredAudioLayer(void) const; - uint GetFilteredAudioBitRate(uint audio_layer) const; - -+ void RestartEncoding(void); - bool StartEncoding(int fd); - bool StopEncoding(int fd); - - void ResetForNewFile(void); - -+ bool WaitFor_HDPVR(void); - void HandleResolutionChanges(void); - - inline bool CheckCC(uint pid, uint cc); -@@ -104,7 +106,6 @@ - // State - bool recording; - bool encoding; -- bool needs_resolution; - mutable QMutex start_stop_encoding_lock; - QMutex recording_wait_lock; - QWaitCondition recording_wait; -@@ -113,7 +114,7 @@ - bool cleartimeonpause; - - // Encoding info -- int width, height; -+ uint width, height; - int bitrate, maxbitrate, streamtype, aspectratio; - int audtype, audsamplerate, audbitratel1, audbitratel2, audbitratel3; - int audvolume; -Index: libs/libmythtv/mpegrecorder.cpp -=================================================================== ---- libs/libmythtv/mpegrecorder.cpp (revision 19056) -+++ libs/libmythtv/mpegrecorder.cpp (working copy) -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - // avlib headers - extern "C" { -@@ -86,7 +87,7 @@ - requires_special_pause(false), - // State - recording(false), encoding(false), -- needs_resolution(false), start_stop_encoding_lock(QMutex::Recursive), -+ start_stop_encoding_lock(QMutex::Recursive), - recording_wait_lock(), recording_wait(), - // Pausing state - cleartimeonpause(false), -@@ -487,13 +488,21 @@ - - bool MpegRecorder::SetFormat(int chanfd) - { -+ uint idx; - struct v4l2_format vfmt; - bzero(&vfmt, sizeof(vfmt)); - - vfmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; - -- if (ioctl(chanfd, VIDIOC_G_FMT, &vfmt) < 0) -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_G_FMT, &vfmt) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 10) -+ { - VERBOSE(VB_IMPORTANT, LOC_ERR + "Error getting format" + ENO); - return false; - } -@@ -501,8 +510,15 @@ - vfmt.fmt.pix.width = width; - vfmt.fmt.pix.height = height; - -- if (ioctl(chanfd, VIDIOC_S_FMT, &vfmt) < 0) -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_S_FMT, &vfmt) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_ERR + "Error setting format" + ENO); - return false; - } -@@ -513,10 +529,19 @@ - /// Set audio language mode - bool MpegRecorder::SetLanguageMode(int chanfd) - { -+ uint idx; - struct v4l2_tuner vt; - bzero(&vt, sizeof(struct v4l2_tuner)); -- if (ioctl(chanfd, VIDIOC_G_TUNER, &vt) < 0) -+ -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_G_TUNER, &vt) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + "Unable to get audio mode" + ENO); - return false; - } -@@ -549,8 +574,15 @@ - success = false; - } - -- if (ioctl(chanfd, VIDIOC_S_TUNER, &vt) < 0) -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_S_TUNER, &vt) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + "Unable to set audio mode" + ENO); - success = false; - } -@@ -561,10 +593,19 @@ - bool MpegRecorder::SetRecordingVolume(int chanfd) - { - // Get volume min/max values -+ uint idx; - struct v4l2_queryctrl qctrl; - qctrl.id = V4L2_CID_AUDIO_VOLUME; -- if (ioctl(chanfd, VIDIOC_QUERYCTRL, &qctrl) < 0) -+ -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_QUERYCTRL, &qctrl) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + - "Unable to get recording volume parameters(max/min)" + ENO + - "\n\t\t\tusing default range [0,65535]."); -@@ -582,8 +623,15 @@ - ctrl.id = V4L2_CID_AUDIO_VOLUME; - ctrl.value = ctrl_volume; - -- if (ioctl(chanfd, VIDIOC_S_CTRL, &ctrl) < 0) -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_S_CTRL, &ctrl) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + - "Unable to set recording volume" + ENO + "\n\t\t\t" + - "If you are using an AverMedia M179 card this is normal."); -@@ -765,6 +813,7 @@ - - for (uint i = 0; i < ext_ctrls.size(); i++) - { -+ uint idx; - struct v4l2_ext_controls ctrls; - bzero(&ctrls, sizeof(struct v4l2_ext_controls)); - -@@ -774,8 +823,15 @@ - ctrls.count = 1; - ctrls.controls = &ext_ctrls[i]; - -- if (ioctl(fd, VIDIOC_S_EXT_CTRLS, &ctrls) < 0) -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(fd, VIDIOC_S_EXT_CTRLS, &ctrls) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - QMutexLocker locker(&control_description_lock); - VERBOSE(VB_IMPORTANT, QString("mpegrecorder.cpp:set_ctrls(): ") + - QString("Could not set %1 to %2") -@@ -814,6 +870,30 @@ - { - maxbitrate = high_mpeg4peakbitrate; - bitrate = high_mpeg4avgbitrate; -+ -+ // query supported audio codecs and prefer AC3 -+ uint idx; -+ struct v4l2_queryctrl qctrl; -+ qctrl.id = V4L2_CID_MPEG_AUDIO_ENCODING; -+ -+ for (idx = 0; idx < 20; ++idx) -+ { -+ if (ioctl(chanfd, VIDIOC_QUERYCTRL, &qctrl) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { -+ VERBOSE(VB_IMPORTANT, LOC_WARN + -+ "Unable to get supported audio codecs." + ENO); -+ } -+ else -+ { -+ if (qctrl.minimum != qctrl.maximum) -+ add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_AUDIO_ENCODING, -+ qctrl.maximum); -+ } - } - maxbitrate = std::max(maxbitrate, bitrate); - -@@ -837,19 +917,36 @@ - int audioinput = audiodevice.toUInt(&ok); - if (ok) - { -+ uint idx; - struct v4l2_audio ain; - bzero(&ain, sizeof(ain)); - ain.index = audioinput; -- if (ioctl(chanfd, VIDIOC_ENUMAUDIO, &ain) < 0) -+ -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_ENUMAUDIO, &ain) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + - "Unable to get audio input."); - } - else - { - ain.index = audioinput; -- if (ioctl(chanfd, VIDIOC_S_AUDIO, &ain) < 0) -+ -+ for (idx = 0; idx < 20; ++idx) - { -+ if (ioctl(chanfd, VIDIOC_S_AUDIO, &ain) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ { - VERBOSE(VB_IMPORTANT, LOC_WARN + - "Unable to set audio input."); - } -@@ -1036,17 +1133,26 @@ - if (deviceIsMpegFile) - elapsedTimer.start(); - else if (_device_read_buffer) -- _device_read_buffer->Start(); -+ { -+ VERBOSE(VB_RECORD, LOC + "Initial startup of recorder"); - -- needs_resolution = (driver == "hdpvr"); -+ if (StartEncoding(readfd)) -+ _device_read_buffer->Start(); -+ else -+ { -+ VERBOSE(VB_IMPORTANT, LOC_ERR + "Failed to start recording"); -+ recording = false; -+ QMutexLocker locker(&recording_wait_lock); -+ recording_wait.wakeAll(); -+ _error = true; -+ } -+ } - - QByteArray vdevice = videodevice.toAscii(); - while (encoding && !_error) - { - if (PauseAndWait(100)) - continue; -- -- HandleResolutionChanges(); - - if (deviceIsMpegFile) - { -@@ -1090,35 +1196,7 @@ - { - VERBOSE(VB_IMPORTANT, LOC_ERR + "Device error detected"); - -- _device_read_buffer->Stop(); -- -- QMutexLocker locker(&start_stop_encoding_lock); -- -- StopEncoding(readfd); -- -- // Make sure the next things in the file are a PAT & PMT -- if (_stream_data->PATSingleProgram() && -- _stream_data->PMTSingleProgram()) -- { -- bool tmp = _wait_for_keyframe_option; -- _wait_for_keyframe_option = false; -- HandleSingleProgramPAT(_stream_data->PATSingleProgram()); -- HandleSingleProgramPMT(_stream_data->PMTSingleProgram()); -- _wait_for_keyframe_option = tmp; -- } -- -- if (StartEncoding(readfd)) -- { -- _device_read_buffer->Start(); -- } -- else -- { -- if (0 != close(readfd)) -- VERBOSE(VB_IMPORTANT, LOC_ERR + "Close error" + ENO); -- -- // Force card to be reopened on next iteration.. -- readfd = -1; -- } -+ RestartEncoding(); - } - else if (_device_read_buffer->IsEOF()) - { -@@ -1216,6 +1294,8 @@ - } - } - -+ VERBOSE(VB_RECORD, LOC + "StartRecording finishing up"); -+ - if (_device_read_buffer) - { - if (_device_read_buffer->IsRunning()) -@@ -1224,6 +1304,7 @@ - delete _device_read_buffer; - _device_read_buffer = NULL; - } -+ - StopEncoding(readfd); - - FinishRecording(); -@@ -1373,52 +1454,95 @@ - - if (!paused) - { -+ VERBOSE(VB_RECORD, LOC + "PauseAndWait pause"); -+ -+ // Some drivers require streaming to be disabled before -+ // an input switch and other channel format setting. -+ if (requires_special_pause) -+ StopEncoding(readfd); -+ - if (_device_read_buffer) - { - QMutex drb_lock; - drb_lock.lock(); -- - _device_read_buffer->SetRequestPause(true); -- - pauseWait.wait(&drb_lock, timeout); - } - else -- { -- paused = true; - pauseWait.wakeAll(); -- } - -- // Some drivers require streaming to be disabled before -- // an input switch and other channel format setting. -- if (requires_special_pause) -- StopEncoding(readfd); -- -+ paused = true; - if (tvrec) - tvrec->RecorderPaused(); - } - - unpauseWait.wait(&waitlock, timeout); - } -- if (!request_pause) -+ -+ if (!request_pause && paused) - { -- if (paused) -+ VERBOSE(VB_RECORD, LOC + "PauseAndWait unpause"); -+ -+ if (driver == "hdpvr") - { -- // Some drivers require streaming to be disabled before -- // an input switch and other channel format setting. -- if (requires_special_pause) -- StartEncoding(readfd); -+ m_h264_parser.Reset(); -+ _wait_for_keyframe_option = true; -+ _seen_sps = false; - -- if (_device_read_buffer) -- _device_read_buffer->SetRequestPause(false); -+ // Sleep any less than 1.5 seconds, and the HD-PVR will -+ // return the old resolution, when the resolution is changing. -+ usleep(1500 * 1000); -+ } - -- if (_stream_data) -- _stream_data->Reset(_stream_data->DesiredProgram()); -- } -+ // Some drivers require streaming to be disabled before -+ // an input switch and other channel format setting. -+ if (requires_special_pause) -+ StartEncoding(readfd); -+ -+ if (_device_read_buffer) -+ _device_read_buffer->SetRequestPause(false); -+ -+ if (_stream_data) -+ _stream_data->Reset(_stream_data->DesiredProgram()); -+ - paused = false; - } -+ - return paused; - } - -+void MpegRecorder::RestartEncoding(void) -+{ -+ VERBOSE(VB_RECORD, LOC + "RestartEncoding"); -+ -+ _device_read_buffer->Stop(); -+ -+ QMutexLocker locker(&start_stop_encoding_lock); -+ -+ StopEncoding(readfd); -+ -+ // Make sure the next things in the file are a PAT & PMT -+ if (_stream_data->PATSingleProgram() && -+ _stream_data->PMTSingleProgram()) -+ { -+ _wait_for_keyframe_option = false; -+ HandleSingleProgramPAT(_stream_data->PATSingleProgram()); -+ HandleSingleProgramPMT(_stream_data->PMTSingleProgram()); -+ } -+ -+ if (StartEncoding(readfd)) -+ { -+ _device_read_buffer->Start(); -+ } -+ else -+ { -+ if (0 != close(readfd)) -+ VERBOSE(VB_IMPORTANT, LOC_ERR + "Close error" + ENO); -+ -+ readfd = -1; -+ } -+} -+ - bool MpegRecorder::StartEncoding(int fd) - { - QMutexLocker locker(&start_stop_encoding_lock); -@@ -1427,13 +1551,22 @@ - memset(&command, 0, sizeof(struct v4l2_encoder_cmd)); - command.cmd = V4L2_ENC_CMD_START; - -+ if (driver == "hdpvr") -+ HandleResolutionChanges(); -+ - VERBOSE(VB_RECORD, LOC + "StartEncoding"); -- needs_resolution = (driver == "hdpvr"); - -- for (int idx = 0; idx < 10; ++idx) -+ for (int idx = 0; idx < 20; ++idx) - { - if (ioctl(fd, VIDIOC_ENCODER_CMD, &command) == 0) - { -+ if (driver == "hdpvr") -+ { -+ m_h264_parser.Reset(); -+ _wait_for_keyframe_option = true; -+ _seen_sps = false; -+ } -+ - VERBOSE(VB_RECORD, LOC + "Encoding started"); - return true; - } -@@ -1444,7 +1577,7 @@ - return false; - } - -- usleep(250 * 1000); -+ usleep(100 * 1000); - } - - VERBOSE(VB_IMPORTANT, LOC_ERR + "StartEncoding - giving up" + ENO); -@@ -1461,9 +1594,8 @@ - - VERBOSE(VB_RECORD, LOC + "StopEncoding"); - -- for (int idx = 0; idx < 10; ++idx) -+ for (int idx = 0; idx < 20; ++idx) - { -- - if (ioctl(fd, VIDIOC_ENCODER_CMD, &command) == 0) - { - VERBOSE(VB_RECORD, LOC + "Encoding stopped"); -@@ -1476,7 +1608,7 @@ - return false; - } - -- usleep(250 * 1000); -+ usleep(100 * 1000); - } - - VERBOSE(VB_IMPORTANT, LOC_ERR + "StopEncoding - giving up" + ENO); -@@ -1544,7 +1676,7 @@ - void MpegRecorder::HandleSingleProgramPMT(ProgramMapTable *pmt) - { - if (!pmt) --{ -+ { - return; - } - -@@ -1564,27 +1696,89 @@ - DTVRecorder::BufferedWrite(*(reinterpret_cast(&buf[i]))); - } - -+bool MpegRecorder::WaitFor_HDPVR(void) -+{ -+ // After a resolution change, it can take the HD-PVR a few -+ // seconds before it is usable again. -+ -+ // Tell it to start encoding, then wait for it to actually feed us -+ // some data. -+ QMutexLocker locker(&start_stop_encoding_lock); -+ -+ struct v4l2_encoder_cmd command; -+ struct pollfd polls; -+ int idx; -+ -+ memset(&command, 0, sizeof(struct v4l2_encoder_cmd)); -+ command.cmd = V4L2_ENC_CMD_START; -+ -+ for (idx = 0; idx < 20; ++idx) -+ { -+ if (ioctl(readfd, VIDIOC_ENCODER_CMD, &command) == 0) -+ break; -+ usleep(100 * 1000); -+ } -+ -+ if (idx == 20) -+ return false; -+ -+ polls.fd = readfd; -+ polls.events = POLLIN; -+ polls.revents = 0; -+ -+ for (idx = 0; idx < 10; ++idx) -+ { -+ if (poll(&polls, 1, 250) > 0) -+ break; -+ } -+ -+ if (idx == 10) -+ return false; -+ -+ // HD-PVR should now be "ready" -+ command.cmd = V4L2_ENC_CMD_STOP; -+ -+ for (idx = 0; idx < 20; ++idx) -+ { -+ if (ioctl(readfd, VIDIOC_ENCODER_CMD, &command) == 0) -+ return true; -+ usleep(100 * 1000); -+ } -+ -+ return false; -+} -+ - void MpegRecorder::HandleResolutionChanges(void) - { -- if (!needs_resolution) -- return; -- - VERBOSE(VB_RECORD, LOC + "Checking Resolution"); - struct v4l2_format vfmt; - memset(&vfmt, 0, sizeof(vfmt)); - vfmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; - -+ if (driver == "hdpvr") -+ WaitFor_HDPVR(); -+ -+ uint idx; - uint pix = 0; -+ -+ for (idx = 0; idx < 20; ++idx) -+ { - if (0 == ioctl(chanfd, VIDIOC_G_FMT, &vfmt)) - { - VERBOSE(VB_RECORD, LOC + QString("Got Resolution %1x%2") - .arg(vfmt.fmt.pix.width).arg(vfmt.fmt.pix.height)); - pix = vfmt.fmt.pix.width * vfmt.fmt.pix.height; -- needs_resolution = false; -+ break; -+ } -+ // Typically takes 0.9 seconds after a resolution change -+ usleep(100 * 1000); - } - - if (!pix) -+ { -+ VERBOSE(VB_RECORD, LOC + "Giving up detecting resolution"); - return; // nothing to do, we don't have a resolution yet -+ } - - int old_max = maxbitrate, old_avg = bitrate; - if (pix <= 768*568) -@@ -1609,13 +1803,14 @@ - if (old_max == old_avg) - { - VERBOSE(VB_RECORD, LOC + -- QString("Old bitrate %1 CBR").arg(old_avg)); -+ QString("Old bitrate %1 CBR for %2x%3") -+ .arg(old_avg).arg(width).arg(height)); - } - else - { - VERBOSE(VB_RECORD, LOC + -- QString("Old bitrate %1/%2 VBR") -- .arg(old_avg).arg(old_max)); -+ QString("Old bitrate %1/%2 VBR for %3x%4") -+ .arg(old_avg).arg(old_max).arg(width).arg(height)); - } - - if (maxbitrate == bitrate) -@@ -1642,12 +1837,6 @@ - maxbitrate * 1000); - - set_ctrls(readfd, ext_ctrls); -+ - } -- -- // Restart streaming. Shouldn't be needed? seems to be with current driver. -- QMutexLocker locker(&start_stop_encoding_lock); -- StopEncoding(readfd); -- StartEncoding(readfd); -- -- needs_resolution = false; - } diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/patches/mythcommflag-avidemux.2.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/patches/mythcommflag-avidemux.2.patch deleted file mode 100644 index d26645f..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/patches/mythcommflag-avidemux.2.patch +++ /dev/null @@ -1,179 +0,0 @@ -Index: programs/mythcommflag/main.cpp -=================================================================== ---- programs/mythcommflag/main.cpp (revision 18596) -+++ programs/mythcommflag/main.cpp (working copy) -@@ -300,6 +300,132 @@ - return COMMFLAG_EXIT_NO_ERROR_WITH_NO_BREAKS; - } - -+int GetAviDemux(QString list, QString chanid, QString starttime, const QString &outputfilename) -+{ -+ QMap cutlist; -+ QMap::Iterator it; -+ QString result; -+ int startValue = 0; -+ long long myTotalFrames; -+ long long myFrameRate; -+ -+ ProgramInfo *pginfo = -+ ProgramInfo::GetProgramFromRecorded(chanid, starttime); -+ -+ NuppelVideoPlayer* nvp = new NuppelVideoPlayer("avidemux_export", pginfo); -+ -+ myFrameRate = (long long)(nvp->GetFrameRate() * 1000); -+ myTotalFrames = 1000000; //nvp->GetTotalFrameCount(); -+ -+ if (!pginfo) -+ { -+ VERBOSE(VB_IMPORTANT, -+ QString("No program data exists for channel %1 at %2") -+ .arg(chanid).arg(starttime)); -+ return COMMFLAG_BUGGY_EXIT_NO_CHAN_DATA; -+ } -+ -+ QString filename = pginfo->GetPlaybackURL(TRUE); -+ -+ if (list == "cutlist") -+ pginfo->GetCutList(cutlist); -+ else -+ pginfo->GetCommBreakList(cutlist); -+ -+// Formatting of output data -+ -+ for (it = cutlist.begin(); it != cutlist.end(); ++it) -+ { -+ if ((it.key() == 0) && (startValue == 0)) // Cutlist starts on first frame, -+ { -+ ++it; -+ startValue = it.key(); -+ } -+ -+ if ((it.key() != 0) && (startValue == 0)) // Cutlist starts on non-first frame -+ { -+ result += QString("app.addSegment(0,0,%1);").arg(it.key()); -+ startValue = it.key(); -+ } -+ else -+ { -+ if ((*it == MARK_COMM_END) && (startValue != 0) || -+ (*it == MARK_CUT_END) && (startValue != 0)) -+ { -+ if (result != "") -+ result += "\n"; -+ startValue = it.key(); -+ result += QString("app.addSegment(0,%1,").arg(it.key()); // Value is a start value -+ } -+ else -+ { -+ result += QString("%1);").arg(it.key() - startValue); // Value is an end value -+ } -+ } -+ } -+ -+if (it.key() != myTotalFrames) -+ { -+ result += QString("%1);").arg(myTotalFrames); -+ } -+ -+// Governs the file output: -+ -+ QString tmp = ""; -+ ostream *out = &cout; -+ -+ if (outputfilename != "-"){ -+ QByteArray tmp = outputfilename.toLocal8Bit(); -+ out = new fstream(tmp.constData(), ios::app | ios::out ); -+ } -+ -+ if (outputfilename == ""){ -+ VERBOSE(VB_IMPORTANT, -+ QString("Error: AVIDemux output requires the use of the --outputfile option.")); -+ return COMMFLAG_EXIT_INVALID_CMDLINE; -+ } -+ -+ tmp = QString("//AD <- Needed to identify//\n" -+ "//--automatically built--\n" -+ "//--Project:\n\n" -+ "var app = new Avidemux();\n\n" -+ "//** Video **\n" -+ "// 01 videos source\n" -+ "app.load(\"%1\");\n\n" -+ "app.clearSegments();\n\n" -+ "%2\n" -+ "app.markerA=0;\n" -+ "app.markerB=%3;\n" -+ "app.rebuildIndex();\n\n" -+ "//** Postproc **\n" -+ "app.video.setPostProc(3,3,0);\n\n" -+ "app.video.setFps1000(%4);\n\n" -+ "//** Filters **\n\n" -+ "//** Video Codec conf **\n" -+ "app.video.codec(\"Copy\",\"CQ=4\",\"0 \");\n\n" -+ "//** Audio **\n" -+ "app.audio.reset();\n" -+ "app.audio.codec(\"copy\",128,0,\"\");\n" -+ "app.audio.normalizeMode=0;\n" -+ "app.audio.normalizeValue=0;\n" -+ "app.audio.delay=0;\n" -+ "app.audio.mixer(\"NONE\");\n" -+ "app.setContainer(\"AVI\");\n" -+ "setSuccess(1);\n" -+ "//app.Exit();\n\n" -+ "//End of script\n").arg(filename).arg(result).arg(myTotalFrames).arg(myFrameRate).toLocal8Bit().constData(); -+ -+ const QByteArray tmp2 = tmp.toLocal8Bit(); -+ *out << tmp2.constData() << endl; -+ -+ VERBOSE(VB_IMPORTANT, -+ QString("AVIDemux Project generated for %1 at %2 with filename %3.") -+ .arg(chanid).arg(starttime).arg(outputfilename)); -+ -+ return COMMFLAG_EXIT_NO_ERROR_WITH_NO_BREAKS; -+} -+ -+ - void streamOutCommercialBreakList( - ostream &output, const QMap &commercialBreakList) - { -@@ -811,6 +937,8 @@ - bool clearCutlist = false; - bool getCutlist = false; - bool getSkipList = false; -+ bool getAviDemuxCutlist = false; -+ bool getAviDemuxSkiplist = false; - QString newCutList = QString::null; - QMap settingsOverride; - -@@ -960,6 +1088,10 @@ - getCutlist = true; - else if (!strcmp(a.argv()[argpos], "--getskiplist")) - getSkipList = true; -+ else if (!strcmp(a.argv()[argpos], "--getcutlist-avidemux")) -+ getAviDemuxCutlist = true; -+ else if (!strcmp(a.argv()[argpos], "--getskiplist-avidemux")) -+ getAviDemuxSkiplist = true; - else if (!strcmp(a.argv()[argpos], "--setcutlist")) - newCutList = (a.argv()[++argpos]); - else if (!strcmp(a.argv()[argpos], "-j")) -@@ -1111,6 +1243,8 @@ - " #-#[,#-#]... (ie, 1-100,1520-3012,4091-5094\n" - "--getcutlist Display the current cutlist\n" - "--getskiplist Display the current Commercial Skip list\n" -+ "--getcutlist-avidemux Export cutlist as AVIDemux Project File\n" -+ "--getskiplist-avidemux Export skiplist as AVIDemux Project File\n" - "-v or --verbose debug-level Use '-v help' for level info\n" - "--queue Insert flagging job into the JobQueue rather than\n" - " running flagging in the foreground\n" -@@ -1223,6 +1357,12 @@ - if (!newCutList.isNull()) - return SetCutList(chanid, starttime, newCutList); - -+ if (getAviDemuxCutlist) -+ return GetAviDemux("cutlist", chanid, starttime, outputfilename); -+ -+ if (getAviDemuxSkiplist) -+ return GetAviDemux("commflag", chanid, starttime, outputfilename); -+ - if (getCutlist) - return GetMarkupList("cutlist", chanid, starttime); - diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/smolt_jump.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/smolt_jump.patch deleted file mode 100644 index 0fc452a..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/smolt_jump.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: programs/mythfrontend/networkcontrol.cpp -=================================================================== ---- programs/mythfrontend/networkcontrol.cpp (revision 19291) -+++ programs/mythfrontend/networkcontrol.cpp (working copy) -@@ -83,6 +83,7 @@ - jumpMap["zoneminderliveview"] = "ZoneMinder Live View"; - jumpMap["zoneminderevents"] = "ZoneMinder Events"; - jumpMap["snapshot"] = "ScreenShot"; -+ jumpMap["mythsmolt"] = "MythSmolt"; - - // These jump point names match the (lowercased) locations from gContext - jumpMap["channelrecpriority"] = "Channel Recording Priorities"; -@@ -191,7 +192,7 @@ - pthread_create(&command_thread, NULL, CommandThread, this); - - gContext->addListener(this); -- -+ - connect(this, SIGNAL(newConnection()), this, SLOT(newConnection())); - } - -@@ -307,7 +308,7 @@ - cs = new QTextStream(s); - cs->setCodec("UTF-8"); - } -- -+ - if (client) - { - closedOldConn = true; diff --git a/abs/core-testing/mythtv/trunk/mythtv-svn/svn_main_menu_popup.patch b/abs/core-testing/mythtv/trunk/mythtv-svn/svn_main_menu_popup.patch deleted file mode 100644 index 5556683..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-svn/svn_main_menu_popup.patch +++ /dev/null @@ -1,211 +0,0 @@ -Index: libs/libmythui/myththemedmenu.h -=================================================================== ---- libs/libmythui/myththemedmenu.h (revision 19291) -+++ libs/libmythui/myththemedmenu.h (working copy) -@@ -2,6 +2,7 @@ - #define MYTHTHEMEDMENU_H_ - - #include "mythscreentype.h" -+#include "mythdialogbox.h" - #include "mythuistatetype.h" - #include "mythuibuttonlist.h" - #include "xmlparsebase.h" -@@ -77,6 +78,11 @@ - void ReloadExitKey(void); - virtual void aboutToShow(void); - -+ void doMenu(); -+ void aboutScreen(); -+ MythDialogBox *m_menuPopup; -+ void customEvent(QEvent *event); -+ - protected: - virtual bool keyPressEvent(QKeyEvent *e); - -Index: libs/libmythui/myththemedmenu.cpp -=================================================================== ---- libs/libmythui/myththemedmenu.cpp (revision 19291) -+++ libs/libmythui/myththemedmenu.cpp (working copy) -@@ -32,6 +32,7 @@ - m_callbackdata = NULL; - - m_killable = false; -+ - } - - MythThemedMenuState::~MythThemedMenuState() -@@ -95,7 +96,7 @@ - m_exitModifier = -1; - m_menumode = ""; - m_buttonList = NULL; -- -+ m_menuPopup = NULL; - if (!m_state) - { - m_state = new MythThemedMenuState(parent, "themedmenustate"); -@@ -271,6 +272,10 @@ - m_wantpop = true; - } - } -+ else if (action == "MENU") -+ { -+ doMenu(); -+ } - else - handled = false; - } -@@ -292,6 +297,154 @@ - updateLCD(); - } - -+void MythThemedMenu::doMenu() -+{ -+ -+ if (m_menuPopup) -+ return; -+ int allowsd = GetMythDB()->GetNumSetting("AllowQuitShutdown"); -+ int override_menu = GetMythDB()->GetNumSetting("OverRideExitMenu"); -+ QString label = "System Menu"; -+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); -+ m_menuPopup = new MythDialogBox(label, mainStack, "menuPopup"); -+ if (m_menuPopup->Create()) -+ mainStack->AddScreen(m_menuPopup); -+ if ( override_menu == 0 ) -+ { -+ if ( allowsd != 0 && allowsd !=4 ) -+ { -+ m_menuPopup->SetReturnEvent(this,"popmenu_exit"); -+ m_menuPopup->AddButton("Shutdown"); -+ m_menuPopup->AddButton("Reboot"); -+ } -+ else -+ { -+ m_menuPopup->SetReturnEvent(this,"popmenu_noexit"); -+ } -+ } -+ if ( override_menu == 5 ) -+ { // reboot -+ m_menuPopup->SetReturnEvent(this,"popmenu_reboot"); -+ m_menuPopup->AddButton("Reboot"); -+ } -+ else if ( override_menu == 2 || override_menu == 4 ) -+ { // shutdown -+ m_menuPopup->SetReturnEvent(this,"popmenu_shutdown"); -+ m_menuPopup->AddButton("Shutdown"); -+ } -+ else if ( override_menu == 3 || override_menu == 6 ) -+ { // both -+ m_menuPopup->SetReturnEvent(this,"popmenu_exit"); -+ m_menuPopup->AddButton("Shutdown"); -+ m_menuPopup->AddButton("Reboot"); -+ } -+ else -+ { -+ m_menuPopup->SetReturnEvent(this,"popmenu_noexit"); -+ } -+ -+ m_menuPopup->AddButton("About"); -+ m_menuPopup->AddButton("Cancel"); -+ -+} -+void MythThemedMenu::aboutScreen() -+{ -+ -+ extern const char *myth_source_version; -+ extern const char *myth_source_path; -+ QString distro_line; -+ distro_line=""; -+ -+ QFile file("/etc/os_myth_release"); -+ if ( file.open(QFile::ReadOnly)) -+ { -+ QTextStream t( &file ); // use a text stream -+ distro_line = t.readLine(); -+ file.close(); -+ } -+ -+ QString label = ""; -+ label.append(QObject::tr("Revision: ") + myth_source_version + " \n Branch:" + myth_source_path + "\n" + distro_line ); -+ -+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); -+ m_menuPopup = new MythDialogBox(label, mainStack, "About"); -+ if (m_menuPopup->Create()) -+ mainStack->AddScreen(m_menuPopup); -+ -+ m_menuPopup->SetReturnEvent(this,"About"); -+ m_menuPopup->AddButton("OK!"); -+ -+} -+ -+void MythThemedMenu::customEvent(QEvent *event) -+{ -+ if (event->type() == kMythDialogBoxCompletionEventType) -+ { -+ DialogCompletionEvent *dce = -+ dynamic_cast(event); -+ QString resultid= dce->GetId(); -+ int buttonnum = dce->GetResult(); -+ QString halt_cmd=GetMythDB()->GetSetting("HaltCommand"); -+ QString reboot_cmd=GetMythDB()->GetSetting("RebootCommand"); -+ -+ if (resultid == "popmenu_exit") -+ { -+ if (buttonnum == 0) -+ { -+ if (!halt_cmd.isEmpty() ) -+ system(halt_cmd.toAscii()); -+ } -+ -+ if (buttonnum == 1) -+ { -+ if (!reboot_cmd.isEmpty() ) -+ system(reboot_cmd.toAscii()); -+ } -+ -+ if (buttonnum == 2) -+ { -+ aboutScreen(); -+ } -+ } -+ -+ if (resultid == "popmenu_noexit") -+ { -+ if (buttonnum == 0) -+ aboutScreen(); -+ } -+ -+ if (resultid == "popmenu_reboot") -+ { -+ if (buttonnum == 0) -+ { -+ if (!reboot_cmd.isEmpty() ) -+ system(reboot_cmd.toAscii()); -+ } -+ -+ if (buttonnum == 1) -+ { -+ aboutScreen(); -+ } -+ } -+ -+ if (resultid == "popmenu_shutdown") -+ { -+ if (buttonnum == 0) -+ { -+ if (!halt_cmd.isEmpty() ) -+ system(halt_cmd.toAscii()); -+ } -+ -+ if (buttonnum == 1) -+ { -+ aboutScreen(); -+ } -+ } -+ -+ m_menuPopup = NULL; -+ } -+} -+ - /** \brief Parses the element's tags and set the ThemeButton's type, - * text, depends, and action, then adds the button. - * diff --git a/abs/core-testing/mythtv/trunk/mythtv-themes/PKGBUILD b/abs/core-testing/mythtv/trunk/mythtv-themes/PKGBUILD deleted file mode 100755 index 8cd0d04..0000000 --- a/abs/core-testing/mythtv/trunk/mythtv-themes/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -pkgname=mythv-themes-svn -pkgver=15924 -pkgrel=4 -pkgdesc="themes for mythtv" -url="http://www.mythtv.org" -license="GPL" -depends=( ) -#makedepends=('sqlite3' 'sed') -conflicts=() -replaces=() -backup=() -#install='mythtv.install' -source=() -arch=('i686') -md5sums=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/myththemes -_svnmod=myththemes - -build() { -echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod -#svn co http://cvs.mythtv.org/svn/trunk/mythtv -#svn co http://cvs.mythtv.org/svn/trunk/mythplugins -#svn co http://cvs.mythtv.org/svn/trunk/myththemes -cd $startdir/src/myththemes - make distclean - ./configure - #./configure --disable-all --enable-mythweather --enable-fftw --disable-aac - make || return 1 - make INSTALL_ROOT=$startdir/pkg install -# cd $startdir/src/$pkgname -# cd mythmovietime -# make || return 1 -# make INSTALL_ROOT=$startdir/pkg install - -} diff --git a/abs/core-testing/mythtv/trunk/mythtv/DeviceReadBuffer-polltimeout.2.patch b/abs/core-testing/mythtv/trunk/mythtv/DeviceReadBuffer-polltimeout.2.patch new file mode 100644 index 0000000..5bb713f --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/DeviceReadBuffer-polltimeout.2.patch @@ -0,0 +1,219 @@ +Index: libs/libmythtv/DeviceReadBuffer.h +=================================================================== +--- libs/libmythtv/DeviceReadBuffer.h (revision 18515) ++++ libs/libmythtv/DeviceReadBuffer.h (working copy) +@@ -59,7 +59,7 @@ + void IncrReadPointer(uint len); + + bool HandlePausing(void); +- bool Poll(void) const; ++ bool Poll(void); + uint WaitForUnused(uint bytes_needed) const; + uint WaitForUsed (uint bytes_needed) const; + +Index: libs/libmythtv/DeviceReadBuffer.cpp +=================================================================== +--- libs/libmythtv/DeviceReadBuffer.cpp (revision 18515) ++++ libs/libmythtv/DeviceReadBuffer.cpp (working copy) +@@ -90,9 +90,14 @@ + + void DeviceReadBuffer::Start(void) + { +- lock.lock(); +- bool was_running = running; +- lock.unlock(); ++ bool was_running; ++ ++ { ++ QMutexLocker locker(&lock); ++ was_running = running; ++ error = false; ++ } ++ + if (was_running) + { + VERBOSE(VB_IMPORTANT, LOC_ERR + "Start(): Already running."); +@@ -104,6 +109,8 @@ + { + VERBOSE(VB_IMPORTANT, + LOC_ERR + QString("Start(): pthread_create failed.") + ENO); ++ ++ QMutexLocker locker(&lock); + error = true; + } + } +@@ -118,21 +125,25 @@ + used = 0; + readPtr = buffer; + writePtr = buffer; ++ ++ error = false; + } + + void DeviceReadBuffer::Stop(void) + { + bool was_running = IsRunning(); +- lock.lock(); +- run = false; +- lock.unlock(); + + if (!was_running) + { +- VERBOSE(VB_IMPORTANT, LOC_ERR + "Stop(): Not running."); ++ VERBOSE(VB_IMPORTANT, LOC + "Stop(): Not running."); + return; + } + ++ { ++ QMutexLocker locker(&lock); ++ run = false; ++ } ++ + pthread_join(thread, NULL); + } + +@@ -229,10 +240,11 @@ + { + uint errcnt = 0; + +- lock.lock(); +- run = true; +- running = true; +- lock.unlock(); ++ { ++ QMutexLocker locker(&lock); ++ run = true; ++ running = true; ++ } + + while (run) + { +@@ -248,6 +260,15 @@ + if (using_poll && !Poll()) + continue; + ++ { ++ QMutexLocker locker(&lock); ++ if (error) ++ { ++ VERBOSE(VB_RECORD, LOC + "fill_ringbuffer: error state"); ++ break; ++ } ++ } ++ + // Limit read size for faster return from read + size_t read_size = + min(dev_read_size, (size_t) WaitForUnused(TSPacket::SIZE)); +@@ -268,9 +289,10 @@ + } + } + +- lock.lock(); +- running = false; +- lock.unlock(); ++ { ++ QMutexLocker locker(&lock); ++ running = false; ++ } + } + + bool DeviceReadBuffer::HandlePausing(void) +@@ -293,7 +315,7 @@ + return true; + } + +-bool DeviceReadBuffer::Poll(void) const ++bool DeviceReadBuffer::Poll(void) + { + #ifdef USING_MINGW + #warning mingw DeviceReadBuffer::Poll +@@ -302,31 +324,53 @@ + return false; + #else + bool retval = true; +- while (true) ++ uint timeout_cnt = 0; ++ ++ for (;;) + { + struct pollfd polls; + polls.fd = _stream_fd; + polls.events = POLLIN; + polls.revents = 0; + +- int ret = poll(&polls, 1 /*number of polls*/, 10 /*msec*/); +- if (IsPauseRequested() || !IsOpen() || !run) ++ int ret = poll(&polls, 1 /*number of polls*/, 250 /*msec*/); ++ ++ if (polls.revents & (POLLERR | POLLHUP | POLLNVAL)) + { ++ VERBOSE(VB_IMPORTANT, LOC + "poll error"); ++ error = true; ++ return true; ++ } ++ ++ if (!run || !IsOpen() || IsPauseRequested()) ++ { + retval = false; + break; // are we supposed to pause, stop, etc. + } + + if (ret > 0) + break; // we have data to read :) +- if ((-1 == ret) && (EOVERFLOW == errno)) +- break; // we have an error to handle +- +- if ((-1 == ret) && ((EAGAIN == errno) || (EINTR == errno))) +- continue; // errors that tell you to try again +- if (ret == 0) +- continue; // timed out, try again +- +- usleep(2500); ++ if (ret < 0) ++ { ++ if ((EOVERFLOW == errno)) ++ break; // we have an error to handle ++ if ((EAGAIN == errno) || (EINTR == errno)) ++ continue; // errors that tell you to try again ++ usleep(2500); ++ } ++ else // ret == 0 ++ { ++ if (++timeout_cnt > 9) ++ { ++ VERBOSE(VB_RECORD, LOC_ERR + "Poll giving up"); ++ QMutexLocker locker(&lock); ++ error = true; ++ return true; ++ } ++ if (timeout_cnt % 2) ++ VERBOSE(VB_RECORD, LOC_ERR + QString("Poll timeout (%1)") ++ .arg(timeout_cnt)); ++ } + } + return retval; + #endif //!USING_MINGW +@@ -360,9 +404,9 @@ + + if (++errcnt > 5) + { +- lock.lock(); ++ QMutexLocker locker(&lock); ++ VERBOSE(VB_RECORD, LOC + "Too many errors."); + error = true; +- lock.unlock(); + return false; + } + +@@ -376,10 +420,8 @@ + VERBOSE(VB_IMPORTANT, LOC + + QString("End-Of-File? fd(%1)").arg(_stream_fd)); + +- lock.lock(); ++ QMutexLocker locker(&lock); + eof = true; +- lock.unlock(); +- + return false; + } + usleep(500); diff --git a/abs/core-testing/mythtv/trunk/mythtv/PKGBUILD b/abs/core-testing/mythtv/trunk/mythtv/PKGBUILD new file mode 100755 index 0000000..d5560bd --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/PKGBUILD @@ -0,0 +1,76 @@ +pkgname=mythtv-svn +pkgver=19295 +pkgrel=1 +pkgdesc="A personal video recorder for Linux" +url="http://www.mythtv.org" +license="GPL" +depends=('lame' 'libmysqlclient' 'alsa-lib' 'wget' 'qt' 'x-server' 'freetype2' 'libmpeg2' 'libxml2' 'libraw1394' 'lirc' 'perl-date-manip' 'libavc1394' 'libdc1394' 'libiec61883') +makedepends=('subversion') +conflicts=(mythtv) +replaces=() +backup=() +options=(!strip) +MAKEFLAGS="-j6" +install='mythtv.install' + +patchs=('svn_main_menu_popup.patch' 'smolt_jump.patch' 'DeviceReadBuffer-polltimeout.2.patch' 'mpegrecorder-hdpvr-v2a.patch' 'hdpvr-livetv.patch') +source=('mythbackend' 'myth.sh' `echo ${patchs[@]:0}` ) +arch=('i686') +md5sums=() + +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythtv +_svnmod=mythtv + +build() { + +# svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk $_svnmod + cd $startdir/src/mythtv + + echo "--------------------------applying patches----------------------------------------------------" + for i in `echo ${patchs[@]:0} ` + do + echo applying $i + echo "-----------------------------" + patch -Np0 -i ${startdir}/src/$i #|| return 1 + done + echo "--------------------------done applying patches-----------------------------------------------" + + sed -i -e "s/\`(svnversion \$\${SVNTREEDIR} 2>\/dev\/null) || echo Unknown\`/$pkgver/" version.pro + make distclean + + # configure + ./configure --prefix=/usr --cpu=${ARCH} \ + --enable-vdpau --enable-xvmc --enable-xvmc-pro \ + --enable-opengl-vsync --enable-libfaad --enable-dvb --enable-firewire \ + --compile-type=release --with-bindings=perl,python \ + --enable-audio-alsa --disable-audio-jack --disable-audio-arts || return 1 + + # build and install + . /etc/profile + make || return 1 + make INSTALL_ROOT=$startdir/pkg install || return 1 + + # install db schema, scripts and docs + install -m0644 database/mc.sql $startdir/pkg/usr/share/mythtv/ || return 1 + install -D -m0755 ../mythbackend $startdir/pkg/etc/rc.d/mythbackend || return 1 + cp -r docs $startdir/pkg/usr/share/mythtv/ || return 1 + # cp ../QUICKSTART.archlinux $startdir/pkg/usr/share/mythtv/ || return 1 + + # install contrib + mkdir -p $startdir/pkg/usr/share/mythtv/contrib || return 1 + install -m0755 contrib/* $startdir/pkg/usr/share/mythtv/contrib + + # patch the xml LinHES style + cp -r $startdir/menu-xml/*.xml $startdir/pkg/usr/share/mythtv + cd $startdir/pkg/usr/share/mythtv + patch -p0 < $startdir/menu-xml/mainmenu.xml.patch + patch -p0 < $startdir/menu-xml/optical_menu.xml.patch + patch -p0 < $startdir/menu-xml/library.xml.patch + patch -p0 < $startdir/menu-xml/util_menu.xml.patch + + # make log dir + mkdir -p $startdir/pkg/var/log/mythtv + chown 1000.1000 $startdir/pkg/var/log/mythtv + +} diff --git a/abs/core-testing/mythtv/trunk/mythtv/aacdecoder.cpp.patch b/abs/core-testing/mythtv/trunk/mythtv/aacdecoder.cpp.patch new file mode 100644 index 0000000..8796eb4 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/aacdecoder.cpp.patch @@ -0,0 +1,12 @@ +--- mythmusic/mythmusic/aacdecoder.cpp.orig 2008-11-19 12:51:48.000000000 -0500 ++++ mythmusic/mythmusic/aacdecoder.cpp 2008-11-19 12:52:42.000000000 -0500 +@@ -17,6 +17,9 @@ + #define FAAD_MODIFIED + #endif + ++// LinHES need this undefined ++#undef FAAD_MODIFIED ++ + // ANSI C headers + #include + diff --git a/abs/core-testing/mythtv/trunk/mythtv/compile_mythtv.sh b/abs/core-testing/mythtv/trunk/mythtv/compile_mythtv.sh new file mode 100755 index 0000000..ca457e3 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/compile_mythtv.sh @@ -0,0 +1,99 @@ +#!/bin/bash +# compile_mythtv.sh +# rev 0.5 - 1Nov2008 +# +# This script will compile and install MythTV +# + +PKG_MAINTAINER=nharris@eoimaging.com +echo PKG_MAINTAINER is set to $PKG_MAINTAINER + +PKG_VER=0.22-svn`date +%Y%m%d` +echo PKG_VER is set to $PKG_VER + +cd src/mythtv-trunk + +# +# compile mythtv +# +echo Compiling mythtv +cd mythtv +export QTDIR=/usr/share/qt +./configure --enable-opengl-vsync --cpu=i686 --enable-vdpau --enable-opengl-vsync --enable-libfaad --prefix=/usr +#./configure --cpu=i686 --enable-dvb --enable-xvmc --enable-opengl-vsync --enable-xvmc-pro --enable-libfaad --prefix=/usr +qmake mythtv.pro +make || return 1 + +# +# install mythtv +# +#echo "MythTV 0.22 SVN build" > description-pak +#checkinstall -D --default --pkgname mythtv --pkgversion $PKG_VER --maintainer $PKG_MAINTAINER +#mv myth*.deb ../.. +sudo make install +cd .. + +# +# compile mythplugins +# +echo Compiling mythplugings +cd mythplugins +./configure --enable-all --cpu=i686 --prefix=/usr +qmake mythplugins.pro +make || return 1 + +# +# install mythplugins +# +#echo "MythTV 0.22 SVN build" > description-pak +#checkinstall -D --default --pkgname mythplugins --pkgversion $PKG_VER --maintainer $PKG_MAINTAINER +#mv myth*.deb ../.. +sudo make install +cd .. + +# +# compile myththemes +# +echo Compiling myththemes +cd myththemes +./configure --prefix=/usr +qmake myththemes.pro +make || return 1 + +# +# install myththemes +# +#echo "MythTV 0.22 SVN build" > description-pak +#checkinstall -D --default --pkgname myththemes --pkgversion $PKG_VER --maintainer $PKG_MAINTAINER +#mv myth*.deb ../.. +sudo make install +cd .. + +# +# compile additional themes +# +echo Compiling additional themes +cd themes +./configure --prefix=/usr +qmake themes.pro +make || return 1 + +# +# install additional themes +# +#echo "MythTV 0.22 SVN build" > description-pak +#checkinstall -D --default --pkgname mythtv-themes --pkgversion $PKG_VER --maintainer $PKG_MAINTAINER +#mv myth*.deb ../.. +sudo make install +cd .. + +# +# update mythweb +# +cd mythplugins/mythweb +sudo cp -R * /data/srv/httpd/htdocs/mythweb +sudo chown -R http:users /data/srv/httpd/htdocs/mythweb +cd ../.. + +echo "DONE!" + diff --git a/abs/core-testing/mythtv/trunk/mythtv/get_mythtv.sh b/abs/core-testing/mythtv/trunk/mythtv/get_mythtv.sh new file mode 100755 index 0000000..c01ccf1 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/get_mythtv.sh @@ -0,0 +1,77 @@ +#!/bin/bash +# get_mythtv.sh +# rev 0.5 - 1Nov2008 +BUILD_DIR=/home/nharris/mythtv + +cd $BUILD_DIR + +# +# get the latest from SVN +# +if [ -d src ] +then + cd src +else + mkdir src + cd src +fi + +if [ -d mythtv-trunk ] +then + echo Updating mythtv from svn. + cd mythtv-trunk + cd mythtv + svn update + make clean + cd ../mythplugins + svn update + make clean + cd ../myththemes + svn update + make clean + cd ../themes + svn update + make clean + cd .. +else + echo Creating mythtv from svn. + mkdir mythtv-trunk + cd mythtv-trunk + svn co http://svn.mythtv.org/svn/trunk/mythtv + svn co http://svn.mythtv.org/svn/trunk/mythplugins + svn co http://svn.mythtv.org/svn/trunk/myththemes + svn co http://svn.mythtv.org/svn/trunk/themes +fi + +# +# install patches +# +MYTH_PATCHES=$BUILD_DIR/patches +cd $BUILD_DIR/src/mythtv-trunk/mythtv + +# HD-PVR support +patch -p0 < $MYTH_PATCHES/DeviceReadBuffer-polltimeout.2.patch +patch -p0 < $MYTH_PATCHES/mpegrecorder-hdpvr-v2a.patch +patch -p0 < $MYTH_PATCHES/hdpvr-livetv.patch + +# LinHES popup menu +patch -p0 < $MYTH_PATCHES/svn_main_menu_popup.patch + +# Arch build fix +cd $BUILD_DIR/src/mythtv-trunk/mythplugins +patch -p0 < $MYTH_PATCHES/aacdecoder.cpp.patch + +# Patch the xml LinHES style +MENU_DIR=$BUILD_DIR/menu-xml +MYTH_DIR=$BUILD_DIR/src/mythtv-trunk/mythtv/programs/mythfrontend +cp $MENU_DIR/*.xml $MYTH_DIR +cd $MYTH_DIR +patch -p0 < $MENU_DIR/mainmenu.xml.patch +patch -p0 < $MENU_DIR/optical_menu.xml.patch +patch -p0 < $MENU_DIR/library.xml.patch + +# +# END +# +cd $BUILD_DIR +echo "DONE!" diff --git a/abs/core-testing/mythtv/trunk/mythtv/hdpvr-livetv.patch b/abs/core-testing/mythtv/trunk/mythtv/hdpvr-livetv.patch new file mode 100644 index 0000000..6297ae1 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/hdpvr-livetv.patch @@ -0,0 +1,109 @@ +Index: libs/libmythtv/mpegrecorder.cpp +=================================================================== +--- libs/libmythtv/mpegrecorder.cpp.orig ++++ libs/libmythtv/mpegrecorder.cpp +@@ -1109,6 +1109,14 @@ void MpegRecorder::StartRecording(void) + + if (driver == "hdpvr") + { ++ if (curRecording->recgroup == "LiveTV") ++ { ++ // Don't bother checking resolution, always use best bitrate ++ int maxbitrate = std::max(high_mpeg4peakbitrate, ++ high_mpeg4avgbitrate); ++ SetBitrate(high_mpeg4avgbitrate, maxbitrate, "LiveTV"); ++ } ++ + int progNum = 1; + MPEGStreamData *sd = new MPEGStreamData(progNum, true); + sd->SetRecordingType(_recording_type); +@@ -1553,7 +1561,7 @@ bool MpegRecorder::StartEncoding(int fd) + memset(&command, 0, sizeof(struct v4l2_encoder_cmd)); + command.cmd = V4L2_ENC_CMD_START; + +- if (driver == "hdpvr") ++ if (driver == "hdpvr" && curRecording->recgroup != "LiveTV") + HandleResolutionChanges(); + + VERBOSE(VB_RECORD, LOC + "StartEncoding"); +@@ -1755,6 +1763,35 @@ bool MpegRecorder::WaitFor_HDPVR(void) + return false; + } + ++void MpegRecorder::SetBitrate(int bitrate, int maxbitrate, ++ const QString & reason) ++{ ++ if (maxbitrate == bitrate) ++ { ++ VERBOSE(VB_RECORD, LOC + QString("%1 bitrate %2 kbps CBR") ++ .arg(reason).arg(bitrate)); ++ } ++ else ++ { ++ VERBOSE(VB_RECORD, LOC + QString("%1 bitrate %2/%3 kbps VBR") ++ .arg(reason).arg(bitrate).arg(maxbitrate)); ++ } ++ ++ vector ext_ctrls; ++ add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_VIDEO_BITRATE_MODE, ++ (maxbitrate == bitrate) ? ++ V4L2_MPEG_VIDEO_BITRATE_MODE_CBR : ++ V4L2_MPEG_VIDEO_BITRATE_MODE_VBR); ++ ++ add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_VIDEO_BITRATE, ++ bitrate * 1000); ++ ++ add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_VIDEO_BITRATE_PEAK, ++ maxbitrate * 1000); ++ ++ set_ctrls(readfd, ext_ctrls); ++} ++ + void MpegRecorder::HandleResolutionChanges(void) + { + VERBOSE(VB_RECORD, LOC + "Checking Resolution"); +@@ -1819,30 +1856,7 @@ void MpegRecorder::HandleResolutionChang + .arg(old_avg).arg(old_max)); + } + +- if (maxbitrate == bitrate) +- { +- VERBOSE(VB_RECORD, LOC + QString("New bitrate %1 kbps CBR") +- .arg(bitrate)); +- } +- else +- { +- VERBOSE(VB_RECORD, LOC + QString("New bitrate %1/%2 kbps VBR") +- .arg(bitrate).arg(maxbitrate)); +- } +- +- vector ext_ctrls; +- add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_VIDEO_BITRATE_MODE, +- (maxbitrate == bitrate) ? +- V4L2_MPEG_VIDEO_BITRATE_MODE_CBR : +- V4L2_MPEG_VIDEO_BITRATE_MODE_VBR); +- +- add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_VIDEO_BITRATE, +- bitrate * 1000); +- +- add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_VIDEO_BITRATE_PEAK, +- maxbitrate * 1000); +- +- set_ctrls(readfd, ext_ctrls); +- ++ SetBitrate(bitrate, maxbitrate, "New"); + } + } ++ +Index: libs/libmythtv/mpegrecorder.h +=================================================================== +--- libs/libmythtv/mpegrecorder.h.orig ++++ libs/libmythtv/mpegrecorder.h +@@ -87,6 +87,7 @@ class MpegRecorder : public DTVRecorder, + void ResetForNewFile(void); + + bool WaitFor_HDPVR(void); ++ void SetBitrate(int bitrate, int maxbitrate, const QString & reason); + void HandleResolutionChanges(void); + + inline bool CheckCC(uint pid, uint cc); diff --git a/abs/core-testing/mythtv/trunk/mythtv/menu-xml/HOST_SETTINGS.xml b/abs/core-testing/mythtv/trunk/mythtv/menu-xml/HOST_SETTINGS.xml new file mode 100755 index 0000000..f257920 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/menu-xml/HOST_SETTINGS.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/abs/core-testing/mythtv/trunk/mythtv/menu-xml/is.xml b/abs/core-testing/mythtv/trunk/mythtv/menu-xml/is.xml new file mode 100755 index 0000000..88b7e6b --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/menu-xml/is.xml @@ -0,0 +1,3 @@ + + + diff --git a/abs/core-testing/mythtv/trunk/mythtv/menu-xml/library.xml.patch b/abs/core-testing/mythtv/trunk/mythtv/menu-xml/library.xml.patch new file mode 100755 index 0000000..02df082 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/menu-xml/library.xml.patch @@ -0,0 +1,13 @@ +--- library.xml.orig 2008-08-31 03:27:59.000000000 +0000 ++++ library.xml 2009-01-26 15:04:16.000000000 +0000 +@@ -121,8 +121,8 @@ + STREAM + Play online streams + נגן מדיה מכוונת +- PLUGIN mythstream +- mythstream ++ Online Streams ++ MENU is.xml + + + + + + + + + + + + diff --git a/abs/core-testing/mythtv/trunk/mythtv/menu-xml/mainmenu.xml.patch b/abs/core-testing/mythtv/trunk/mythtv/menu-xml/mainmenu.xml.patch new file mode 100755 index 0000000..a299325 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/menu-xml/mainmenu.xml.patch @@ -0,0 +1,39 @@ +--- mainmenu.xml.orig 2009-01-09 02:45:07.000000000 +0000 ++++ mainmenu.xml 2009-01-22 08:04:28.000000000 +0000 +@@ -158,34 +158,8 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/abs/core-testing/mythtv/trunk/mythtv/mpegrecorder-hdpvr-v2a.patch b/abs/core-testing/mythtv/trunk/mythtv/mpegrecorder-hdpvr-v2a.patch new file mode 100644 index 0000000..dbef933 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/mpegrecorder-hdpvr-v2a.patch @@ -0,0 +1,668 @@ +Index: libs/libmythtv/DeviceReadBuffer.cpp +=================================================================== +--- libs/libmythtv/DeviceReadBuffer.cpp.orig ++++ libs/libmythtv/DeviceReadBuffer.cpp +@@ -169,7 +169,17 @@ bool DeviceReadBuffer::IsPaused(void) co + return paused; + } + +-bool DeviceReadBuffer::WaitForUnpause(int timeout) ++bool DeviceReadBuffer::WaitForPaused(unsigned long timeout) ++{ ++ QMutexLocker locker(&lock); ++ ++ if (!paused) ++ pauseWait.wait(&lock, timeout); ++ ++ return paused; ++} ++ ++bool DeviceReadBuffer::WaitForUnpause(unsigned long timeout) + { + QMutexLocker locker(&lock); + +Index: libs/libmythtv/DeviceReadBuffer.h +=================================================================== +--- libs/libmythtv/DeviceReadBuffer.h.orig ++++ libs/libmythtv/DeviceReadBuffer.h +@@ -42,7 +42,8 @@ class DeviceReadBuffer + + void SetRequestPause(bool request); + bool IsPaused(void) const; +- bool WaitForUnpause(int timeout); ++ bool WaitForUnpause(unsigned long timeout); ++ bool WaitForPaused(unsigned long timeout); + + bool IsErrored(void) const { return error; } + bool IsEOF(void) const { return eof; } +Index: libs/libmythtv/mpegrecorder.cpp +=================================================================== +--- libs/libmythtv/mpegrecorder.cpp.orig ++++ libs/libmythtv/mpegrecorder.cpp +@@ -19,6 +19,7 @@ using namespace std; + #include + #include + #include ++#include + + // avlib headers + extern "C" { +@@ -86,7 +87,7 @@ MpegRecorder::MpegRecorder(TVRec *rec) : + requires_special_pause(false), + // State + recording(false), encoding(false), +- needs_resolution(false), start_stop_encoding_lock(QMutex::Recursive), ++ start_stop_encoding_lock(QMutex::Recursive), + recording_wait_lock(), recording_wait(), + // Pausing state + cleartimeonpause(false), +@@ -493,12 +494,20 @@ bool MpegRecorder::OpenV4L2DeviceAsInput + + bool MpegRecorder::SetFormat(int chanfd) + { ++ uint idx; + struct v4l2_format vfmt; + bzero(&vfmt, sizeof(vfmt)); + + vfmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + +- if (ioctl(chanfd, VIDIOC_G_FMT, &vfmt) < 0) ++ for (idx = 0; idx < 20; ++idx) ++ { ++ if (ioctl(chanfd, VIDIOC_G_FMT, &vfmt) == 0) ++ break; ++ usleep(100 * 1000); ++ } ++ ++ if (idx == 10) + { + VERBOSE(VB_IMPORTANT, LOC_ERR + "Error getting format" + ENO); + return false; +@@ -507,7 +516,14 @@ bool MpegRecorder::SetFormat(int chanfd) + vfmt.fmt.pix.width = width; + vfmt.fmt.pix.height = height; + +- if (ioctl(chanfd, VIDIOC_S_FMT, &vfmt) < 0) ++ for (idx = 0; idx < 20; ++idx) ++ { ++ if (ioctl(chanfd, VIDIOC_S_FMT, &vfmt) == 0) ++ break; ++ usleep(100 * 1000); ++ } ++ ++ if (idx == 20) + { + VERBOSE(VB_IMPORTANT, LOC_ERR + "Error setting format" + ENO); + return false; +@@ -519,9 +535,18 @@ bool MpegRecorder::SetFormat(int chanfd) + /// Set audio language mode + bool MpegRecorder::SetLanguageMode(int chanfd) + { ++ uint idx; + struct v4l2_tuner vt; + bzero(&vt, sizeof(struct v4l2_tuner)); +- if (ioctl(chanfd, VIDIOC_G_TUNER, &vt) < 0) ++ ++ for (idx = 0; idx < 20; ++idx) ++ { ++ if (ioctl(chanfd, VIDIOC_G_TUNER, &vt) == 0) ++ break; ++ usleep(100 * 1000); ++ } ++ ++ if (idx == 20) + { + VERBOSE(VB_IMPORTANT, LOC_WARN + "Unable to get audio mode" + ENO); + return false; +@@ -555,7 +580,14 @@ bool MpegRecorder::SetLanguageMode(int c + success = false; + } + +- if (ioctl(chanfd, VIDIOC_S_TUNER, &vt) < 0) ++ for (idx = 0; idx < 20; ++idx) ++ { ++ if (ioctl(chanfd, VIDIOC_S_TUNER, &vt) == 0) ++ break; ++ usleep(100 * 1000); ++ } ++ ++ if (idx == 20) + { + VERBOSE(VB_IMPORTANT, LOC_WARN + "Unable to set audio mode" + ENO); + success = false; +@@ -567,9 +599,18 @@ bool MpegRecorder::SetLanguageMode(int c + bool MpegRecorder::SetRecordingVolume(int chanfd) + { + // Get volume min/max values ++ uint idx; + struct v4l2_queryctrl qctrl; + qctrl.id = V4L2_CID_AUDIO_VOLUME; +- if (ioctl(chanfd, VIDIOC_QUERYCTRL, &qctrl) < 0) ++ ++ for (idx = 0; idx < 20; ++idx) ++ { ++ if (ioctl(chanfd, VIDIOC_QUERYCTRL, &qctrl) == 0) ++ break; ++ usleep(100 * 1000); ++ } ++ ++ if (idx == 20) + { + VERBOSE(VB_IMPORTANT, LOC_WARN + + "Unable to get recording volume parameters(max/min)" + ENO + +@@ -588,7 +629,14 @@ bool MpegRecorder::SetRecordingVolume(in + ctrl.id = V4L2_CID_AUDIO_VOLUME; + ctrl.value = ctrl_volume; + +- if (ioctl(chanfd, VIDIOC_S_CTRL, &ctrl) < 0) ++ for (idx = 0; idx < 20; ++idx) ++ { ++ if (ioctl(chanfd, VIDIOC_S_CTRL, &ctrl) == 0) ++ break; ++ usleep(100 * 1000); ++ } ++ ++ if (idx == 20) + { + VERBOSE(VB_IMPORTANT, LOC_WARN + + "Unable to set recording volume" + ENO + "\n\t\t\t" + +@@ -771,6 +819,7 @@ static void set_ctrls(int fd, vectorStart(); ++ { ++ VERBOSE(VB_RECORD, LOC + "Initial startup of recorder"); + +- needs_resolution = (driver == "hdpvr"); ++ if (StartEncoding(readfd)) ++ _device_read_buffer->Start(); ++ else ++ { ++ VERBOSE(VB_IMPORTANT, LOC_ERR + "Failed to start recording"); ++ recording = false; ++ QMutexLocker locker(&recording_wait_lock); ++ recording_wait.wakeAll(); ++ _error = true; ++ } ++ } + + QByteArray vdevice = videodevice.toAscii(); + while (encoding && !_error) + { + if (PauseAndWait(100)) + continue; +- +- HandleResolutionChanges(); + + if (deviceIsMpegFile) + { +@@ -1096,35 +1202,7 @@ void MpegRecorder::StartRecording(void) + { + VERBOSE(VB_IMPORTANT, LOC_ERR + "Device error detected"); + +- _device_read_buffer->Stop(); +- +- QMutexLocker locker(&start_stop_encoding_lock); +- +- StopEncoding(readfd); +- +- // Make sure the next things in the file are a PAT & PMT +- if (_stream_data->PATSingleProgram() && +- _stream_data->PMTSingleProgram()) +- { +- bool tmp = _wait_for_keyframe_option; +- _wait_for_keyframe_option = false; +- HandleSingleProgramPAT(_stream_data->PATSingleProgram()); +- HandleSingleProgramPMT(_stream_data->PMTSingleProgram()); +- _wait_for_keyframe_option = tmp; +- } +- +- if (StartEncoding(readfd)) +- { +- _device_read_buffer->Start(); +- } +- else +- { +- if (0 != close(readfd)) +- VERBOSE(VB_IMPORTANT, LOC_ERR + "Close error" + ENO); +- +- // Force card to be reopened on next iteration.. +- readfd = -1; +- } ++ RestartEncoding(); + } + else if (_device_read_buffer->IsEOF()) + { +@@ -1222,6 +1300,8 @@ void MpegRecorder::StartRecording(void) + } + } + ++ VERBOSE(VB_RECORD, LOC + "StartRecording finishing up"); ++ + if (_device_read_buffer) + { + if (_device_read_buffer->IsRunning()) +@@ -1230,6 +1310,7 @@ void MpegRecorder::StartRecording(void) + delete _device_read_buffer; + _device_read_buffer = NULL; + } ++ + StopEncoding(readfd); + + FinishRecording(); +@@ -1379,19 +1460,14 @@ bool MpegRecorder::PauseAndWait(int time + + if (!paused) + { ++ VERBOSE(VB_RECORD, LOC + "PauseAndWait pause"); ++ + if (_device_read_buffer) + { + QMutex drb_lock; + drb_lock.lock(); +- + _device_read_buffer->SetRequestPause(true); +- +- pauseWait.wait(&drb_lock, timeout); +- } +- else +- { +- paused = true; +- pauseWait.wakeAll(); ++ _device_read_buffer->WaitForPaused(4000); + } + + // Some drivers require streaming to be disabled before +@@ -1399,32 +1475,76 @@ bool MpegRecorder::PauseAndWait(int time + if (requires_special_pause) + StopEncoding(readfd); + ++ paused = true; ++ pauseWait.wakeAll(); ++ + if (tvrec) + tvrec->RecorderPaused(); + } + + unpauseWait.wait(&waitlock, timeout); + } +- if (!request_pause) ++ ++ if (!request_pause && paused) + { +- if (paused) ++ VERBOSE(VB_RECORD, LOC + "PauseAndWait unpause"); ++ ++ if (driver == "hdpvr") + { +- // Some drivers require streaming to be disabled before +- // an input switch and other channel format setting. +- if (requires_special_pause) +- StartEncoding(readfd); ++ m_h264_parser.Reset(); ++ _wait_for_keyframe_option = true; ++ _seen_sps = false; ++ } + +- if (_device_read_buffer) +- _device_read_buffer->SetRequestPause(false); ++ // Some drivers require streaming to be disabled before ++ // an input switch and other channel format setting. ++ if (requires_special_pause) ++ StartEncoding(readfd); ++ ++ if (_device_read_buffer) ++ _device_read_buffer->SetRequestPause(false); ++ ++ if (_stream_data) ++ _stream_data->Reset(_stream_data->DesiredProgram()); + +- if (_stream_data) +- _stream_data->Reset(_stream_data->DesiredProgram()); +- } + paused = false; + } ++ + return paused; + } + ++void MpegRecorder::RestartEncoding(void) ++{ ++ VERBOSE(VB_RECORD, LOC + "RestartEncoding"); ++ ++ _device_read_buffer->Stop(); ++ ++ QMutexLocker locker(&start_stop_encoding_lock); ++ ++ StopEncoding(readfd); ++ ++ // Make sure the next things in the file are a PAT & PMT ++ if (_stream_data->PATSingleProgram() && ++ _stream_data->PMTSingleProgram()) ++ { ++ _wait_for_keyframe_option = false; ++ HandleSingleProgramPAT(_stream_data->PATSingleProgram()); ++ HandleSingleProgramPMT(_stream_data->PMTSingleProgram()); ++ } ++ ++ if (StartEncoding(readfd)) ++ { ++ _device_read_buffer->Start(); ++ } ++ else ++ { ++ if (0 != close(readfd)) ++ VERBOSE(VB_IMPORTANT, LOC_ERR + "Close error" + ENO); ++ ++ readfd = -1; ++ } ++} ++ + bool MpegRecorder::StartEncoding(int fd) + { + QMutexLocker locker(&start_stop_encoding_lock); +@@ -1433,13 +1553,22 @@ bool MpegRecorder::StartEncoding(int fd) + memset(&command, 0, sizeof(struct v4l2_encoder_cmd)); + command.cmd = V4L2_ENC_CMD_START; + ++ if (driver == "hdpvr") ++ HandleResolutionChanges(); ++ + VERBOSE(VB_RECORD, LOC + "StartEncoding"); +- needs_resolution = (driver == "hdpvr"); + +- for (int idx = 0; idx < 10; ++idx) ++ for (int idx = 0; idx < 20; ++idx) + { + if (ioctl(fd, VIDIOC_ENCODER_CMD, &command) == 0) + { ++ if (driver == "hdpvr") ++ { ++ m_h264_parser.Reset(); ++ _wait_for_keyframe_option = true; ++ _seen_sps = false; ++ } ++ + VERBOSE(VB_RECORD, LOC + "Encoding started"); + return true; + } +@@ -1450,7 +1579,7 @@ bool MpegRecorder::StartEncoding(int fd) + return false; + } + +- usleep(250 * 1000); ++ usleep(100 * 1000); + } + + VERBOSE(VB_IMPORTANT, LOC_ERR + "StartEncoding - giving up" + ENO); +@@ -1467,9 +1596,8 @@ bool MpegRecorder::StopEncoding(int fd) + + VERBOSE(VB_RECORD, LOC + "StopEncoding"); + +- for (int idx = 0; idx < 10; ++idx) ++ for (int idx = 0; idx < 20; ++idx) + { +- + if (ioctl(fd, VIDIOC_ENCODER_CMD, &command) == 0) + { + VERBOSE(VB_RECORD, LOC + "Encoding stopped"); +@@ -1482,7 +1610,7 @@ bool MpegRecorder::StopEncoding(int fd) + return false; + } + +- usleep(250 * 1000); ++ usleep(100 * 1000); + } + + VERBOSE(VB_IMPORTANT, LOC_ERR + "StopEncoding - giving up" + ENO); +@@ -1550,7 +1678,7 @@ void MpegRecorder::HandleSingleProgramPA + void MpegRecorder::HandleSingleProgramPMT(ProgramMapTable *pmt) + { + if (!pmt) +-{ ++ { + return; + } + +@@ -1570,27 +1698,94 @@ void MpegRecorder::HandleSingleProgramPM + DTVRecorder::BufferedWrite(*(reinterpret_cast(&buf[i]))); + } + +-void MpegRecorder::HandleResolutionChanges(void) ++bool MpegRecorder::WaitFor_HDPVR(void) + { +- if (!needs_resolution) +- return; ++ // After a resolution change, it can take the HD-PVR a few ++ // seconds before it is usable again. ++ ++ // Tell it to start encoding, then wait for it to actually feed us ++ // some data. ++ QMutexLocker locker(&start_stop_encoding_lock); ++ ++ ++ // Sleep any less than 1.5 seconds, and the HD-PVR will ++ // return the old resolution, when the resolution is changing. ++ usleep(1500 * 1000); + ++ struct v4l2_encoder_cmd command; ++ struct pollfd polls; ++ int idx; ++ ++ memset(&command, 0, sizeof(struct v4l2_encoder_cmd)); ++ command.cmd = V4L2_ENC_CMD_START; ++ ++ for (idx = 0; idx < 20; ++idx) ++ { ++ if (ioctl(readfd, VIDIOC_ENCODER_CMD, &command) == 0) ++ break; ++ usleep(100 * 1000); ++ } ++ ++ if (idx == 20) ++ return false; ++ ++ polls.fd = readfd; ++ polls.events = POLLIN; ++ polls.revents = 0; ++ ++ for (idx = 0; idx < 10; ++idx) ++ { ++ if (poll(&polls, 1, 250) > 0) ++ break; ++ } ++ ++ if (idx == 10) ++ return false; ++ ++ // HD-PVR should now be "ready" ++ command.cmd = V4L2_ENC_CMD_STOP; ++ ++ for (idx = 0; idx < 20; ++idx) ++ { ++ if (ioctl(readfd, VIDIOC_ENCODER_CMD, &command) == 0) ++ return true; ++ usleep(100 * 1000); ++ } ++ ++ return false; ++} ++ ++void MpegRecorder::HandleResolutionChanges(void) ++{ + VERBOSE(VB_RECORD, LOC + "Checking Resolution"); + struct v4l2_format vfmt; + memset(&vfmt, 0, sizeof(vfmt)); + vfmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + ++ if (driver == "hdpvr") ++ WaitFor_HDPVR(); ++ ++ uint idx; + uint pix = 0; ++ ++ for (idx = 0; idx < 20; ++idx) ++ { + if (0 == ioctl(chanfd, VIDIOC_G_FMT, &vfmt)) + { + VERBOSE(VB_RECORD, LOC + QString("Got Resolution %1x%2") + .arg(vfmt.fmt.pix.width).arg(vfmt.fmt.pix.height)); + pix = vfmt.fmt.pix.width * vfmt.fmt.pix.height; +- needs_resolution = false; ++ break; ++ } ++ // Typically takes 0.9 seconds after a resolution change ++ usleep(100 * 1000); + } + + if (!pix) ++ { ++ VERBOSE(VB_RECORD, LOC + "Giving up detecting resolution"); + return; // nothing to do, we don't have a resolution yet ++ } + + int old_max = maxbitrate, old_avg = bitrate; + if (pix <= 768*568) +@@ -1648,12 +1843,6 @@ void MpegRecorder::HandleResolutionChang + maxbitrate * 1000); + + set_ctrls(readfd, ext_ctrls); +- } + +- // Restart streaming. Shouldn't be needed? seems to be with current driver. +- QMutexLocker locker(&start_stop_encoding_lock); +- StopEncoding(readfd); +- StartEncoding(readfd); +- +- needs_resolution = false; ++ } + } +Index: libs/libmythtv/mpegrecorder.h +=================================================================== +--- libs/libmythtv/mpegrecorder.h.orig ++++ libs/libmythtv/mpegrecorder.h +@@ -80,11 +80,13 @@ class MpegRecorder : public DTVRecorder, + uint GetFilteredAudioLayer(void) const; + uint GetFilteredAudioBitRate(uint audio_layer) const; + ++ void RestartEncoding(void); + bool StartEncoding(int fd); + bool StopEncoding(int fd); + + void ResetForNewFile(void); + ++ bool WaitFor_HDPVR(void); + void HandleResolutionChanges(void); + + inline bool CheckCC(uint pid, uint cc); +@@ -104,7 +106,6 @@ class MpegRecorder : public DTVRecorder, + // State + bool recording; + bool encoding; +- bool needs_resolution; + mutable QMutex start_stop_encoding_lock; + QMutex recording_wait_lock; + QWaitCondition recording_wait; +@@ -113,7 +114,7 @@ class MpegRecorder : public DTVRecorder, + bool cleartimeonpause; + + // Encoding info +- int width, height; ++ uint width, height; + int bitrate, maxbitrate, streamtype, aspectratio; + int audtype, audsamplerate, audbitratel1, audbitratel2, audbitratel3; + int audvolume; diff --git a/abs/core-testing/mythtv/trunk/mythtv/myth.sh b/abs/core-testing/mythtv/trunk/mythtv/myth.sh new file mode 100755 index 0000000..fb7122c --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/myth.sh @@ -0,0 +1,4 @@ +export PATH=$PATH:/usr/local/bin +# set core file size to 0 +ulimit -c 0 +export MALLOC_CHECK_=0 \ No newline at end of file diff --git a/abs/core-testing/mythtv/trunk/mythtv/mythbackend b/abs/core-testing/mythtv/trunk/mythtv/mythbackend new file mode 100755 index 0000000..93773a2 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/mythbackend @@ -0,0 +1,38 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/bin/mythbackend` +case "$1" in + start) + stat_busy "Starting MythTV Backend" + [ ! -e /var/run/mysqld.pid ] && echo -n "mysqld not started" && stat_fail && exit + [ -z "$PID" ] && /usr/bin/mythbackend -d -l /var/log/mythbackend.log -v important + if [ $? -gt 0 ]; then + stat_fail + else + echo $PID > /var/run/mythbackend.pid + add_daemon mythbackend + stat_done + fi + ;; + stop) + stat_busy "Stopping MythTV Backend" + [ ! -z "$PID" ] && kill $PID &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon mythbackend + stat_done + fi + ;; + restart) + $0 stop + sleep 1s + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/abs/core-testing/mythtv/trunk/mythtv/mythbackend.sh b/abs/core-testing/mythtv/trunk/mythtv/mythbackend.sh new file mode 100755 index 0000000..e7a7b70 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/mythbackend.sh @@ -0,0 +1,117 @@ +#!/bin/bash +# +# /etc/rc.d/init.d/mythbackend +# +# Starts the mythbackend as a daemon +# +# chkconfig: 345 90 10 +# description: Starts the mythbackend process as a daemon after the XWindows \ +# system is started, in runlevel 5. This allows scheduled \ +# recordings to occur without manual intervention. +# processname: mythbackend + +# Copyright (c) by Michael Thomson +# With thanks to Stu Tomlinson +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# Default values to use if none are supplied in the config file. +# User who should start the mythbackend processes +MBE_USER="root" +# Directory holding the mythbackend binary +MBE_LOCATION="/usr/local/bin/" +# Name of mythbackend binary +MBE_PROG="mythbackend" +# Full path to mythbackend log file +MBE_LOGFILE="/var/log/mythtv/mythbackend.log" + +# Source function library. +. /etc/init.d/functions + +# Source config file if available +if [ -f "/etc/sysconfig/mythbackend" ]; then + . /etc/sysconfig/mythbackend +fi + +test -x ${MBE_LOCATION}${MBE_PROG} || exit 0 + +RETVAL=0 + +# +# See how we were called. +# + +start() { + # Check if mythbackend is already running + if [ ! -f /var/lock/subsys/${MBE_PROG} ]; then + echo -n "Starting ${MBE_PROG}: " + # /usr/local/bin/mythbackend -d -l /some/log/file + #daemon --user ${MBE_USER} ${MBE_LOCATION}${MBE_PROG} -d -l ${MBE_LOGFILE} + ${MBE_LOCATION}${MBE_PROG} -d -l ${MBE_LOGFILE} + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/${MBE_PROG} + echo + fi + return $RETVAL +} + +stop() { + echo -n "Stopping ${MBE_PROG}: " + killproc ${MBE_LOCATION}${MBE_PROG} + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/${MBE_PROG} + echo + return $RETVAL +} + + +restart() { + stop + start +} + +reload() { + restart +} + +status_at() { + status ${MBE_LOCATION}${MBE_PROG} +} + +case "$1" in +start) + start + ;; +stop) + stop + ;; +reload|restart) + restart + ;; +condrestart) + if [ -f /var/lock/subsys/${MBE_PROG} ]; then + restart + fi + ;; +status) + status_at + ;; +*) + echo "Usage: $0 {start|stop|restart|condrestart|status}" + exit 1 +esac + +exit $? +exit $RETVAL diff --git a/abs/core-testing/mythtv/trunk/mythtv/mythtv.install b/abs/core-testing/mythtv/trunk/mythtv/mythtv.install new file mode 100755 index 0000000..513852a --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/mythtv.install @@ -0,0 +1,55 @@ + +# arg 1: the new package version +pre_install () { + echo "backing up the database" + dbver=`pacman -Q mythtv-svn | awk ' { print $2 } '` + if [ ! -e /data/databases_backup ] + then + mkdir -p /data/database_backup + fi + mysqldump -u mythtv -pmythtv mythconverg -c > /data/database_backup/${dbver}.dump.sql +} + +post_install() { + mkdir -p /data/home + /usr/sbin/useradd -G users,video,audio,optical -m -d /data/home/mythtv mythtv + /usr/sbin/usermod -G users,video,audio,optical mythtv +# mkdir /var/log/mythtv +# chown -R mythtv:users /var/log/mythtv + dbver=`pacman -Q mythtv-svn | awk ' { print $2 } '` + if [ ! -e /data/database_backup ] + then + mkdir -p /data/database_backup + fi + chown mythtv:nobody /data/database_backup + chmod g+s /data/database_backup + + mysqldump -u mythtv -pmythtv mythconverg -c > /data/database_backup/${dbver}.dump.sql + + +} +pre_upgrade () { + pre_install +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install + + /bin/true +} + +# arg 1: the old package version +pre_remove() { + /bin/true +} + +# arg 1: the old package version +post_remove() { +/bint/true +} + +op=$1 +shift +$op $* diff --git a/abs/core-testing/mythtv/trunk/mythtv/smolt_jump.patch b/abs/core-testing/mythtv/trunk/mythtv/smolt_jump.patch new file mode 100644 index 0000000..0fc452a --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/smolt_jump.patch @@ -0,0 +1,30 @@ +Index: programs/mythfrontend/networkcontrol.cpp +=================================================================== +--- programs/mythfrontend/networkcontrol.cpp (revision 19291) ++++ programs/mythfrontend/networkcontrol.cpp (working copy) +@@ -83,6 +83,7 @@ + jumpMap["zoneminderliveview"] = "ZoneMinder Live View"; + jumpMap["zoneminderevents"] = "ZoneMinder Events"; + jumpMap["snapshot"] = "ScreenShot"; ++ jumpMap["mythsmolt"] = "MythSmolt"; + + // These jump point names match the (lowercased) locations from gContext + jumpMap["channelrecpriority"] = "Channel Recording Priorities"; +@@ -191,7 +192,7 @@ + pthread_create(&command_thread, NULL, CommandThread, this); + + gContext->addListener(this); +- ++ + connect(this, SIGNAL(newConnection()), this, SLOT(newConnection())); + } + +@@ -307,7 +308,7 @@ + cs = new QTextStream(s); + cs->setCodec("UTF-8"); + } +- ++ + if (client) + { + closedOldConn = true; diff --git a/abs/core-testing/mythtv/trunk/mythtv/svn_main_menu_popup.patch b/abs/core-testing/mythtv/trunk/mythtv/svn_main_menu_popup.patch new file mode 100644 index 0000000..5556683 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythtv/svn_main_menu_popup.patch @@ -0,0 +1,211 @@ +Index: libs/libmythui/myththemedmenu.h +=================================================================== +--- libs/libmythui/myththemedmenu.h (revision 19291) ++++ libs/libmythui/myththemedmenu.h (working copy) +@@ -2,6 +2,7 @@ + #define MYTHTHEMEDMENU_H_ + + #include "mythscreentype.h" ++#include "mythdialogbox.h" + #include "mythuistatetype.h" + #include "mythuibuttonlist.h" + #include "xmlparsebase.h" +@@ -77,6 +78,11 @@ + void ReloadExitKey(void); + virtual void aboutToShow(void); + ++ void doMenu(); ++ void aboutScreen(); ++ MythDialogBox *m_menuPopup; ++ void customEvent(QEvent *event); ++ + protected: + virtual bool keyPressEvent(QKeyEvent *e); + +Index: libs/libmythui/myththemedmenu.cpp +=================================================================== +--- libs/libmythui/myththemedmenu.cpp (revision 19291) ++++ libs/libmythui/myththemedmenu.cpp (working copy) +@@ -32,6 +32,7 @@ + m_callbackdata = NULL; + + m_killable = false; ++ + } + + MythThemedMenuState::~MythThemedMenuState() +@@ -95,7 +96,7 @@ + m_exitModifier = -1; + m_menumode = ""; + m_buttonList = NULL; +- ++ m_menuPopup = NULL; + if (!m_state) + { + m_state = new MythThemedMenuState(parent, "themedmenustate"); +@@ -271,6 +272,10 @@ + m_wantpop = true; + } + } ++ else if (action == "MENU") ++ { ++ doMenu(); ++ } + else + handled = false; + } +@@ -292,6 +297,154 @@ + updateLCD(); + } + ++void MythThemedMenu::doMenu() ++{ ++ ++ if (m_menuPopup) ++ return; ++ int allowsd = GetMythDB()->GetNumSetting("AllowQuitShutdown"); ++ int override_menu = GetMythDB()->GetNumSetting("OverRideExitMenu"); ++ QString label = "System Menu"; ++ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ++ m_menuPopup = new MythDialogBox(label, mainStack, "menuPopup"); ++ if (m_menuPopup->Create()) ++ mainStack->AddScreen(m_menuPopup); ++ if ( override_menu == 0 ) ++ { ++ if ( allowsd != 0 && allowsd !=4 ) ++ { ++ m_menuPopup->SetReturnEvent(this,"popmenu_exit"); ++ m_menuPopup->AddButton("Shutdown"); ++ m_menuPopup->AddButton("Reboot"); ++ } ++ else ++ { ++ m_menuPopup->SetReturnEvent(this,"popmenu_noexit"); ++ } ++ } ++ if ( override_menu == 5 ) ++ { // reboot ++ m_menuPopup->SetReturnEvent(this,"popmenu_reboot"); ++ m_menuPopup->AddButton("Reboot"); ++ } ++ else if ( override_menu == 2 || override_menu == 4 ) ++ { // shutdown ++ m_menuPopup->SetReturnEvent(this,"popmenu_shutdown"); ++ m_menuPopup->AddButton("Shutdown"); ++ } ++ else if ( override_menu == 3 || override_menu == 6 ) ++ { // both ++ m_menuPopup->SetReturnEvent(this,"popmenu_exit"); ++ m_menuPopup->AddButton("Shutdown"); ++ m_menuPopup->AddButton("Reboot"); ++ } ++ else ++ { ++ m_menuPopup->SetReturnEvent(this,"popmenu_noexit"); ++ } ++ ++ m_menuPopup->AddButton("About"); ++ m_menuPopup->AddButton("Cancel"); ++ ++} ++void MythThemedMenu::aboutScreen() ++{ ++ ++ extern const char *myth_source_version; ++ extern const char *myth_source_path; ++ QString distro_line; ++ distro_line=""; ++ ++ QFile file("/etc/os_myth_release"); ++ if ( file.open(QFile::ReadOnly)) ++ { ++ QTextStream t( &file ); // use a text stream ++ distro_line = t.readLine(); ++ file.close(); ++ } ++ ++ QString label = ""; ++ label.append(QObject::tr("Revision: ") + myth_source_version + " \n Branch:" + myth_source_path + "\n" + distro_line ); ++ ++ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); ++ m_menuPopup = new MythDialogBox(label, mainStack, "About"); ++ if (m_menuPopup->Create()) ++ mainStack->AddScreen(m_menuPopup); ++ ++ m_menuPopup->SetReturnEvent(this,"About"); ++ m_menuPopup->AddButton("OK!"); ++ ++} ++ ++void MythThemedMenu::customEvent(QEvent *event) ++{ ++ if (event->type() == kMythDialogBoxCompletionEventType) ++ { ++ DialogCompletionEvent *dce = ++ dynamic_cast(event); ++ QString resultid= dce->GetId(); ++ int buttonnum = dce->GetResult(); ++ QString halt_cmd=GetMythDB()->GetSetting("HaltCommand"); ++ QString reboot_cmd=GetMythDB()->GetSetting("RebootCommand"); ++ ++ if (resultid == "popmenu_exit") ++ { ++ if (buttonnum == 0) ++ { ++ if (!halt_cmd.isEmpty() ) ++ system(halt_cmd.toAscii()); ++ } ++ ++ if (buttonnum == 1) ++ { ++ if (!reboot_cmd.isEmpty() ) ++ system(reboot_cmd.toAscii()); ++ } ++ ++ if (buttonnum == 2) ++ { ++ aboutScreen(); ++ } ++ } ++ ++ if (resultid == "popmenu_noexit") ++ { ++ if (buttonnum == 0) ++ aboutScreen(); ++ } ++ ++ if (resultid == "popmenu_reboot") ++ { ++ if (buttonnum == 0) ++ { ++ if (!reboot_cmd.isEmpty() ) ++ system(reboot_cmd.toAscii()); ++ } ++ ++ if (buttonnum == 1) ++ { ++ aboutScreen(); ++ } ++ } ++ ++ if (resultid == "popmenu_shutdown") ++ { ++ if (buttonnum == 0) ++ { ++ if (!halt_cmd.isEmpty() ) ++ system(halt_cmd.toAscii()); ++ } ++ ++ if (buttonnum == 1) ++ { ++ aboutScreen(); ++ } ++ } ++ ++ m_menuPopup = NULL; ++ } ++} ++ + /** \brief Parses the element's tags and set the ThemeButton's type, + * text, depends, and action, then adds the button. + * diff --git a/abs/core-testing/mythtv/trunk/mythvideo/PKGBUILD b/abs/core-testing/mythtv/trunk/mythvideo/PKGBUILD new file mode 100644 index 0000000..4087034 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythvideo/PKGBUILD @@ -0,0 +1,36 @@ +pkgname=mythvideo-svn +pkgver=16153 +pkgrel=2 +pkgdesc="Video playback and browsing plugin for MythTV" +url="http://www.mythtv.org" +arch=('i686') +depends=('mythtv-svn' 'perlxml' 'perl-libwww' 'perl-uri' 'perl-xml-simple' 'ffmpeg') +license="GPL" +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') + +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + + +build() { + cd $startdir/src/ + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins + make distclean + PLUGIN=mythvideo + grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro + if [ $? != 0 ] + then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + ./configure --disable-all --enable-mythvideo --enable-transcode + + make -j 2 || return 1 + + make INSTALL_ROOT=$startdir/pkg install +} +md5sums=('2a9fbf45ae58a3a35857ce8d7c4d12db') diff --git a/abs/core-testing/mythtv/trunk/mythweather/PKGBUILD b/abs/core-testing/mythtv/trunk/mythweather/PKGBUILD new file mode 100644 index 0000000..98542b9 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythweather/PKGBUILD @@ -0,0 +1,35 @@ +pkgname=mythweather-svn +pkgver=16153 +pkgrel=6 +pkgdesc="Weather checking plugin for MythTV" +url="http://www.mythtv.org" +arch=('i686') +depends=('mythtv-svn' 'wget' 'perl-xml-sax' 'perl-soap-lite' 'perl-image-size' 'imagemagick') +conflicts=('mythtv-plugins-svn') +groups=('mythtv-all-plugins-svn') +license="GPL" +source=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + + +build() { + cd $startdir/src/ + echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + cd $startdir/src/mythplugins + make distclean + PLUGIN=mythweather + grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro + if [ $? != 0 ] + then + echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro + msg "appending program lib" + fi + ./configure --enable-opengl --disable-all --enable-mythweather + + make -j 2 || return 1 + + make INSTALL_ROOT=$startdir/pkg install +} +md5sums=('2a9fbf45ae58a3a35857ce8d7c4d12db') diff --git a/abs/core-testing/mythtv/trunk/mythweb/PKGBUILD b/abs/core-testing/mythtv/trunk/mythweb/PKGBUILD new file mode 100755 index 0000000..52eb059 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythweb/PKGBUILD @@ -0,0 +1,35 @@ +pkgname=mythweb-svn +pkgver=16153 +pkgrel=20 +pkgdesc="mythweb" +url="http://www.mythtv.org" +license="GPL" +arch=('i686') +depends=(php fcgi libmysqlclient ) +conflicts=('mythweb' 'mythweb-fixes') +replaces=() +backup=() +install='mythweb.install' +source=(mythweblighttpd.patch dblogininit.inc ) +md5sums=() +_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins +_svnmod=mythplugins + +build() { +echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod + svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod +#svn co http://cvs.mythtv.org/svn/trunk/mythtv +#svn co http://cvs.mythtv.org/svn/trunk/mythplugins +#svn co http://cvs.mythtv.org/svn/trunk/myththemes +cd $startdir/src/mythplugins + +#take care of fing mythweb +mkdir -p $startdir/pkg/data/srv/httpd/htdocs/ +cp -rp mythweb $startdir/pkg/data/srv/httpd/htdocs/ +cp -f $startdir/src/dblogininit.inc $startdir/pkg/data/srv/httpd/htdocs/mythweb/includes/ +cd $startdir/pkg/data/srv/httpd/htdocs/mythweb/includes +patch -p0 < $startdir/src/mythweblighttpd.patch + +chown -R nobody:nobody $startdir/pkg/data/srv/httpd/htdocs/mythweb +chmod -R 775 $startdir/pkg/data/srv/httpd/htdocs/mythweb +} diff --git a/abs/core-testing/mythtv/trunk/mythweb/dblogininit.inc b/abs/core-testing/mythtv/trunk/mythweb/dblogininit.inc new file mode 100755 index 0000000..c5395c5 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythweb/dblogininit.inc @@ -0,0 +1,6 @@ + diff --git a/abs/core-testing/mythtv/trunk/mythweb/mythweb.install b/abs/core-testing/mythtv/trunk/mythweb/mythweb.install new file mode 100755 index 0000000..9162d98 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythweb/mythweb.install @@ -0,0 +1,37 @@ + +# arg 1: the new package version +pre_install () { +/bin/true +} + +post_install() { + cp /etc/lighttpd/lighttpd.conf /tmp + sed -e "s/# .* \"mod_fastcgi\",/\"mod_fastcgi\"\,/g" /tmp/lighttpd.conf > /etc/lighttpd/lighttpd.conf + + +} +pre_upgrade () { + pre_install +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install + + /bin/true +} + +# arg 1: the old package version +pre_remove() { + /bin/true +} + +# arg 1: the old package version +post_remove() { +/bint/true +} + +op=$1 +shift +$op $* diff --git a/abs/core-testing/mythtv/trunk/mythweb/mythweblighttpd.patch b/abs/core-testing/mythtv/trunk/mythweb/mythweblighttpd.patch new file mode 100755 index 0000000..6403a88 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythweb/mythweblighttpd.patch @@ -0,0 +1,13 @@ +--- database.php.orig 2007-12-31 21:25:30.000000000 +0000 ++++ database.php 2007-12-31 21:25:50.000000000 +0000 +@@ -18,6 +18,10 @@ + custom_error("Please install the MySQL libraries for PHP.\n" + .'The package is usually called something like php-mysql.'); + } ++ if (empty($_SERVER['db_server']) || empty($_SERVER['db_name']) || empty($_SERVER['db_login'])) { ++ require_once 'dblogininit.inc'; ++ } ++ + + // No database connection info defined? + if (empty($_SERVER['db_server']) || empty($_SERVER['db_name']) || empty($_SERVER['db_login'])) { diff --git a/abs/core-testing/mythtv/trunk/mythweb/xris/dblogininit.inc b/abs/core-testing/mythtv/trunk/mythweb/xris/dblogininit.inc new file mode 100755 index 0000000..c5395c5 --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythweb/xris/dblogininit.inc @@ -0,0 +1,6 @@ + diff --git a/abs/core-testing/mythtv/trunk/mythweb/xris/lighttpd.conf b/abs/core-testing/mythtv/trunk/mythweb/xris/lighttpd.conf new file mode 100755 index 0000000..ff4e7dd --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythweb/xris/lighttpd.conf @@ -0,0 +1,332 @@ +# lighttpd configuration file + +############ Options you really have to take care of #################### + +## modules to load +# at least mod_access and mod_accesslog should be loaded +# all other module should only be loaded if really neccesary +# - saves some time +# - saves memory +server.modules = ( + "mod_rewrite", +# "mod_redirect", +# "mod_alias", + "mod_access", +# "mod_cml", +# "mod_trigger_b4_dl", +# "mod_auth", + "mod_status", + "mod_setenv", +#fast_cgi needs to be enabled for mythweb, as all mythweb requests are passed to php-cgi. + "mod_fastcgi", +# "mod_proxy", +# "mod_simple_vhost", +# "mod_evhost", +# "mod_userdir", + "mod_cgi", +# "mod_compress", +# "mod_ssi", +# "mod_usertrack", +# "mod_expire", +# "mod_secdownload", +# "mod_rrdtool", + "mod_accesslog" ) + +## a static document-root, for virtual-hosting take look at the +## server.virtual-* options +server.document-root = "/data/srv/httpd/htdocs" + +## where to send error-messages to +server.errorlog = "/var/log/lighttpd/error.log" + +# files to check for if .../ is requested +index-file.names = ( "index.php", "index.html", + "index.htm", "default.htm","mythweb.php") + +# mimetype mapping +mimetype.assign = ( + ".pdf" => "application/pdf", + ".sig" => "application/pgp-signature", + ".spl" => "application/futuresplash", + ".class" => "application/octet-stream", + ".ps" => "application/postscript", + ".torrent" => "application/x-bittorrent", + ".dvi" => "application/x-dvi", + ".gz" => "application/x-gzip", + ".pac" => "application/x-ns-proxy-autoconfig", + ".swf" => "application/x-shockwave-flash", + ".tar.gz" => "application/x-tgz", + ".tgz" => "application/x-tgz", + ".tar" => "application/x-tar", + ".zip" => "application/zip", + ".mp3" => "audio/mpeg", + ".m3u" => "audio/x-mpegurl", + ".wma" => "audio/x-ms-wma", + ".wax" => "audio/x-ms-wax", + ".ogg" => "application/ogg", + ".wav" => "audio/x-wav", + ".gif" => "image/gif", + ".jpg" => "image/jpeg", + ".jpeg" => "image/jpeg", + ".png" => "image/png", + ".xbm" => "image/x-xbitmap", + ".xpm" => "image/x-xpixmap", + ".xwd" => "image/x-xwindowdump", + ".css" => "text/css", + ".html" => "text/html", + ".htm" => "text/html", + ".js" => "text/javascript", + ".asc" => "text/plain", + ".c" => "text/plain", + ".cpp" => "text/plain", + ".log" => "text/plain", + ".conf" => "text/plain", + ".text" => "text/plain", + ".txt" => "text/plain", + ".dtd" => "text/xml", + ".xml" => "text/xml", + ".mpeg" => "video/mpeg", + ".mpg" => "video/mpeg", + ".mov" => "video/quicktime", + ".qt" => "video/quicktime", + ".avi" => "video/x-msvideo", + ".asf" => "video/x-ms-asf", + ".asx" => "video/x-ms-asf", + ".wmv" => "video/x-ms-wmv", + ".bz2" => "application/x-bzip", + ".tbz" => "application/x-bzip-compressed-tar", + ".tar.bz2" => "application/x-bzip-compressed-tar", + ".nuv" => "video/nuppelvideo" + ) + + +# Use the "Content-Type" extended attribute to obtain mime type if possible +mimetype.use-xattr = "enable" + + +## send a different Server: header +## be nice and keep it at lighttpd +#server.tag = "lighttpd" + +#### accesslog module +accesslog.filename = "/var/log/lighttpd/access.log" + +## deny access the file-extensions +# +# ~ is for backupfiles from vi, emacs, joe, ... +# .inc is often used for code includes which should in general not be part +# of the document-root +url.access-deny = ( "~", ".inc" ) + +$HTTP["url"] =~ "\.pdf$" { + server.range-requests = "disable" +} + +######### Options that are good to be but not neccesary to be changed ####### + +## bind to port (default: 80) +#server.port = 80 + +## bind to localhost (default: all interfaces) +#server.bind = "grisu.home.kneschke.de" + +## error-handler for status 404 +#server.error-handler-404 = "/error-handler.html" +#server.error-handler-404 = "/error-handler.php" + +## to help the rc.scripts +server.pid-file = "/var/run/lighttpd.pid" + + +###### virtual hosts +## +## If you want name-based virtual hosting add the next three settings and load +## mod_simple_vhost +## +## document-root = +## virtual-server-root + virtual-server-default-host + virtual-server-docroot +## or +## virtual-server-root + http-host + virtual-server-docroot +## +#simple-vhost.server-root = "/home/lighttpd/vhosts/" +#simple-vhost.default-host = "lighttpd.localhost" +#simple-vhost.document-root = "/pages/" +## +## Format: .html +## -> ..../status-404.html for 'File not found' +#server.errorfile-prefix = "/home/weigon/projects/lighttpd/doc/status-" + +## virtual directory listings +#server.dir-listing = "enable" + +## enable debugging +#debug.log-request-header = "enable" +#debug.log-response-header = "enable" +#debug.log-request-handling = "enable" +#debug.log-file-not-found = "enable" + +### only root can use these options +# +# chroot() to directory (default: no chroot() ) +#server.chroot = "/" + +## change uid to (default: don't care) +server.username = "nobody" + +## change uid to (default: don't care) +server.groupname = "nobody" + +#### compress module +#compress.cache-dir = "/home/lighttpd/cache/" +#compress.filetype = ("text/plain", "text/html") + +#### proxy module +## read proxy.txt for more info +#proxy.server = ( ".php" => +# ( "localhost" => +# ( +# "host" => "192.168.0.101", +# "port" => 80 +# ) +# ) +# ) + + + + +## fastcgi module +## read fastcgi.txt for more info +## adjust the value of bin-path for your system. +## If you intend to process alot of requests at the same time, increase +## the value of min-procs and max-procs + +fastcgi.server = ( ".php" => + ( "localhost" => + ( + "socket" => "/tmp/php-fastcgi.socket", + "bin-path" => "/usr/bin/php-cgi", + "min-procs" => 0, + "max-procs" => 1, + "max-load-per-proc" => 1, + "idle-timeout" => 10, + # Fix PATH_INFO for PHP scripts that rely on it (like Wordpress and mythweb). + "broken-scriptfilename" => "enable" + ) + ) +) + + +#the rewrite rule for mythweb. +#This assumes that mythweb is installed at document.root/mythweb + + url.rewrite = ( + "^/mythweb(/tv.*|/music.*|/video.*|/weather.*|/settings.*|/status.*|/backend_log.*)$" => "mythweb/mythweb.php/$1" + ) + + +#### CGI module +cgi.assign = ( ".pl" => "/usr/bin/perl") + + + +#### SSL engine +#$SERVER["socket"] == "0.0.0.0:443" { +# ssl.engine = "enable" +# ssl.pemfile = "/home/lighttpd/ssl/server.pem" +# server.errorlog = "/var/log/lighttpd/error-ssl.log" +# accesslog.filename = "/var/log/lighttpd/access-ssl.log" +# server.document-root = "/home/lighttpd/html-ssl" +#} + + + +#### status module +status.status-url = "/server-status" +status.config-url = "/server-config" + +#### auth module +## read authentication.txt for more info +#auth.backend = "plain" +#auth.backend.plain.userfile = "lighttpd.user" +#auth.backend.plain.groupfile = "lighttpd.group" + +#auth.backend.ldap.hostname = "localhost" +#auth.backend.ldap.base-dn = "dc=my-domain,dc=com" +#auth.backend.ldap.filter = "(uid=$)" +#auth.require = ( "/server-status" => +# ( +# "method" => "digest", +# "realm" => "download archiv", +# "require" => "user=jan" +# ), +# "/server-info" => +# ( +# "method" => "digest", +# "realm" => "download archiv", +# "require" => "valid-user" +# ) +# ) + +#### url handling modules (rewrite, redirect, access) +#url.rewrite = ( "^/$" => "/server-status" ) +#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" ) + +# +# define a pattern for the host url finding +# %% => % sign +# %0 => domain name + tld +# %1 => tld +# %2 => domain name without tld +# %3 => subdomain 1 name +# %4 => subdomain 2 name +# +#evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/" + +#### expire module +#expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes") + +#### ssi +#ssi.extension = ( ".shtml" ) + +#### rrdtool +#rrdtool.binary = "/usr/bin/rrdtool" +#rrdtool.db-name = "/var/www/lighttpd.rrd" + +#### setenv +#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" ) +#setenv.add-response-header = ( "X-Secret-Message" => "42" ) +## for mod_trigger_b4_dl +# trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db" +# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" ) +# trigger-before-download.trigger-url = "^/trigger/" +# trigger-before-download.download-url = "^/download/" +# trigger-before-download.deny-url = "http://127.0.0.1/index.html" +# trigger-before-download.trigger-timeout = 10 + +## for mod_cml +## don't forget to add index.cml to server.indexfiles +# cml.extension = ".cml" +# cml.memcache-hosts = ( "127.0.0.1:11211" ) + +#### variable usage: +## variable name without "." is auto prefixed by "var." and becomes "var.bar" +#bar = 1 +#var.mystring = "foo" + +## integer add +#bar += 1 +## string concat, with integer cast as string, result: "www.foo1.com" +#server.name = "www." + mystring + var.bar + ".com" +## array merge +#index-file.names = (foo + ".php") + index-file.names +#index-file.names += (foo + ".php") + +#### include +#include /etc/lighttpd/lighttpd-inc.conf +## same as above if you run: "lighttpd -f /etc/lighttpd/lighttpd.conf" +#include "lighttpd-inc.conf" + +#### include_shell +#include_shell "echo var.a=1" +## the above is same as: +#var.a=1 diff --git a/abs/core-testing/mythtv/trunk/mythweb/xris/mythweblighttpd.patch b/abs/core-testing/mythtv/trunk/mythweb/xris/mythweblighttpd.patch new file mode 100755 index 0000000..bebc93e --- /dev/null +++ b/abs/core-testing/mythtv/trunk/mythweb/xris/mythweblighttpd.patch @@ -0,0 +1,16 @@ +--- init.php.orig 2006-11-23 21:37:13.000000000 +0000 ++++ init.php 2006-11-23 21:40:04.000000000 +0000 +@@ -75,7 +75,12 @@ + custom_error("Please install the MySQL libraries for PHP.\n" + .'The package is usually called something like php-mysql.'); + } +- ++ ++ ++// No database connection info defined? ++ if (empty($_SERVER['db_server']) || empty($_SERVER['db_name']) || empty($_SERVER['db_login'])) { ++ require_once 'dblogininit.inc'; ++ } + // No database connection info defined? + if (empty($_SERVER['db_server']) || empty($_SERVER['db_name']) || empty($_SERVER['db_login'])) { + tailored_error('db_vars_error'); diff --git a/abs/core-testing/mythtv/trunk/plugins/mytharchive/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mytharchive/PKGBUILD deleted file mode 100644 index 4d3e179..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mytharchive/PKGBUILD +++ /dev/null @@ -1,41 +0,0 @@ -pkgname=mytharchive-svn -pkgver=16153 -pkgrel=3 -pkgdesc="MythTV plugin that lets you create DVDs from or archive your recorded shows." -arch=('i686') -url="http://www.mythtv.org" -license=('GPL') -depends=('mythtv-svn' 'libxmu' 'mysql-python' 'pil' 'dvdauthor') -source=() -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - - -build() { - PLUGIN=mytharchive - cd $startdir/src/ - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins - - PLUGIN=mytharchive - grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro - if [ $? != 0 ] - then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - msg "Correcting configure kde3 to kde" - sed -i 's#kde3#kde#' configure || return 1 - make distclean - ./configure --enable-opengl --disable-all --enable-create-archive --enable-create-dvd --enable-mytharchive || return 1 - qmake mythplugins.pro || return 1 - make qmake || return 1 - msg "Correcting Makefile kde3 to kde" - sed -i 's#kde3#kde#' ./mytharchive/mytharchive/Makefile || return 1 - make -j 2 || return 1 - make INSTALL_ROOT=$startdir/pkg install -} - - diff --git a/abs/core-testing/mythtv/trunk/plugins/mythbrowser/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythbrowser/PKGBUILD deleted file mode 100644 index 4c57cf0..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythbrowser/PKGBUILD +++ /dev/null @@ -1,35 +0,0 @@ - -pkgname=mythbrowser-svn -pkgver=16153 -pkgrel=2 -pkgdesc="Mini web browser for MythTV" -url="http://www.mythtv.org" -arch=('i686') -depends=('mythtv-svn' 'wget' 'libxvmc' 'kdelibs') -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -license="GPL" -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - -build() { - cd $startdir/src/ - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins - pwd - PLUGIN=mythbrowser - grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro - if [ $? != 0 ] - then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - make distclean - ./configure --enable-opengl --disable-all --enable-mythbrowser || return 1 - # sed -i 's#kde3#kde#' ./mythbrowser/mythbrowser/Makefile || return 1 - make || return 1 - - make INSTALL_ROOT=$startdir/pkg install -} diff --git a/abs/core-testing/mythtv/trunk/plugins/mythcontrols/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythcontrols/PKGBUILD deleted file mode 100644 index f4d6da6..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythcontrols/PKGBUILD +++ /dev/null @@ -1,35 +0,0 @@ -pkgname=mythcontrols-svn -pkgver=16153 -pkgrel=5 -pkgdesc="Experimental controls for MythTV" -url="http://www.mythtv.org" -arch=('i686') -depends=('mythtv'-svn) -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -license="GPL" -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - - -build() { - cd $startdir/src/ - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins -PLUGIN=mythcontrols -grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro -if [ $? != 0 ] -then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - make distclean - ./configure --disable-all --enable-opengl --enable-mythcontrols - - make -j 2 || return 1 - - make INSTALL_ROOT=$startdir/pkg install -} - diff --git a/abs/core-testing/mythtv/trunk/plugins/mythflix/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythflix/PKGBUILD deleted file mode 100644 index 9e8c92e..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythflix/PKGBUILD +++ /dev/null @@ -1,34 +0,0 @@ -pkgname=mythflix-svn -pkgver=16153 -pkgrel=2 -pkgdesc="Netflix access plugin for MythTV" -url="http://www.mythtv.org" -arch=('i686') -depends=('mythtv-svn') -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -license="GPL" -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - - -build() { - cd $startdir/src/ - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins - PLUGIN=mythflix - grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro - if [ $? != 0 ] - then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - make distclean - ./configure --disable-all --enable-opengl --enable-mythflix - - make -j 2 || return 1 - - make INSTALL_ROOT=$startdir/pkg install -} diff --git a/abs/core-testing/mythtv/trunk/plugins/mythgallery/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythgallery/PKGBUILD deleted file mode 100644 index 52fb732..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythgallery/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -pkgname=mythgallery-svn -pkgver=16153 -pkgrel=3 -pkgdesc="Image gallery plugin for MythTV" -url="http://www.mythtv.org" -arch=('i686') -depends=('mythtv-svn' 'libexif' 'libtiff') -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -license="GPL" -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - - -build() { - cd $startdir/src/ - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins - export QMAKESPEC='linux-g++' - PLUGIN=mythgallery - grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro - if [ $? != 0 ] - then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - make distclean - ./configure --disable-all --enable-opengl --enable-mythgallery --enable-exif - - make -j 2 || return 1 - - make INSTALL_ROOT=$startdir/pkg install -} - diff --git a/abs/core-testing/mythtv/trunk/plugins/mythgame/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythgame/PKGBUILD deleted file mode 100644 index 8c4257f..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythgame/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -pkgname=mythgame-svn -pkgver=16153 -pkgrel=4 -pkgdesc="Emulation plugin for MythTV" -url="http://www.mythtv.org" -arch=('i686') -depends=('mythtv-svn' 'zlib') -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -license="GPL" -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - - -build() { - cd $startdir/src/ - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins -PLUGIN=mythgame -grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro -if [ $? != 0 ] -then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - export QMAKESPEC='linux-g++' - make distclean - ./configure --disable-all --enable-opengl --enable-mythgame - - make -j 2 || return 1 - - make INSTALL_ROOT=$startdir/pkg install -} - diff --git a/abs/core-testing/mythtv/trunk/plugins/mythmovietime/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythmovietime/PKGBUILD deleted file mode 100644 index f83cdbf..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythmovietime/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -pkgname=mythmovietime-svn -pkgver=16153 -pkgrel=6 -pkgdesc="Emulation plugin for MythTV" -url="http://www.mythtv.org" -arch=('i686') -depends=('mythtv-svn' 'zlib') -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -license="GPL" -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - - -build() { - cd $startdir/src/ - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins -PLUGIN=mythmovietime -grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro -if [ $? != 0 ] -then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - export QMAKESPEC='linux-g++' - make distclean - ./configure --disable-all --enable-mythmovies - - make -j 2 || return 1 - - make INSTALL_ROOT=$startdir/pkg install -} - diff --git a/abs/core-testing/mythtv/trunk/plugins/mythmusic/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythmusic/PKGBUILD deleted file mode 100644 index 28cbe82..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythmusic/PKGBUILD +++ /dev/null @@ -1,41 +0,0 @@ - - -pkgname=mythmusic-svn -pkgver=16153 -pkgrel=9 -pkgdesc="Music playing plugin for MythTV" -url="http://www.mythtv.org" -arch=('i686' 'x86_64') -#depends=('mythtv-svn' 'libid3tag' 'libmad' 'libvorbis' 'flac>=1.1.4' 'libcdaudio' \ -# 'cdparanoia' 'fftw2' 'sdl' 'faad2' 'lame' ) - - depends=('mythtv-svn ' 'libid3tag' 'flac>=1.1.4 ' 'a52dec' 'libcdaudio' 'libcddb' 'libdvdread' 'libid3tag' 'libmad' 'libogg' 'libtheora' 'libvorbis' 'taglib' 'libvisual' 'cdparanoia' 'sdl' 'faad2' 'lame' 'fftw2double') - -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -license="GPL" -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - - -build() { - cd $startdir/src/ - make distclean - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins -PLUGIN=mythmusic -grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro -if [ $? != 0 ] -then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - -# ./configure --disable-all --enable-mythmusic - - make || return 1 - - make INSTALL_ROOT=$startdir/pkg install -} diff --git a/abs/core-testing/mythtv/trunk/plugins/mythmusic/music_flac.patch b/abs/core-testing/mythtv/trunk/plugins/mythmusic/music_flac.patch deleted file mode 100644 index b152249..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythmusic/music_flac.patch +++ /dev/null @@ -1,293 +0,0 @@ ---- flacdecoder.cpp.old 2007-03-11 18:14:37.000000000 -0400 -+++ flacdecoder.cpp 2007-03-11 18:15:34.000000000 -0400 -@@ -17,7 +17,7 @@ - - #include - --static FLAC__SeekableStreamDecoderReadStatus flacread(const FLAC__SeekableStreamDecoder *decoder, FLAC__byte bufferp[], unsigned *bytes, void *client_data) -+static FLAC__StreamDecoderReadStatus flacread(const FLAC__StreamDecoder *decoder, FLAC__byte bufferp[], unsigned *bytes, void *client_data) - { - decoder = decoder; - -@@ -26,27 +26,27 @@ - - if (len == -1) - { -- return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR; -+ return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM; - } - - *bytes = len; -- return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK; -+ return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE; - } - --static FLAC__SeekableStreamDecoderSeekStatus flacseek(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) -+static FLAC__StreamDecoderSeekStatus flacseek(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) - { - decoder = decoder; - FlacDecoder *dflac = (FlacDecoder *)client_data; - - if (!dflac->input()->isDirectAccess()) -- return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR; -+ return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR; - - if (dflac->input()->at(absolute_byte_offset)) -- return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK; -- return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR; -+ return FLAC__STREAM_DECODER_SEEK_STATUS_OK; -+ return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR; - } - --static FLAC__SeekableStreamDecoderTellStatus flactell(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) -+static FLAC__StreamDecoderTellStatus flactell(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) - { - decoder = decoder; - FlacDecoder *dflac = (FlacDecoder *)client_data; -@@ -54,20 +54,20 @@ - long t = dflac->input()->at(); - *absolute_byte_offset = t; - -- return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK; -+ return FLAC__STREAM_DECODER_TELL_STATUS_OK; - } - --static FLAC__SeekableStreamDecoderLengthStatus flaclength(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data) -+static FLAC__StreamDecoderLengthStatus flaclength(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data) - { - decoder = decoder; - - FlacDecoder *dflac = (FlacDecoder *)client_data; - - *stream_length = dflac->input()->size(); -- return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK; -+ return FLAC__STREAM_DECODER_LENGTH_STATUS_OK; - } - --static FLAC__bool flaceof(const FLAC__SeekableStreamDecoder *decoder, void *client_data) -+static FLAC__bool flaceof(const FLAC__StreamDecoder *decoder, void *client_data) - { - decoder = decoder; - -@@ -76,7 +76,7 @@ - return dflac->input()->atEnd(); - } - --static FLAC__StreamDecoderWriteStatus flacwrite(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data) -+static FLAC__StreamDecoderWriteStatus flacwrite(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data) - { - decoder = decoder; - -@@ -132,7 +132,7 @@ - } - } - --static void flacmetadata(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) -+static void flacmetadata(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) - { - decoder = decoder; - -@@ -156,11 +156,11 @@ - } - } - --static void flacerror(const FLAC__SeekableStreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) -+static void flacerror(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) - { - decoder = decoder; - -- FLAC__FileDecoder *file_decoder = (FLAC__FileDecoder *)client_data; -+ FLAC__StreamDecoder *file_decoder = (FLAC__StreamDecoder *)client_data; - - file_decoder = file_decoder; - status = status; -@@ -262,17 +262,8 @@ - } - } - -- decoder = FLAC__seekable_stream_decoder_new(); -- FLAC__seekable_stream_decoder_set_md5_checking(decoder, false); -- FLAC__seekable_stream_decoder_set_read_callback(decoder, flacread); -- FLAC__seekable_stream_decoder_set_seek_callback(decoder, flacseek); -- FLAC__seekable_stream_decoder_set_tell_callback(decoder, flactell); -- FLAC__seekable_stream_decoder_set_length_callback(decoder, flaclength); -- FLAC__seekable_stream_decoder_set_eof_callback(decoder, flaceof); -- FLAC__seekable_stream_decoder_set_write_callback(decoder, flacwrite); -- FLAC__seekable_stream_decoder_set_metadata_callback(decoder, flacmetadata); -- FLAC__seekable_stream_decoder_set_error_callback(decoder, flacerror); -- FLAC__seekable_stream_decoder_set_client_data(decoder, this); -+ decoder = FLAC__stream_decoder_new(); -+ FLAC__stream_decoder_set_md5_checking(decoder, false); - - freq = 0; - bitrate = 0; -@@ -281,8 +272,17 @@ - totalTime = 0; - totalTime = totalTime < 0 ? 0 : totalTime; - -- FLAC__seekable_stream_decoder_init(decoder); -- FLAC__seekable_stream_decoder_process_until_end_of_metadata(decoder); -+ FLAC__stream_decoder_init_stream(decoder, -+ flacread, -+ flacseek, -+ flactell, -+ flaclength, -+ flaceof, -+ flacwrite, -+ flacmetadata, -+ flacerror, -+ this); -+ FLAC__stream_decoder_process_until_end_of_metadata(decoder); - - inited = TRUE; - return TRUE; -@@ -295,8 +295,8 @@ - - void FlacDecoder::deinit() - { -- FLAC__seekable_stream_decoder_finish(decoder); -- FLAC__seekable_stream_decoder_delete(decoder); -+ FLAC__stream_decoder_finish(decoder); -+ FLAC__stream_decoder_delete(decoder); - - if (input()->isOpen()) - input()->close(); -@@ -330,7 +330,7 @@ - } - - bool flacok = true; -- FLAC__SeekableStreamDecoderState decoderstate; -+ FLAC__StreamDecoderState decoderstate; - - while (! done && ! finish) { - lock(); -@@ -340,12 +340,12 @@ - FLAC__uint64 sample = (FLAC__uint64)(seekTime * 44100.0); - if (sample > totalsamples - 50) - sample = totalsamples - 50; -- FLAC__seekable_stream_decoder_seek_absolute(decoder, sample); -+ FLAC__stream_decoder_seek_absolute(decoder, sample); - seekTime = -1.0; - } - -- flacok = FLAC__seekable_stream_decoder_process_single(decoder); -- decoderstate = FLAC__seekable_stream_decoder_get_state(decoder); -+ flacok = FLAC__stream_decoder_process_single(decoder); -+ decoderstate = FLAC__stream_decoder_get_state(decoder); - - if (decoderstate == 0 || decoderstate == 1) - { ---- flacdecoder.h.old 2007-03-11 18:14:37.000000000 -0400 -+++ flacdecoder.h 2007-03-11 18:14:12.000000000 -0400 -@@ -35,7 +35,7 @@ - char *output_buf; - ulong output_bytes, output_at; - -- FLAC__SeekableStreamDecoder *decoder; -+ FLAC__StreamDecoder *decoder; - - unsigned int bks; - bool done, finish; ---- flacencoder.cpp.old 2007-03-11 18:14:37.000000000 -0400 -+++ flacencoder.cpp 2007-03-11 18:14:12.000000000 -0400 -@@ -9,7 +9,7 @@ - #include "flacencoder.h" - #include "metaioflacvorbiscomment.h" - --#include -+#include - #include - #include - -@@ -29,32 +29,32 @@ - int rice_parameter_search_dist = 0; - int max_lpc_order = 8; - -- encoder = FLAC__file_encoder_new(); -+ encoder = FLAC__stream_encoder_new(); - -- FLAC__file_encoder_set_streamable_subset(encoder, true); -- FLAC__file_encoder_set_do_mid_side_stereo(encoder, do_mid_side); -- FLAC__file_encoder_set_loose_mid_side_stereo(encoder, loose_mid_side); -- FLAC__file_encoder_set_channels(encoder, NUM_CHANNELS); -- FLAC__file_encoder_set_bits_per_sample(encoder, 16); -- FLAC__file_encoder_set_sample_rate(encoder, 44100); -- FLAC__file_encoder_set_blocksize(encoder, blocksize); -- FLAC__file_encoder_set_max_lpc_order(encoder, max_lpc_order); -- FLAC__file_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision); -- FLAC__file_encoder_set_do_qlp_coeff_prec_search(encoder, false); -- FLAC__file_encoder_set_do_escape_coding(encoder, do_escape_coding); -- FLAC__file_encoder_set_do_exhaustive_model_search(encoder, -+ FLAC__stream_encoder_set_streamable_subset(encoder, true); -+ FLAC__stream_encoder_set_do_mid_side_stereo(encoder, do_mid_side); -+ FLAC__stream_encoder_set_loose_mid_side_stereo(encoder, loose_mid_side); -+ FLAC__stream_encoder_set_channels(encoder, NUM_CHANNELS); -+ FLAC__stream_encoder_set_bits_per_sample(encoder, 16); -+ FLAC__stream_encoder_set_sample_rate(encoder, 44100); -+ FLAC__stream_encoder_set_blocksize(encoder, blocksize); -+ FLAC__stream_encoder_set_max_lpc_order(encoder, max_lpc_order); -+ FLAC__stream_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision); -+ FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder, false); -+ FLAC__stream_encoder_set_do_escape_coding(encoder, do_escape_coding); -+ FLAC__stream_encoder_set_do_exhaustive_model_search(encoder, - do_exhaustive_model_search); -- FLAC__file_encoder_set_min_residual_partition_order(encoder, -+ FLAC__stream_encoder_set_min_residual_partition_order(encoder, - min_residual_partition_order); -- FLAC__file_encoder_set_max_residual_partition_order(encoder, -+ FLAC__stream_encoder_set_max_residual_partition_order(encoder, - max_residual_partition_order); -- FLAC__file_encoder_set_rice_parameter_search_dist(encoder, -+ FLAC__stream_encoder_set_rice_parameter_search_dist(encoder, - rice_parameter_search_dist); - -- FLAC__file_encoder_set_filename(encoder, outfile.local8Bit()); -+ - -- int ret = FLAC__file_encoder_init(encoder); -- if (ret != FLAC__FILE_ENCODER_OK) -+ int ret = FLAC__stream_encoder_init_file(encoder, outfile.local8Bit(), NULL, NULL); -+ if (ret != FLAC__STREAM_ENCODER_OK) - { - VERBOSE(VB_GENERAL, QString("Error initializing FLAC encoder." - " Got return code: %1").arg(ret)); -@@ -70,8 +70,8 @@ - - if (encoder) - { -- FLAC__file_encoder_finish(encoder); -- FLAC__file_encoder_delete(encoder); -+ FLAC__stream_encoder_finish(encoder); -+ FLAC__stream_encoder_delete(encoder); - } - - if (metadata) -@@ -102,7 +102,7 @@ - - if(sampleindex == MAX_SAMPLES || (length == 0 && sampleindex > 0) ) - { -- if (!FLAC__file_encoder_process(encoder, -+ if (!FLAC__stream_encoder_process(encoder, - (const FLAC__int32 * const *) input, - sampleindex)) - { ---- flacencoder.h.old 2007-03-11 18:14:37.000000000 -0400 -+++ flacencoder.h 2007-03-11 18:14:12.000000000 -0400 -@@ -4,7 +4,7 @@ - #include - - #define HAVE_INTTYPES_H --#include -+#include - - #include "encoder.h" - -@@ -21,7 +21,7 @@ - int addSamples(int16_t *bytes, unsigned int len); - - private: -- FLAC__FileEncoder *encoder; -+ FLAC__StreamEncoder *encoder; - unsigned int sampleindex; - FLAC__int32 inputin[NUM_CHANNELS][MAX_SAMPLES]; - FLAC__int32 *input[NUM_CHANNELS]; diff --git a/abs/core-testing/mythtv/trunk/plugins/mythnews/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythnews/PKGBUILD deleted file mode 100644 index 4dafc20..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythnews/PKGBUILD +++ /dev/null @@ -1,34 +0,0 @@ -pkgname=mythnews-svn -pkgver=16153 -pkgrel=4 -pkgdesc="News checking plugin for MythTV" -url="http://www.mythtv.org" -arch=('i686') -depends=('mythtv-svn') -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -license="GPL" -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - -build() { - cd $startdir/src/ - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins - PLUGIN=mythnews - grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro - if [ $? != 0 ] - then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - make distclean - ./configure --disable-all --enable-mythnews - - make -j 2 || return 1 - - make INSTALL_ROOT=$startdir/pkg install -} -md5sums=('2a9fbf45ae58a3a35857ce8d7c4d12db') diff --git a/abs/core-testing/mythtv/trunk/plugins/mythphone/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythphone/PKGBUILD deleted file mode 100644 index f6bf3ec..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythphone/PKGBUILD +++ /dev/null @@ -1,42 +0,0 @@ -pkgname=mythphone-svn -pkgver=16153 -pkgrel=3 -pkgdesc="Plugin that allows phone calls to be made to MythTv" -url="http://www.mythtv.org" -arch=('i686') -depends=('mythtv-svn') -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -license="GPL" -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - - -build() { - cd $startdir/src/ - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins - make distclean - PLUGIN=mythphone - grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro - if [ $? != 0 ] - then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - - msg "Correcting configure kde3 to kde" - sed -i 's#kde3#kde#' configure || return 1 - ./configure --enable-opengl --disable-all --enable-mythphone || return 1 - qmake mythplugins.pro || return 1 - make qmake || return 1 - - msg "Correcting Makefile kde3 to kde" - sed -i 's#kde3#kde#' ./mythphone/mythphone/Makefile || return 1 - - make -j 2 || return 1 - make INSTALL_ROOT=$startdir/pkg install -} - diff --git a/abs/core-testing/mythtv/trunk/plugins/mythvideo/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythvideo/PKGBUILD deleted file mode 100644 index 4087034..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythvideo/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -pkgname=mythvideo-svn -pkgver=16153 -pkgrel=2 -pkgdesc="Video playback and browsing plugin for MythTV" -url="http://www.mythtv.org" -arch=('i686') -depends=('mythtv-svn' 'perlxml' 'perl-libwww' 'perl-uri' 'perl-xml-simple' 'ffmpeg') -license="GPL" -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') - -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - - -build() { - cd $startdir/src/ - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins - make distclean - PLUGIN=mythvideo - grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro - if [ $? != 0 ] - then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - ./configure --disable-all --enable-mythvideo --enable-transcode - - make -j 2 || return 1 - - make INSTALL_ROOT=$startdir/pkg install -} -md5sums=('2a9fbf45ae58a3a35857ce8d7c4d12db') diff --git a/abs/core-testing/mythtv/trunk/plugins/mythweather/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythweather/PKGBUILD deleted file mode 100644 index 98542b9..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythweather/PKGBUILD +++ /dev/null @@ -1,35 +0,0 @@ -pkgname=mythweather-svn -pkgver=16153 -pkgrel=6 -pkgdesc="Weather checking plugin for MythTV" -url="http://www.mythtv.org" -arch=('i686') -depends=('mythtv-svn' 'wget' 'perl-xml-sax' 'perl-soap-lite' 'perl-image-size' 'imagemagick') -conflicts=('mythtv-plugins-svn') -groups=('mythtv-all-plugins-svn') -license="GPL" -source=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - - -build() { - cd $startdir/src/ - echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - cd $startdir/src/mythplugins - make distclean - PLUGIN=mythweather - grep -q programs-libs.pro $PLUGIN/$PLUGIN/$PLUGIN.pro - if [ $? != 0 ] - then - echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro - msg "appending program lib" - fi - ./configure --enable-opengl --disable-all --enable-mythweather - - make -j 2 || return 1 - - make INSTALL_ROOT=$startdir/pkg install -} -md5sums=('2a9fbf45ae58a3a35857ce8d7c4d12db') diff --git a/abs/core-testing/mythtv/trunk/plugins/mythweb/PKGBUILD b/abs/core-testing/mythtv/trunk/plugins/mythweb/PKGBUILD deleted file mode 100755 index 52eb059..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythweb/PKGBUILD +++ /dev/null @@ -1,35 +0,0 @@ -pkgname=mythweb-svn -pkgver=16153 -pkgrel=20 -pkgdesc="mythweb" -url="http://www.mythtv.org" -license="GPL" -arch=('i686') -depends=(php fcgi libmysqlclient ) -conflicts=('mythweb' 'mythweb-fixes') -replaces=() -backup=() -install='mythweb.install' -source=(mythweblighttpd.patch dblogininit.inc ) -md5sums=() -_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins -_svnmod=mythplugins - -build() { -echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod -#svn co http://cvs.mythtv.org/svn/trunk/mythtv -#svn co http://cvs.mythtv.org/svn/trunk/mythplugins -#svn co http://cvs.mythtv.org/svn/trunk/myththemes -cd $startdir/src/mythplugins - -#take care of fing mythweb -mkdir -p $startdir/pkg/data/srv/httpd/htdocs/ -cp -rp mythweb $startdir/pkg/data/srv/httpd/htdocs/ -cp -f $startdir/src/dblogininit.inc $startdir/pkg/data/srv/httpd/htdocs/mythweb/includes/ -cd $startdir/pkg/data/srv/httpd/htdocs/mythweb/includes -patch -p0 < $startdir/src/mythweblighttpd.patch - -chown -R nobody:nobody $startdir/pkg/data/srv/httpd/htdocs/mythweb -chmod -R 775 $startdir/pkg/data/srv/httpd/htdocs/mythweb -} diff --git a/abs/core-testing/mythtv/trunk/plugins/mythweb/dblogininit.inc b/abs/core-testing/mythtv/trunk/plugins/mythweb/dblogininit.inc deleted file mode 100755 index c5395c5..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythweb/dblogininit.inc +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/abs/core-testing/mythtv/trunk/plugins/mythweb/mythweb.install b/abs/core-testing/mythtv/trunk/plugins/mythweb/mythweb.install deleted file mode 100755 index 9162d98..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythweb/mythweb.install +++ /dev/null @@ -1,37 +0,0 @@ - -# arg 1: the new package version -pre_install () { -/bin/true -} - -post_install() { - cp /etc/lighttpd/lighttpd.conf /tmp - sed -e "s/# .* \"mod_fastcgi\",/\"mod_fastcgi\"\,/g" /tmp/lighttpd.conf > /etc/lighttpd/lighttpd.conf - - -} -pre_upgrade () { - pre_install -} - -# arg 1: the new package version -# arg 2: the old package version -post_upgrade() { - post_install - - /bin/true -} - -# arg 1: the old package version -pre_remove() { - /bin/true -} - -# arg 1: the old package version -post_remove() { -/bint/true -} - -op=$1 -shift -$op $* diff --git a/abs/core-testing/mythtv/trunk/plugins/mythweb/mythweblighttpd.patch b/abs/core-testing/mythtv/trunk/plugins/mythweb/mythweblighttpd.patch deleted file mode 100755 index 6403a88..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythweb/mythweblighttpd.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- database.php.orig 2007-12-31 21:25:30.000000000 +0000 -+++ database.php 2007-12-31 21:25:50.000000000 +0000 -@@ -18,6 +18,10 @@ - custom_error("Please install the MySQL libraries for PHP.\n" - .'The package is usually called something like php-mysql.'); - } -+ if (empty($_SERVER['db_server']) || empty($_SERVER['db_name']) || empty($_SERVER['db_login'])) { -+ require_once 'dblogininit.inc'; -+ } -+ - - // No database connection info defined? - if (empty($_SERVER['db_server']) || empty($_SERVER['db_name']) || empty($_SERVER['db_login'])) { diff --git a/abs/core-testing/mythtv/trunk/plugins/mythweb/xris/dblogininit.inc b/abs/core-testing/mythtv/trunk/plugins/mythweb/xris/dblogininit.inc deleted file mode 100755 index c5395c5..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythweb/xris/dblogininit.inc +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/abs/core-testing/mythtv/trunk/plugins/mythweb/xris/lighttpd.conf b/abs/core-testing/mythtv/trunk/plugins/mythweb/xris/lighttpd.conf deleted file mode 100755 index ff4e7dd..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythweb/xris/lighttpd.conf +++ /dev/null @@ -1,332 +0,0 @@ -# lighttpd configuration file - -############ Options you really have to take care of #################### - -## modules to load -# at least mod_access and mod_accesslog should be loaded -# all other module should only be loaded if really neccesary -# - saves some time -# - saves memory -server.modules = ( - "mod_rewrite", -# "mod_redirect", -# "mod_alias", - "mod_access", -# "mod_cml", -# "mod_trigger_b4_dl", -# "mod_auth", - "mod_status", - "mod_setenv", -#fast_cgi needs to be enabled for mythweb, as all mythweb requests are passed to php-cgi. - "mod_fastcgi", -# "mod_proxy", -# "mod_simple_vhost", -# "mod_evhost", -# "mod_userdir", - "mod_cgi", -# "mod_compress", -# "mod_ssi", -# "mod_usertrack", -# "mod_expire", -# "mod_secdownload", -# "mod_rrdtool", - "mod_accesslog" ) - -## a static document-root, for virtual-hosting take look at the -## server.virtual-* options -server.document-root = "/data/srv/httpd/htdocs" - -## where to send error-messages to -server.errorlog = "/var/log/lighttpd/error.log" - -# files to check for if .../ is requested -index-file.names = ( "index.php", "index.html", - "index.htm", "default.htm","mythweb.php") - -# mimetype mapping -mimetype.assign = ( - ".pdf" => "application/pdf", - ".sig" => "application/pgp-signature", - ".spl" => "application/futuresplash", - ".class" => "application/octet-stream", - ".ps" => "application/postscript", - ".torrent" => "application/x-bittorrent", - ".dvi" => "application/x-dvi", - ".gz" => "application/x-gzip", - ".pac" => "application/x-ns-proxy-autoconfig", - ".swf" => "application/x-shockwave-flash", - ".tar.gz" => "application/x-tgz", - ".tgz" => "application/x-tgz", - ".tar" => "application/x-tar", - ".zip" => "application/zip", - ".mp3" => "audio/mpeg", - ".m3u" => "audio/x-mpegurl", - ".wma" => "audio/x-ms-wma", - ".wax" => "audio/x-ms-wax", - ".ogg" => "application/ogg", - ".wav" => "audio/x-wav", - ".gif" => "image/gif", - ".jpg" => "image/jpeg", - ".jpeg" => "image/jpeg", - ".png" => "image/png", - ".xbm" => "image/x-xbitmap", - ".xpm" => "image/x-xpixmap", - ".xwd" => "image/x-xwindowdump", - ".css" => "text/css", - ".html" => "text/html", - ".htm" => "text/html", - ".js" => "text/javascript", - ".asc" => "text/plain", - ".c" => "text/plain", - ".cpp" => "text/plain", - ".log" => "text/plain", - ".conf" => "text/plain", - ".text" => "text/plain", - ".txt" => "text/plain", - ".dtd" => "text/xml", - ".xml" => "text/xml", - ".mpeg" => "video/mpeg", - ".mpg" => "video/mpeg", - ".mov" => "video/quicktime", - ".qt" => "video/quicktime", - ".avi" => "video/x-msvideo", - ".asf" => "video/x-ms-asf", - ".asx" => "video/x-ms-asf", - ".wmv" => "video/x-ms-wmv", - ".bz2" => "application/x-bzip", - ".tbz" => "application/x-bzip-compressed-tar", - ".tar.bz2" => "application/x-bzip-compressed-tar", - ".nuv" => "video/nuppelvideo" - ) - - -# Use the "Content-Type" extended attribute to obtain mime type if possible -mimetype.use-xattr = "enable" - - -## send a different Server: header -## be nice and keep it at lighttpd -#server.tag = "lighttpd" - -#### accesslog module -accesslog.filename = "/var/log/lighttpd/access.log" - -## deny access the file-extensions -# -# ~ is for backupfiles from vi, emacs, joe, ... -# .inc is often used for code includes which should in general not be part -# of the document-root -url.access-deny = ( "~", ".inc" ) - -$HTTP["url"] =~ "\.pdf$" { - server.range-requests = "disable" -} - -######### Options that are good to be but not neccesary to be changed ####### - -## bind to port (default: 80) -#server.port = 80 - -## bind to localhost (default: all interfaces) -#server.bind = "grisu.home.kneschke.de" - -## error-handler for status 404 -#server.error-handler-404 = "/error-handler.html" -#server.error-handler-404 = "/error-handler.php" - -## to help the rc.scripts -server.pid-file = "/var/run/lighttpd.pid" - - -###### virtual hosts -## -## If you want name-based virtual hosting add the next three settings and load -## mod_simple_vhost -## -## document-root = -## virtual-server-root + virtual-server-default-host + virtual-server-docroot -## or -## virtual-server-root + http-host + virtual-server-docroot -## -#simple-vhost.server-root = "/home/lighttpd/vhosts/" -#simple-vhost.default-host = "lighttpd.localhost" -#simple-vhost.document-root = "/pages/" -## -## Format: .html -## -> ..../status-404.html for 'File not found' -#server.errorfile-prefix = "/home/weigon/projects/lighttpd/doc/status-" - -## virtual directory listings -#server.dir-listing = "enable" - -## enable debugging -#debug.log-request-header = "enable" -#debug.log-response-header = "enable" -#debug.log-request-handling = "enable" -#debug.log-file-not-found = "enable" - -### only root can use these options -# -# chroot() to directory (default: no chroot() ) -#server.chroot = "/" - -## change uid to (default: don't care) -server.username = "nobody" - -## change uid to (default: don't care) -server.groupname = "nobody" - -#### compress module -#compress.cache-dir = "/home/lighttpd/cache/" -#compress.filetype = ("text/plain", "text/html") - -#### proxy module -## read proxy.txt for more info -#proxy.server = ( ".php" => -# ( "localhost" => -# ( -# "host" => "192.168.0.101", -# "port" => 80 -# ) -# ) -# ) - - - - -## fastcgi module -## read fastcgi.txt for more info -## adjust the value of bin-path for your system. -## If you intend to process alot of requests at the same time, increase -## the value of min-procs and max-procs - -fastcgi.server = ( ".php" => - ( "localhost" => - ( - "socket" => "/tmp/php-fastcgi.socket", - "bin-path" => "/usr/bin/php-cgi", - "min-procs" => 0, - "max-procs" => 1, - "max-load-per-proc" => 1, - "idle-timeout" => 10, - # Fix PATH_INFO for PHP scripts that rely on it (like Wordpress and mythweb). - "broken-scriptfilename" => "enable" - ) - ) -) - - -#the rewrite rule for mythweb. -#This assumes that mythweb is installed at document.root/mythweb - - url.rewrite = ( - "^/mythweb(/tv.*|/music.*|/video.*|/weather.*|/settings.*|/status.*|/backend_log.*)$" => "mythweb/mythweb.php/$1" - ) - - -#### CGI module -cgi.assign = ( ".pl" => "/usr/bin/perl") - - - -#### SSL engine -#$SERVER["socket"] == "0.0.0.0:443" { -# ssl.engine = "enable" -# ssl.pemfile = "/home/lighttpd/ssl/server.pem" -# server.errorlog = "/var/log/lighttpd/error-ssl.log" -# accesslog.filename = "/var/log/lighttpd/access-ssl.log" -# server.document-root = "/home/lighttpd/html-ssl" -#} - - - -#### status module -status.status-url = "/server-status" -status.config-url = "/server-config" - -#### auth module -## read authentication.txt for more info -#auth.backend = "plain" -#auth.backend.plain.userfile = "lighttpd.user" -#auth.backend.plain.groupfile = "lighttpd.group" - -#auth.backend.ldap.hostname = "localhost" -#auth.backend.ldap.base-dn = "dc=my-domain,dc=com" -#auth.backend.ldap.filter = "(uid=$)" -#auth.require = ( "/server-status" => -# ( -# "method" => "digest", -# "realm" => "download archiv", -# "require" => "user=jan" -# ), -# "/server-info" => -# ( -# "method" => "digest", -# "realm" => "download archiv", -# "require" => "valid-user" -# ) -# ) - -#### url handling modules (rewrite, redirect, access) -#url.rewrite = ( "^/$" => "/server-status" ) -#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" ) - -# -# define a pattern for the host url finding -# %% => % sign -# %0 => domain name + tld -# %1 => tld -# %2 => domain name without tld -# %3 => subdomain 1 name -# %4 => subdomain 2 name -# -#evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/" - -#### expire module -#expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes") - -#### ssi -#ssi.extension = ( ".shtml" ) - -#### rrdtool -#rrdtool.binary = "/usr/bin/rrdtool" -#rrdtool.db-name = "/var/www/lighttpd.rrd" - -#### setenv -#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" ) -#setenv.add-response-header = ( "X-Secret-Message" => "42" ) -## for mod_trigger_b4_dl -# trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db" -# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" ) -# trigger-before-download.trigger-url = "^/trigger/" -# trigger-before-download.download-url = "^/download/" -# trigger-before-download.deny-url = "http://127.0.0.1/index.html" -# trigger-before-download.trigger-timeout = 10 - -## for mod_cml -## don't forget to add index.cml to server.indexfiles -# cml.extension = ".cml" -# cml.memcache-hosts = ( "127.0.0.1:11211" ) - -#### variable usage: -## variable name without "." is auto prefixed by "var." and becomes "var.bar" -#bar = 1 -#var.mystring = "foo" - -## integer add -#bar += 1 -## string concat, with integer cast as string, result: "www.foo1.com" -#server.name = "www." + mystring + var.bar + ".com" -## array merge -#index-file.names = (foo + ".php") + index-file.names -#index-file.names += (foo + ".php") - -#### include -#include /etc/lighttpd/lighttpd-inc.conf -## same as above if you run: "lighttpd -f /etc/lighttpd/lighttpd.conf" -#include "lighttpd-inc.conf" - -#### include_shell -#include_shell "echo var.a=1" -## the above is same as: -#var.a=1 diff --git a/abs/core-testing/mythtv/trunk/plugins/mythweb/xris/mythweblighttpd.patch b/abs/core-testing/mythtv/trunk/plugins/mythweb/xris/mythweblighttpd.patch deleted file mode 100755 index bebc93e..0000000 --- a/abs/core-testing/mythtv/trunk/plugins/mythweb/xris/mythweblighttpd.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- init.php.orig 2006-11-23 21:37:13.000000000 +0000 -+++ init.php 2006-11-23 21:40:04.000000000 +0000 -@@ -75,7 +75,12 @@ - custom_error("Please install the MySQL libraries for PHP.\n" - .'The package is usually called something like php-mysql.'); - } -- -+ -+ -+// No database connection info defined? -+ if (empty($_SERVER['db_server']) || empty($_SERVER['db_name']) || empty($_SERVER['db_login'])) { -+ require_once 'dblogininit.inc'; -+ } - // No database connection info defined? - if (empty($_SERVER['db_server']) || empty($_SERVER['db_name']) || empty($_SERVER['db_login'])) { - tailored_error('db_vars_error'); -- cgit v0.12