Author: jarod
Update of /cvs/free/rpms/mythtv/F-13
In directory se02.es.rpmfusion.net:/tmp/cvs-serv3051
Modified Files:
mythbackend.init mythbackend.sysconfig
mythplugins-0.23-svnfixes.patch mythtv-0.23-svnfixes.patch
mythtv.spec
Log Message:
* Tue Jun 08 2010 Jarod Wilson <jarod(a)wilsonet.com> 0.23-3
- Update to release-0-23-fixes branch, svn revision 25048
- Includes pulseaudio white noise and seeking fixes (rpmfusion bz#1260)
- Wire up improved support for running the backend as a non-root user,
must be enabled by the user, see caveats in /etc/sysconfig/mythbackend
Index: mythbackend.init
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-13/mythbackend.init,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythbackend.init 14 Apr 2010 04:03:52 -0000 1.1
+++ mythbackend.init 8 Jun 2010 14:40:56 -0000 1.2
@@ -16,18 +16,22 @@
fi
## Defaults, override them in /etc/sysconfig/mythbackend
-: ${MYTHTV_HOME=/etc/mythtv}
+MYTHTV_HOME=${MYTHTV_HOME:-/etc/mythtv}
+MYTHBACKEND_USER=${MYTHBACKEND_USER:-root}
binary=/usr/bin/mythbackend
prog=mythbackend
RETVAL=0
-OPTIONS="$OPTIONS --daemon --logfile /var/log/mythtv/$prog.log --pidfile
/var/run/$prog.pid"
-# Would be nice to run as non-root, but it doesn't work -- dvb/v4l devices owned by
root become unusable
-#OPTIONS="$OPTIONS --daemon --user mythtv --logfile /var/log/mythtv/$prog.log
--pidfile /var/run/$prog.pid"
+OPTIONS="$OPTIONS --daemon --logfile --user ${MYTHBACKEND_USER}
/var/log/mythtv/$prog.log --pidfile /var/run/$prog.pid"
start() {
echo -n $"Starting $prog: "
- touch /var/run/mythbackend.pid; chown mythtv:mythtv /var/run/mythbackend.pid
+ touch /var/run/mythbackend.pid
+ if [ "${MYTHBACKEND_USER}" != root ]; then
+ chown ${MYTHBACKEND_USER}:${MYTHBACKEND_USER} /var/run/mythbackend.pid
+ /usr/bin/setfacl -m u:${MYTHBACKEND_USER}:rw- -R /dev/dvb/
+ /usr/bin/setfacl -m u:${MYTHBACKEND_USER}:rw- /dev/video*
+ fi
export MYTHCONFDIR="$MYTHTV_HOME"
export HOME="$MYTHTV_HOME"
daemon $binary $OPTIONS
@@ -41,6 +45,10 @@
echo -n $"Stopping $prog: "
killproc $binary
RETVAL=$?
+ if [ "${MYTHBACKEND_USER}" != root ]; then
+ /usr/bin/setfacl -x u:${MYTHBACKEND_USER} -R /dev/dvb/
+ /usr/bin/setfacl -x u:${MYTHBACKEND_USER} /dev/video*
+ fi
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog /var/run/$prog.pid
}
Index: mythbackend.sysconfig
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-13/mythbackend.sysconfig,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythbackend.sysconfig 14 Apr 2010 04:03:52 -0000 1.1
+++ mythbackend.sysconfig 8 Jun 2010 14:40:56 -0000 1.2
@@ -1,2 +1,10 @@
#MYTHTV_HOME=/etc/mythtv
+# mythbackend runs as root by default, but support for running as a non-root
+# user should be functional. However, switching to a non-root user on an
+# existing setup will require fixing up permissions on files mythbackend
+# needs access to -- particularly, your recordings, which are owned by the
+# user mythbackend runs as. If you switch from running as root to running as
+# user mythtv, deleting existing recordings won't work until their file
+# ownership has been changed from root to mythtv as well.
+#MYTHBACKEND_USER=mythtv
#OPTIONS=
mythplugins-0.23-svnfixes.patch:
mytharchive/mythburn/scripts/mythburn.py | 91 +++++-----
mythgallery/mythgallery/galleryutil.cpp | 5
mythgallery/mythgallery/glsingleview.cpp | 1
mythmusic/mythmusic/dbcheck.cpp | 5
mythvideo/mythvideo/dbcheck.cpp | 5
mythweb/classes/Database.php | 4
mythweb/classes/Database/Query.php | 4
mythweb/classes/Database/Query/mysql.php | 4
mythweb/classes/Database/Query/mysqlicompat.php | 4
mythweb/classes/Database/mysql.php | 4
mythweb/classes/Database/mysqlicompat.php | 4
mythweb/classes/JSON.php | 4
mythweb/classes/Modules.php | 4
mythweb/classes/MythBackend.php | 4
mythweb/classes/MythFrontend.php | 4
mythweb/includes/class_autoload.php | 4
mythweb/includes/cleanup.php | 4
mythweb/includes/config.php | 4
mythweb/includes/css.php | 4
mythweb/includes/data_dir.php | 4
mythweb/includes/database.php | 4
mythweb/includes/db_update.php | 4
mythweb/includes/defines.php | 4
mythweb/includes/errordisplay.php | 4
mythweb/includes/errors.php | 4
mythweb/includes/init.php | 4
mythweb/includes/jobqueue.php | 4
mythweb/includes/lockdown.php | 4
mythweb/includes/mobile.php | 4
mythweb/includes/mouseovers.php | 4
mythweb/includes/php_version_check.php | 4
mythweb/includes/session.php | 4
mythweb/includes/skin.php | 4
mythweb/includes/sorting.php | 4
mythweb/includes/translate.php | 4
mythweb/includes/utils.php | 4
mythweb/js/pngbehavior.htc | 2
mythweb/js/table_sort.js | 4
mythweb/js/utils.js | 4
mythweb/modules/_shared/tmpl/_errors/db_access_denied.php | 4
mythweb/modules/_shared/tmpl/_errors/db_vars_error.php | 4
mythweb/modules/_shared/tmpl/_errors/error.php | 4
mythweb/modules/_shared/tmpl/_errors/fatal.php | 4
mythweb/modules/_shared/tmpl/_errors/lockdown.php | 4
mythweb/modules/_shared/tmpl/_errors/no_modules.php | 4
mythweb/modules/_shared/tmpl/_errors/site_down.php | 4
mythweb/modules/_shared/tmpl/_errors/unknown_module.php | 4
mythweb/modules/_shared/tmpl/default/footer.php | 4
mythweb/modules/_shared/tmpl/default/header.php | 4
mythweb/modules/_shared/tmpl/default/welcome.php | 4
mythweb/modules/_shared/tmpl/iPod/footer.php | 4
mythweb/modules/_shared/tmpl/iPod/header.php | 4
mythweb/modules/_shared/tmpl/iPod/welcome.php | 4
mythweb/modules/_shared/tmpl/lite/footer.php | 4
mythweb/modules/_shared/tmpl/lite/header.php | 4
mythweb/modules/_shared/tmpl/lite/welcome.php | 4
mythweb/modules/_shared/tmpl/wap/footer.php | 4
mythweb/modules/_shared/tmpl/wap/header.php | 4
mythweb/modules/_shared/tmpl/wap/welcome.php | 4
mythweb/modules/backend_log/handler.php | 4
mythweb/modules/backend_log/init.php | 4
mythweb/modules/backend_log/tmpl/default/backend_log.php | 4
mythweb/modules/backend_log/tmpl/default/welcome.php | 4
mythweb/modules/backend_log/tmpl/lite/backend_log.php | 4
mythweb/modules/backend_log/tmpl/lite/welcome.php | 4
mythweb/modules/database/init.php | 4
mythweb/modules/database/set_settings.php | 4
mythweb/modules/database/tmpl/default/set_settings.php | 4
mythweb/modules/music/handler.php | 4
mythweb/modules/music/init.php | 4
mythweb/modules/music/mp3act_functions.php | 4
mythweb/modules/music/stream.php | 4
mythweb/modules/music/tmpl/default/welcome.php | 4
mythweb/modules/mythtv/init.php | 4
mythweb/modules/mythtv/set_keys.php | 4
mythweb/modules/mythtv/set_settings.php | 4
mythweb/modules/mythtv/tmpl/default/set_keys.php | 4
mythweb/modules/mythtv/tmpl/default/set_settings.php | 4
mythweb/modules/mythtv/tmpl/lite/set_keys.php | 4
mythweb/modules/mythtv/tmpl/lite/set_settings.php | 4
mythweb/modules/mythweb/init.php | 4
mythweb/modules/mythweb/set_defaults.php | 4
mythweb/modules/mythweb/set_flvplayer.php | 4
mythweb/modules/mythweb/set_session.php | 4
mythweb/modules/mythweb/tmpl/default/set_defaults.php | 4
mythweb/modules/mythweb/tmpl/default/set_flvplayer.php | 4
mythweb/modules/mythweb/tmpl/default/set_session.php | 4
mythweb/modules/mythweb/tmpl/lite/set_defaults.php | 4
mythweb/modules/mythweb/tmpl/lite/set_flvplayer.php | 4
mythweb/modules/mythweb/tmpl/lite/set_session.php | 4
mythweb/modules/remote/do.php | 4
mythweb/modules/remote/handler.php | 4
mythweb/modules/remote/init.php | 4
mythweb/modules/remote/keys.php | 4
mythweb/modules/remote/play_program_on_frontend.php | 4
mythweb/modules/remote/tmpl/default/keys.php | 4
mythweb/modules/remote/tmpl/default/remote.php | 4
mythweb/modules/remote/tmpl/default/welcome.php | 4
mythweb/modules/remote/tmpl/iPod/play_program_on_frontend.php | 4
mythweb/modules/remote/tmpl/iPod/welcome.php | 4
mythweb/modules/settings/handler.php | 4
mythweb/modules/settings/init.php | 4
mythweb/modules/settings/tmpl/default/header.php | 4
mythweb/modules/settings/tmpl/default/welcome.php | 4
mythweb/modules/settings/tmpl/lite/header.php | 4
mythweb/modules/settings/tmpl/lite/mythweb.php | 4
mythweb/modules/settings/tmpl/lite/welcome.php | 4
mythweb/modules/stats/handler.php | 4
mythweb/modules/stats/init.php | 4
mythweb/modules/stats/tmpl/default/stats.php | 4
mythweb/modules/stats/tmpl/default/welcome.php | 4
mythweb/modules/stats/tmpl/lite/stats.php | 4
mythweb/modules/stats/tmpl/lite/welcome.php | 4
mythweb/modules/status/handler.php | 4
mythweb/modules/status/init.php | 4
mythweb/modules/status/tmpl/default/status.php | 4
mythweb/modules/status/tmpl/default/welcome.php | 4
mythweb/modules/status/tmpl/lite/status.php | 4
mythweb/modules/status/tmpl/lite/welcome.php | 4
mythweb/modules/status/tmpl/wap/status.php | 4
mythweb/modules/stream/handler.pl | 4
mythweb/modules/stream/init.php | 4
mythweb/modules/stream/set_protocol.php | 4
mythweb/modules/stream/stream_asx.pl | 4
mythweb/modules/stream/stream_flv.pl | 4
mythweb/modules/stream/stream_flvp.pl | 4
mythweb/modules/stream/stream_mp4.pl | 4
mythweb/modules/stream/stream_raw.pl | 4
mythweb/modules/stream/tmpl/default/set_protocol.php | 4
mythweb/modules/stream/tmpl/lite/set_protocol.php | 4
mythweb/modules/stream/tv.pl | 4
mythweb/modules/tv/canned_searches.conf.php | 4
mythweb/modules/tv/channel.php | 4
mythweb/modules/tv/classes/Channel.php | 4
mythweb/modules/tv/classes/Channel_List.php | 4
mythweb/modules/tv/classes/Program.php | 4
mythweb/modules/tv/classes/Recording.php | 4
mythweb/modules/tv/classes/Schedule.php | 4
mythweb/modules/tv/detail.php | 4
mythweb/modules/tv/get_pixmap.php | 4
mythweb/modules/tv/handler.php | 4
mythweb/modules/tv/includes/channels.php | 4
mythweb/modules/tv/includes/programs.php | 4
mythweb/modules/tv/includes/recording_schedules.php | 4
mythweb/modules/tv/includes/schedule_utils.php | 4
mythweb/modules/tv/init.php | 4
mythweb/modules/tv/list.php | 4
mythweb/modules/tv/list_recording_groups.php | 4
mythweb/modules/tv/list_shows_in_title_and_group.php | 4
mythweb/modules/tv/list_titles_in_group.php | 4
mythweb/modules/tv/opensearch.php | 4
mythweb/modules/tv/recorded.php | 4
mythweb/modules/tv/schedules.php | 4
mythweb/modules/tv/schedules_custom.php | 4
mythweb/modules/tv/schedules_manual.php | 4
mythweb/modules/tv/search.php | 4
mythweb/modules/tv/searches.php | 4
mythweb/modules/tv/set_channels.php | 4
mythweb/modules/tv/set_playgroup.php | 4
mythweb/modules/tv/set_screens.php | 4
mythweb/modules/tv/set_session.php | 4
mythweb/modules/tv/submenu.php | 4
mythweb/modules/tv/tmpl/default/channel.php | 4
mythweb/modules/tv/tmpl/default/detail.php | 4
mythweb/modules/tv/tmpl/default/list.php | 4
mythweb/modules/tv/tmpl/default/list_data.php | 4
mythweb/modules/tv/tmpl/default/recorded.php | 4
mythweb/modules/tv/tmpl/default/schedules.php | 4
mythweb/modules/tv/tmpl/default/schedules_custom.php | 4
mythweb/modules/tv/tmpl/default/schedules_manual.php | 4
mythweb/modules/tv/tmpl/default/search.php | 4
mythweb/modules/tv/tmpl/default/searches.php | 4
mythweb/modules/tv/tmpl/default/set_channels.php | 4
mythweb/modules/tv/tmpl/default/set_playgroup.php | 4
mythweb/modules/tv/tmpl/default/set_screens.php | 4
mythweb/modules/tv/tmpl/default/set_session.php | 4
mythweb/modules/tv/tmpl/default/upcoming.php | 4
mythweb/modules/tv/tmpl/default/welcome.php | 4
mythweb/modules/tv/tmpl/iPod/detail.php | 4
mythweb/modules/tv/tmpl/iPod/list_recording_groups.php | 4
mythweb/modules/tv/tmpl/iPod/list_shows_in_title_and_group.php | 4
mythweb/modules/tv/tmpl/iPod/list_titles_in_group.php | 4
mythweb/modules/tv/tmpl/iPod/search.php | 4
mythweb/modules/tv/tmpl/iPod/submenu.php | 4
mythweb/modules/tv/tmpl/iPod/upcoming.php | 4
mythweb/modules/tv/tmpl/iPod/welcome.php | 4
mythweb/modules/tv/tmpl/ical/upcoming.php | 4
mythweb/modules/tv/tmpl/lite/channel.php | 4
mythweb/modules/tv/tmpl/lite/detail.php | 4
mythweb/modules/tv/tmpl/lite/list.php | 4
mythweb/modules/tv/tmpl/lite/recorded.php | 4
mythweb/modules/tv/tmpl/lite/schedules.php | 4
mythweb/modules/tv/tmpl/lite/schedules_custom.php | 4
mythweb/modules/tv/tmpl/lite/schedules_manual.php | 4
mythweb/modules/tv/tmpl/lite/search.php | 4
mythweb/modules/tv/tmpl/lite/searches.php | 4
mythweb/modules/tv/tmpl/lite/set_channels.php | 10 -
mythweb/modules/tv/tmpl/lite/set_session.php | 4
mythweb/modules/tv/tmpl/lite/upcoming.php | 4
mythweb/modules/tv/tmpl/lite/welcome.php | 4
mythweb/modules/tv/tmpl/rss/recorded.php | 4
mythweb/modules/tv/tmpl/wap/channel.php | 4
mythweb/modules/tv/tmpl/wap/detail.php | 4
mythweb/modules/tv/tmpl/wap/list.php | 4
mythweb/modules/tv/tmpl/wap/recorded.php | 4
mythweb/modules/tv/tmpl/wap/search.php | 4
mythweb/modules/tv/tmpl/wap/upcoming.php | 4
mythweb/modules/tv/upcoming.php | 4
mythweb/modules/video/edit.php | 4
mythweb/modules/video/handler.php | 4
mythweb/modules/video/imdb.php | 4
mythweb/modules/video/init.php | 4
mythweb/modules/video/scan.php | 4
mythweb/modules/video/set_settings.php | 4
mythweb/modules/video/tmpl/default/set_settings.php | 4
mythweb/modules/video/tmpl/default/video.php | 4
mythweb/modules/video/tmpl/default/welcome.php | 4
mythweb/modules/weather/classes/WeatherScreen.php | 4
mythweb/modules/weather/handler.php | 4
mythweb/modules/weather/init.php | 4
mythweb/modules/weather/set_screen.php | 4
mythweb/modules/weather/tmpl/default/set_screen.php | 4
mythweb/modules/weather/tmpl/default/weather.18h.php | 4
mythweb/modules/weather/tmpl/default/weather.3d.php | 4
mythweb/modules/weather/tmpl/default/weather.6d.php | 4
mythweb/modules/weather/tmpl/default/weather.am.php | 4
mythweb/modules/weather/tmpl/default/weather.cc.php | 4
mythweb/modules/weather/tmpl/default/weather.php | 4
mythweb/modules/weather/tmpl/default/weather.sm.php | 4
mythweb/modules/weather/tmpl/default/welcome.php | 4
mythweb/modules/welcome.php | 4
mythweb/mythweb.php | 4
mythweb/mythweb.pl | 4
settings.pro | 2
234 files changed, 509 insertions(+), 516 deletions(-)
Index: mythplugins-0.23-svnfixes.patch
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-13/mythplugins-0.23-svnfixes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythplugins-0.23-svnfixes.patch 29 May 2010 04:24:28 -0000 1.1
+++ mythplugins-0.23-svnfixes.patch 8 Jun 2010 14:40:56 -0000 1.2
@@ -242,6 +242,36 @@
m_view = new GLSingleView(itemList, pos, slideShow, sortOrder, this);
l->addWidget(m_view);
+diff -Naurp mythplugins-0.23-release/mythmusic/mythmusic/dbcheck.cpp
mythplugins-0.23/mythmusic/mythmusic/dbcheck.cpp
+--- mythplugins-0.23-release/mythmusic/mythmusic/dbcheck.cpp 2009-10-12
02:28:43.000000000 -0400
++++ mythplugins-0.23/mythmusic/mythmusic/dbcheck.cpp 2010-06-06 00:54:24.555359000 -0400
+@@ -84,11 +84,6 @@ bool UpgradeMusicDatabaseSchema(void)
+ if (DBup->DBver.isEmpty())
+ return doUpgradeMusicDatabaseSchema(DBup->DBver);
+
+- // An upgrade is likely. Ensure we have a backup first:
+- if ((DBup->backupStatus == kDB_Backup_Unknown) ||
+- (DBup->backupStatus == kDB_Backup_Failed))
+- DBup->BackupDB();
+-
+ // Pop up messages, questions, warnings, et c.
+ switch (DBup->PromptForUpgrade("Music", true, false))
+ {
+diff -Naurp mythplugins-0.23-release/mythvideo/mythvideo/dbcheck.cpp
mythplugins-0.23/mythvideo/mythvideo/dbcheck.cpp
+--- mythplugins-0.23-release/mythvideo/mythvideo/dbcheck.cpp 2010-01-18
21:10:45.000000000 -0500
++++ mythplugins-0.23/mythvideo/mythvideo/dbcheck.cpp 2010-06-06 00:54:24.555359000 -0400
+@@ -721,11 +721,6 @@ namespace
+ if (DBup->versionsBehind == 0) // same schema
+ return true;
+
+- // An upgrade is likely. Ensure we have a backup first:
+- if ((DBup->backupStatus == kDB_Backup_Unknown) ||
+- (DBup->backupStatus == kDB_Backup_Failed))
+- DBup->BackupDB();
+-
+ // Pop up messages, questions, warnings, et c.
+ switch (DBup->PromptForUpgrade("Video", true, false))
+ {
diff -Naurp mythplugins-0.23-release/mythweb/classes/Database/mysqlicompat.php
mythplugins-0.23/mythweb/classes/Database/mysqlicompat.php
--- mythplugins-0.23-release/mythweb/classes/Database/mysqlicompat.php 2008-11-08
21:42:14.000000000 -0500
+++ mythplugins-0.23/mythweb/classes/Database/mysqlicompat.php 2008-11-08
21:42:14.216654000 -0500
mythtv-0.23-svnfixes.patch:
VERSION | 1
bindings/perl/IO/Socket/INET/MythTV.pm | 4 -
bindings/perl/MythTV.pm | 11 +-
bindings/perl/MythTV/Channel.pm | 64 ++++++++--------
bindings/perl/MythTV/Program.pm | 4 -
bindings/perl/MythTV/Recording.pm | 4 -
bindings/perl/MythTV/StorageGroup.pm | 4 -
bindings/python/MythTV/MythData.py | 4 -
bindings/python/MythTV/MythFunc.py | 13 ++-
configure | 18 ++--
contrib/config_files/lirc/lircrc.native.example.mceusb2 | 2
contrib/icons/master_iconmap/channel_icons.pl | 4 -
contrib/maintenance/flush_deleted_recgroup.pl | 4 -
contrib/maintenance/optimize_mythdb.pl | 4 -
contrib/user_jobs/firewire_primer.pl | 4 -
contrib/user_jobs/mythlink.pl | 4 -
libs/libavcodec/libavcodec.pro | 5 -
libs/libmyth/audiooutputpulse.cpp | 13 ++-
libs/libmyth/mythcontext.cpp | 9 +-
libs/libmyth/schemawizard.cpp | 17 ++++
libs/libmythdb/mythdirs.cpp | 5 -
libs/libmythdvdnav/libmythdvdnav.pro | 3
libs/libmythsoundtouch/AAFilter.cpp | 2
libs/libmythsoundtouch/AAFilter.h | 2
libs/libmythsoundtouch/BPMDetect.h | 2
libs/libmythsoundtouch/FIFOSampleBuffer.cpp | 2
libs/libmythsoundtouch/FIFOSampleBuffer.h | 2
libs/libmythsoundtouch/FIFOSamplePipe.h | 2
libs/libmythsoundtouch/FIRFilter.cpp | 2
libs/libmythsoundtouch/FIRFilter.h | 2
libs/libmythsoundtouch/RateTransposer.cpp | 2
libs/libmythsoundtouch/RateTransposer.h | 2
libs/libmythsoundtouch/STTypes.h | 2
libs/libmythsoundtouch/SoundTouch.cpp | 2
libs/libmythsoundtouch/SoundTouch.h | 2
libs/libmythsoundtouch/TDStretch.cpp | 2
libs/libmythsoundtouch/TDStretch.h | 2
libs/libmythsoundtouch/cpu_detect.h | 2
libs/libmythsoundtouch/cpu_detect_x86_gcc.cpp | 2
libs/libmythsoundtouch/mmx_gcc.cpp | 2
libs/libmythtv/avformatdecoder.cpp | 17 ++++
libs/libmythtv/dbcheck.cpp | 9 --
libs/libmythtv/tv_play.cpp | 19 +---
libs/libmythtv/tv_play.h | 2
libs/libmythui/mythmainwindow.cpp | 12 +--
libs/libmythui/mythsystem.cpp | 4 -
libs/libmythui/xmlparsebase.cpp | 6 -
libs/libswscale/libswscale.pro | 6 +
programs/mythbackend/main.cpp | 7 +
programs/mythcommflag/main.cpp | 35 +++++++-
programs/mythtv-setup/main.cpp | 2
settings.pro | 2
version.pro | 2
53 files changed, 221 insertions(+), 139 deletions(-)
Index: mythtv-0.23-svnfixes.patch
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-13/mythtv-0.23-svnfixes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythtv-0.23-svnfixes.patch 29 May 2010 04:24:29 -0000 1.1
+++ mythtv-0.23-svnfixes.patch 8 Jun 2010 14:40:56 -0000 1.2
@@ -187,7 +187,7 @@
dtv_multiplex.sourceid AS
dtv_sourceid,
diff -Naurp mythtv-0.23-release/bindings/python/MythTV/MythData.py
mythtv-0.23/bindings/python/MythTV/MythData.py
--- mythtv-0.23-release/bindings/python/MythTV/MythData.py 2010-04-21 00:46:55.000000000
-0400
-+++ mythtv-0.23/bindings/python/MythTV/MythData.py 2010-05-19 23:43:41.152467000 -0400
++++ mythtv-0.23/bindings/python/MythTV/MythData.py 2010-06-06 20:03:02.104550000 -0400
@@ -175,7 +175,7 @@ class FileTransfer( MythBEConn ):
if not self.open:
return
@@ -197,6 +197,15 @@
self.socket.shutdown(1)
self.socket.close()
self.open = False
+@@ -526,6 +526,8 @@ class Program( DictData ):
+ if type != 'r':
+ raise MythFileError(MythError.FILE_FAILED_WRITE, self.filename,
+ 'Program () objects cannot be opened for writing')
++ if not self.filename.startswith('myth://'):
++ self.filename = 'myth://%s/%s' % (self.hostname, self.filename)
+ return ftopen(self.filename, 'r')
+
+ class Record( DBDataWrite ):
diff -Naurp mythtv-0.23-release/bindings/python/MythTV/MythFunc.py
mythtv-0.23/bindings/python/MythTV/MythFunc.py
--- mythtv-0.23-release/bindings/python/MythTV/MythFunc.py 2010-03-31 15:07:44.000000000
-0400
+++ mythtv-0.23/bindings/python/MythTV/MythFunc.py 2010-05-23 15:52:40.992320000 -0400
@@ -397,6 +406,29 @@
QMAKE_CFLAGS_SHLIB =
}
+diff -Naurp mythtv-0.23-release/libs/libmyth/audiooutputpulse.cpp
mythtv-0.23/libs/libmyth/audiooutputpulse.cpp
+--- mythtv-0.23-release/libs/libmyth/audiooutputpulse.cpp 2009-11-16 11:18:35.000000000
-0500
++++ mythtv-0.23/libs/libmyth/audiooutputpulse.cpp 2010-06-07 23:31:50.923907000 -0400
+@@ -554,9 +554,16 @@ bool AudioOutputPulseAudio::ConnectPlayb
+ else
+ pa_cvolume_reset(&volume_control, audio_channels);
+
+- // set myth sizes and pa buffer metrics
+- fragment_size = (float)sample_rate * 0.020f * // 20msec
+- (float)(audio_bits / 8 * audio_channels);
++ // set myth sizes and pa buffer metrics (20 ms)
++ // Note: The 20 is an unsigned long (at least 32 bits).
++ // sample_rate, audio_bits and audio_channels are at least
++ // that size, so the math will be done with a range of at
++ // least 2 billion. If we assume a max audio_bits of 32,
++ // audio_channels of 16 and sample_rate of <= 448000, then
++ // the largest number will be 230 million, well within range.
++ fragment_size = 20UL * sample_rate * audio_bits * audio_channels
++ / 8 /* 8 bits per byte */ / 1000 /* 1000 ms per second */;
++
+ soundcard_buffer_size = 16 * fragment_size;
+ buffer_settings.maxlength = soundcard_buffer_size;
+ buffer_settings.tlength = fragment_size * 4;
diff -Naurp mythtv-0.23-release/libs/libmyth/mythcontext.cpp
mythtv-0.23/libs/libmyth/mythcontext.cpp
--- mythtv-0.23-release/libs/libmyth/mythcontext.cpp 2010-03-23 20:43:43.000000000 -0400
+++ mythtv-0.23/libs/libmyth/mythcontext.cpp 2010-05-14 18:39:42.189261000 -0400
@@ -425,20 +457,24 @@
}
diff -Naurp mythtv-0.23-release/libs/libmyth/schemawizard.cpp
mythtv-0.23/libs/libmyth/schemawizard.cpp
--- mythtv-0.23-release/libs/libmyth/schemawizard.cpp 2010-01-22 12:12:23.000000000
-0500
-+++ mythtv-0.23/libs/libmyth/schemawizard.cpp 2010-05-23 19:30:49.920201000 -0400
-@@ -261,6 +261,11 @@ SchemaUpgradeWizard::PromptForUpgrade(co
++++ mythtv-0.23/libs/libmyth/schemawizard.cpp 2010-06-06 00:54:24.555359000 -0400
+@@ -261,6 +261,15 @@ SchemaUpgradeWizard::PromptForUpgrade(co
return MYTH_SCHEMA_USE_EXISTING;
#endif
-+ // Only back up the database if it's old/about to be upgraded
-+ // (not if it's too new)
-+ // or if a user is doing something they probably shouldn't ("expert
mode")
-+ if ((upgradeAllowed && (versionsBehind > 0)) || m_expertMode)
++ // Only back up the database if we haven't already successfully made a
++ // backup and the database is old/about to be upgraded (not if it's too
++ // new) or if a user is doing something they probably shouldn't ("expert
++ // mode")
++ if (((backupStatus == kDB_Backup_Unknown) ||
++ (backupStatus == kDB_Backup_Failed)) &&
++ ((upgradeAllowed && (versionsBehind > 0)) ||
++ m_expertMode))
+ BackupDB();
connections = CountClients() > 1;
gui = GetMythUI()->IsScreenSetup() &&
gContext->GetMainWindow();
-@@ -314,6 +319,14 @@ SchemaUpgradeWizard::PromptForUpgrade(co
+@@ -314,6 +323,14 @@ SchemaUpgradeWizard::PromptForUpgrade(co
return MYTH_SCHEMA_EXIT;
}
Index: mythtv.spec
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-13/mythtv.spec,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -r1.81 -r1.82
--- mythtv.spec 29 May 2010 04:24:29 -0000 1.81
+++ mythtv.spec 8 Jun 2010 14:40:56 -0000 1.82
@@ -65,7 +65,7 @@
%define desktop_vendor RPMFusion
# SVN Revision number and branch ID
-%define _svnrev r24896
+%define _svnrev r25048
%define branch release-0-23-fixes
#
@@ -81,7 +81,7 @@
%if "%{branch}" == "trunk"
Release: 0.1.svn.%{_svnrev}%{?dist}
%else
-Release: 2%{?dist}
+Release: 3%{?dist}
%endif
# The primary license is GPLv2+, but bits are borrowed from a number of
@@ -842,7 +842,7 @@
cd mythtv-%{version}
%patch0 -p1
-%patch2 -p1
+#patch2 -p1
# Drop execute permissions on contrib bits, since they'll be %doc
find contrib/ -type f -exec chmod -x "{}" \;
@@ -980,7 +980,8 @@
--enable-debug
# Insert rpm version-release for mythbackend --version output
- sed -i -e 's,###SOURCE_VERSION###,%{version}-%{release} (%_svnrev),'
version.sh
+ echo 'SOURCE_VERSION="%{version}-%{release} (%_svnrev)"' >
VERSION
+ #sed -i -e 's,###SOURCE_VERSION###,%{version}-%{release} (%_svnrev),'
version.sh
# Make
make %{?_smp_mflags}
@@ -1479,6 +1480,12 @@
################################################################################
%changelog
+* Tue Jun 08 2010 Jarod Wilson <jarod(a)wilsonet.com> 0.23-3
+- Update to release-0-23-fixes branch, svn revision 25048
+- Includes pulseaudio white noise and seeking fixes (rpmfusion bz#1260)
+- Wire up improved support for running the backend as a non-root user,
+ must be enabled by the user, see caveats in /etc/sysconfig/mythbackend
+
* Sat May 29 2010 Jarod Wilson <jarod(a)wilsonet.com> 0.23-2
- Update to release-0-23-fixes branch, svn revision 24896