rpms/mythtv/F-13 mythbackend.init, 1.3, 1.4 mythtv-0.23-svnfixes.patch, 1.3, 1.4 mythtv.spec, 1.84, 1.85

Jarod Wilson jarod at rpmfusion.org
Mon Jun 21 16:44:22 CEST 2010


Author: jarod

Update of /cvs/free/rpms/mythtv/F-13
In directory se02.es.rpmfusion.net:/tmp/cvs-serv9738

Modified Files:
	mythbackend.init mythtv-0.23-svnfixes.patch mythtv.spec 
Log Message:
* Mon Jun 21 2010 Jarod Wilson <jarod at wilsonet.com> 0.23-5
- Update to release-0-23-fixes branch, svn revision 25150
- Further improvements to run as non-root (rpmfusion bz#1295)
- One more try at a 32-bit x86 F11 i586 build w/both mmx and no cmov



Index: mythbackend.init
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-13/mythbackend.init,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- mythbackend.init	17 Jun 2010 04:46:02 -0000	1.3
+++ mythbackend.init	21 Jun 2010 14:44:22 -0000	1.4
@@ -29,7 +29,8 @@
   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}:rwx -R /dev/dvb/
+    /usr/bin/setfacl -m u:${MYTHBACKEND_USER}:rwx -R /dev/snd/
     /usr/bin/setfacl -m u:${MYTHBACKEND_USER}:rw- /dev/video*
   fi
   export MYTHCONFDIR="$MYTHTV_HOME"
@@ -47,6 +48,7 @@
   RETVAL=$?
   if [ "${MYTHBACKEND_USER}" != root ]; then
     /usr/bin/setfacl -x u:${MYTHBACKEND_USER} -R /dev/dvb/
+    /usr/bin/setfacl -x u:${MYTHBACKEND_USER} -R /dev/snd/
     /usr/bin/setfacl -x u:${MYTHBACKEND_USER} /dev/video*
   fi
   echo

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/audiooutput.h                              |    1 
 libs/libmyth/audiooutputbase.cpp                        |    5 -
 libs/libmyth/audiooutputbase.h                          |    1 
 libs/libmyth/audiooutputpulse.cpp                       |   13 ++-
 libs/libmyth/mediamonitor-darwin.cpp                    |   29 +++++--
 libs/libmyth/mythcontext.cpp                            |    9 +-
 libs/libmyth/schemawizard.cpp                           |   17 ++++
 libs/libmythdb/mythdirs.cpp                             |    5 -
 libs/libmythdb/mythsocket.cpp                           |   19 ++++
 libs/libmythdb/mythsocket.h                             |    4 +
 libs/libmythdb/mythsocketthread.cpp                     |    4 -
 libs/libmythdb/mythversion.h                            |    6 -
 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/NuppelVideoPlayer.cpp                    |    7 +
 libs/libmythtv/NuppelVideoPlayer.h                      |    1 
 libs/libmythtv/avformatdecoder.cpp                      |   33 +++++++-
 libs/libmythtv/dbcheck.cpp                              |    9 --
 libs/libmythtv/jobqueue.h                               |    1 
 libs/libmythtv/tv_play.cpp                              |   19 +---
 libs/libmythtv/tv_play.h                                |    2 
 libs/libmythtv/videoout_d3d.cpp                         |    4 -
 libs/libmythtv/videoout_d3d.h                           |    2 
 libs/libmythtv/videoout_quartz.cpp                      |    9 +-
 libs/libmythtv/videoout_quartz.h                        |    2 
 libs/libmythui/mythfontmanager.cpp                      |    6 -
 libs/libmythui/mythmainwindow.cpp                       |   12 +--
 libs/libmythui/mythsystem.cpp                           |    4 -
 libs/libmythui/mythuitext.cpp                           |   12 +--
 libs/libmythui/xmlparsebase.cpp                         |    6 -
 libs/libswscale/libswscale.pro                          |    6 +
 programs/mythbackend/filetransfer.cpp                   |    3 
 programs/mythbackend/main.cpp                           |    7 +
 programs/mythbackend/mainserver.cpp                     |   11 --
 programs/mythcommflag/main.cpp                          |   35 +++++++-
 programs/mythtranscode/transcode.cpp                    |    5 +
 programs/mythtv-setup/main.cpp                          |    2 
 settings.pro                                            |    2 
 version.pro                                             |    2 
 73 files changed, 324 insertions(+), 184 deletions(-)

Index: mythtv-0.23-svnfixes.patch
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-13/mythtv-0.23-svnfixes.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- mythtv-0.23-svnfixes.patch	17 Jun 2010 04:46:02 -0000	1.3
+++ mythtv-0.23-svnfixes.patch	21 Jun 2010 14:44:22 -0000	1.4
@@ -406,6 +406,50 @@
  	QMAKE_CFLAGS_SHLIB =
  }
  
+diff -Naurp mythtv-0.23-release/libs/libmyth/audiooutputbase.cpp mythtv-0.23/libs/libmyth/audiooutputbase.cpp
+--- mythtv-0.23-release/libs/libmyth/audiooutputbase.cpp	2010-04-14 06:36:02.000000000 -0400
++++ mythtv-0.23/libs/libmyth/audiooutputbase.cpp	2010-06-18 06:50:18.720005000 -0400
+@@ -848,7 +848,8 @@ bool AudioOutputBase::AddSamples(char *b
+     {
+         // Convert to floats
+         short *buf_ptr = (short*)buffer;
+-        for (int sample = 0; sample < samples * audio_channels; sample++)
++        int numSamples = (samples * abps) / sizeof(short);
++        for (int sample = 0; sample < numSamples; sample++)
+         {
+             src_in[sample] = (float)buf_ptr[sample] / (1.0 * 0x8000);
+         }
+@@ -861,7 +862,7 @@ bool AudioOutputBase::AddSamples(char *b
+                     QString("Error occurred while resampling audio: %1")
+                     .arg(src_strerror(error)));
+         src_float_to_short_array(src_data.data_out, (short int*)tmp_buff,
+-                                 src_data.output_frames_gen*audio_channels);
++                            (src_data.output_frames_gen*abps)/sizeof(short));
+ 
+         _AddSamples(tmp_buff, true, src_data.output_frames_gen, timecode);
+     }
+diff -Naurp mythtv-0.23-release/libs/libmyth/audiooutputbase.h mythtv-0.23/libs/libmyth/audiooutputbase.h
+--- mythtv-0.23-release/libs/libmyth/audiooutputbase.h	2009-11-14 04:49:04.000000000 -0500
++++ mythtv-0.23/libs/libmyth/audiooutputbase.h	2010-06-18 06:50:18.720005000 -0400
+@@ -57,6 +57,7 @@ class AudioOutputBase : public AudioOutp
+     virtual void SetTimecode(long long timecode);
+     virtual bool IsPaused(void) const { return audio_actually_paused; }
+     virtual void Pause(bool paused);
++    virtual bool CanPassthrough(void) const { return !need_resampler; }
+ 
+     // Wait for all data to finish playing
+     virtual void Drain(void);
+diff -Naurp mythtv-0.23-release/libs/libmyth/audiooutput.h mythtv-0.23/libs/libmyth/audiooutput.h
+--- mythtv-0.23-release/libs/libmyth/audiooutput.h	2009-10-13 22:57:05.000000000 -0400
++++ mythtv-0.23/libs/libmyth/audiooutput.h	2010-06-18 06:50:18.720005000 -0400
+@@ -49,6 +49,7 @@ class MPUBLIC AudioOutput : public Volum
+     virtual void SetTimecode(long long timecode) = 0;
+     virtual bool IsPaused(void) const = 0;
+     virtual void Pause(bool paused) = 0;
++    virtual bool CanPassthrough(void) const = 0;
+  
+     // Wait for all data to finish playing
+     virtual void Drain(void) = 0;
 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
@@ -429,6 +473,75 @@
      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/mediamonitor-darwin.cpp mythtv-0.23/libs/libmyth/mediamonitor-darwin.cpp
+--- mythtv-0.23-release/libs/libmyth/mediamonitor-darwin.cpp	2009-11-28 10:55:09.000000000 -0500
++++ mythtv-0.23/libs/libmyth/mediamonitor-darwin.cpp	2010-06-17 23:48:36.374058000 -0400
+@@ -1,7 +1,7 @@
+ /**
+  * \file     mediamonitor-darwin.cpp
+  * \brief    MythMediaMonitor for Darwin/Mac OS X.
+- * \version  $Id$
++ * \version  $Id$
+  * \author   Andrew Kimpton, Nigel Pearson
+  */
+ 
+@@ -178,11 +178,11 @@ static char * getVolName(CFDictionaryRef
+ 
+     name = (CFStringRef)
+            CFDictionaryGetValue(diskDetails, kDADiskDescriptionVolumeNameKey);
+-    if (name)
+-        size = CFStringGetLength(name) + 1;
+-    else
+-        size = 9;  // 'Untitled\0'
+ 
++    if (!name)
++        return NULL;
++
++    size = CFStringGetLength(name) + 1;
+     volName = (char *) malloc(size);
+     if (!volName)
+     {
+@@ -191,9 +191,11 @@ static char * getVolName(CFDictionaryRef
+         return NULL;
+     }
+ 
+-    if (!name || !CFStringGetCString(name, volName, size,
+-                                     kCFStringEncodingUTF8))
+-        strcpy(volName, "Untitled");
++    if (!CFStringGetCString(name, volName, size, kCFStringEncodingUTF8))
++    {
++        free(volName);
++        return NULL;
++    }
+ 
+     return volName;
+ }
+@@ -291,8 +293,14 @@ void diskAppearedCallback(DADiskRef disk
+ 
+     // Get the volume and model name for more user-friendly interaction
+     volName = getVolName(details);
+-    model   = getModel(details);
++    if (!volName)
++    {
++        VERBOSE(VB_MEDIA, msg + "No volume name for dev " + BSDname);
++        CFRelease(details);
++        return;
++    }
+ 
++    model     = getModel(details);
+     mediaType = MediaTypeForBSDName(BSDname);
+     isCDorDVD = (mediaType == MEDIATYPE_DVD) || (mediaType == MEDIATYPE_AUDIO);
+ 
+@@ -326,6 +334,9 @@ void diskChangedCallback(DADiskRef disk,
+         CFDictionaryRef details = DADiskCopyDescription(disk);
+         char           *volName = getVolName(details);
+ 
++        VERBOSE(VB_MEDIA, QString("Disk %1 - changed name to '%2'.")
++                          .arg(BSDname).arg(volName));
++
+         reinterpret_cast<MonitorThreadDarwin *>(context)
+             ->diskRename(BSDname, volName);
+         CFRelease(details);
 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
@@ -511,6 +624,104 @@
          confdir.replace("$HOME", QDir::homePath());
      }
      else
+diff -Naurp mythtv-0.23-release/libs/libmythdb/mythsocket.cpp mythtv-0.23/libs/libmythdb/mythsocket.cpp
+--- mythtv-0.23-release/libs/libmythdb/mythsocket.cpp	2010-02-10 12:02:19.000000000 -0500
++++ mythtv-0.23/libs/libmythdb/mythsocket.cpp	2010-06-17 09:23:59.559532000 -0400
+@@ -34,6 +34,7 @@ MythSocketThread *MythSocket::s_readyrea
+ 
+ MythSocket::MythSocket(int socket, MythSocketCBs *cb)
+     : MSocketDevice(MSocketDevice::Stream),            m_cb(cb),
++      m_useReadyReadCallback(true),
+       m_state(Idle),         m_addr(),                 m_port(0),
+       m_ref_count(0),        m_notifyread(false)
+ {
+@@ -200,6 +201,24 @@ void MythSocket::close(void)
+     }
+ }
+ 
++bool MythSocket::closedByRemote(void)
++{
++    fd_set rfds;
++    FD_ZERO(&rfds);
++    FD_SET(socket(), &rfds);
++
++    struct timeval to;
++    to.tv_sec = 0;
++    to.tv_usec = 1000;
++
++    int rval = select(socket() + 1, &rfds, NULL, NULL, &to);
++
++    if (rval > 0 && FD_ISSET(socket(), &rfds) && !bytesAvailable())
++        return true;
++
++    return false;
++}
++
+ qint64 MythSocket::readBlock(char *data, quint64 len)
+ {
+     VERBOSE(VB_SOCKET|VB_EXTRA, LOC + QString("readBlock(0x%1, %2) called")
+diff -Naurp mythtv-0.23-release/libs/libmythdb/mythsocket.h mythtv-0.23/libs/libmythdb/mythsocket.h
+--- mythtv-0.23-release/libs/libmythdb/mythsocket.h	2009-11-16 11:18:35.000000000 -0500
++++ mythtv-0.23/libs/libmythdb/mythsocket.h	2010-06-17 09:23:59.559532000 -0400
+@@ -29,6 +29,7 @@ class MPUBLIC MythSocket : public MSocke
+     };
+ 
+     void close(void);
++    bool closedByRemote(void);
+     void deleteLater(void);
+ 
+     void UpRef(void);
+@@ -43,6 +44,8 @@ class MPUBLIC MythSocket : public MSocke
+ 
+     void setSocket(int socket, Type type = MSocketDevice::Stream);
+     void setCallbacks(MythSocketCBs *cb);
++    void useReadyReadCallback(bool useReadyReadCallback = true)
++        { m_useReadyReadCallback = useReadyReadCallback; }
+ 
+     qint64 readBlock(char *data, quint64 len);
+     qint64 writeBlock(const char *data, quint64 len);
+@@ -73,6 +76,7 @@ class MPUBLIC MythSocket : public MSocke
+     void  setState(const State state);
+ 
+     MythSocketCBs  *m_cb;
++    bool            m_useReadyReadCallback;
+     State           m_state;
+     QHostAddress    m_addr;
+     quint16         m_port;
+diff -Naurp mythtv-0.23-release/libs/libmythdb/mythsocketthread.cpp mythtv-0.23/libs/libmythdb/mythsocketthread.cpp
+--- mythtv-0.23-release/libs/libmythdb/mythsocketthread.cpp	2010-02-10 12:02:19.000000000 -0500
++++ mythtv-0.23/libs/libmythdb/mythsocketthread.cpp	2010-06-17 09:23:59.559532000 -0400
+@@ -153,12 +153,12 @@ void MythSocketThread::ReadyToBeRead(Myt
+     VERBOSE(VB_SOCKET, SLOC(sock) + "socket is readable");
+     int bytesAvail = sock->bytesAvailable();
+     
+-    if (bytesAvail == 0)
++    if (bytesAvail == 0 && sock->closedByRemote())
+     {
+         VERBOSE(VB_SOCKET, SLOC(sock) + "socket closed");
+         sock->close();
+     }
+-    else if (sock->m_cb)
++    else if (bytesAvail > 0 && sock->m_cb && sock->m_useReadyReadCallback)
+     {
+         sock->m_notifyread = true;
+         VERBOSE(VB_SOCKET, SLOC(sock) + "calling m_cb->readyRead()");
+diff -Naurp mythtv-0.23-release/libs/libmythdb/mythversion.h mythtv-0.23/libs/libmythdb/mythversion.h
+--- mythtv-0.23-release/libs/libmythdb/mythversion.h	2010-04-29 20:59:58.000000000 -0400
++++ mythtv-0.23/libs/libmythdb/mythversion.h	2010-06-17 09:23:59.559532000 -0400
+@@ -9,9 +9,9 @@
+ #endif
+ 
+ /// Update this whenever the plug-in API changes.
+-/// Including changes in the libmythdb, libmyth and libmythui class methods
+-/// used by plug-ins.
+-#define MYTH_BINARY_VERSION "0.23.20100429-1"
++/// Including changes in the libmythdb, libmyth, libmythtv, libmythav* and
++/// libmythui class methods used by plug-ins.
++#define MYTH_BINARY_VERSION "0.23.201000617-1"
+ 
+ /** \brief Increment this whenever the MythTV network protocol changes.
+  *
 diff -Naurp mythtv-0.23-release/libs/libmythdvdnav/libmythdvdnav.pro mythtv-0.23/libs/libmythdvdnav/libmythdvdnav.pro
 --- mythtv-0.23-release/libs/libmythdvdnav/libmythdvdnav.pro	2009-10-15 11:47:54.000000000 -0400
 +++ mythtv-0.23/libs/libmythdvdnav/libmythdvdnav.pro	2010-05-11 11:07:54.320600000 -0400
@@ -742,7 +953,7 @@
  // $Id$
 diff -Naurp mythtv-0.23-release/libs/libmythtv/avformatdecoder.cpp mythtv-0.23/libs/libmythtv/avformatdecoder.cpp
 --- mythtv-0.23-release/libs/libmythtv/avformatdecoder.cpp	2010-04-29 20:08:03.000000000 -0400
-+++ mythtv-0.23/libs/libmythtv/avformatdecoder.cpp	2010-06-10 00:02:51.816777000 -0400
++++ mythtv-0.23/libs/libmythtv/avformatdecoder.cpp	2010-06-18 06:50:18.720005000 -0400
 @@ -1291,6 +1291,14 @@ static float normalized_fps(AVStream *st
              fps = tmpfps;
      }
@@ -818,6 +1029,14 @@
  
                      long long temppts = pts;
  
+@@ -4617,6 +4639,7 @@ bool AvFormatDecoder::DoPassThrough(cons
+     else if (ctx->codec_id == CODEC_ID_DTS)
+         passthru = allow_dts_passthru && !internal_vol;
+ 
++    passthru &= GetNVP()->CanPassthrough();
+     passthru &= !transcoding && !disable_passthru;
+     // Don't know any cards that support spdif clocked at < 44100
+     // Some US cable transmissions have 2ch 32k AC-3 streams
 diff -Naurp mythtv-0.23-release/libs/libmythtv/dbcheck.cpp mythtv-0.23/libs/libmythtv/dbcheck.cpp
 --- mythtv-0.23-release/libs/libmythtv/dbcheck.cpp	2010-03-06 22:11:52.000000000 -0500
 +++ mythtv-0.23/libs/libmythtv/dbcheck.cpp	2010-05-23 19:30:49.920201000 -0400
@@ -837,6 +1056,45 @@
  
      // Pop up messages, questions, warnings, et c.
      switch (DBup->PromptForUpgrade("TV", upgradeAllowed,
+diff -Naurp mythtv-0.23-release/libs/libmythtv/jobqueue.h mythtv-0.23/libs/libmythtv/jobqueue.h
+--- mythtv-0.23-release/libs/libmythtv/jobqueue.h	2010-01-31 22:49:37.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/jobqueue.h	2010-06-17 12:33:12.060417000 -0400
+@@ -2,6 +2,7 @@
+ #define JOBQUEUE_H_
+ 
+ #include <pthread.h>
++#include <sys/types.h>
+ 
+ #include <QWaitCondition>
+ #include <QObject>
+diff -Naurp mythtv-0.23-release/libs/libmythtv/NuppelVideoPlayer.cpp mythtv-0.23/libs/libmythtv/NuppelVideoPlayer.cpp
+--- mythtv-0.23-release/libs/libmythtv/NuppelVideoPlayer.cpp	2010-04-27 22:54:52.000000000 -0400
++++ mythtv-0.23/libs/libmythtv/NuppelVideoPlayer.cpp	2010-06-18 06:50:18.720005000 -0400
+@@ -5134,6 +5134,13 @@ bool NuppelVideoPlayer::ToggleUpmix()
+     return false;
+ }
+ 
++bool NuppelVideoPlayer::CanPassthrough()
++{
++    if (audioOutput)
++        return audioOutput->CanPassthrough();
++    return false;
++}
++
+ void NuppelVideoPlayer::Zoom(ZoomDirection direction)
+ {
+     if (videoOutput)
+diff -Naurp mythtv-0.23-release/libs/libmythtv/NuppelVideoPlayer.h mythtv-0.23/libs/libmythtv/NuppelVideoPlayer.h
+--- mythtv-0.23-release/libs/libmythtv/NuppelVideoPlayer.h	2010-03-08 19:33:51.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/NuppelVideoPlayer.h	2010-06-18 06:50:18.720005000 -0400
+@@ -165,6 +165,7 @@ class MPUBLIC NuppelVideoPlayer : public
+     void ToggleAspectOverride(AspectOverrideMode aspectMode = kAspect_Toggle);
+     void ToggleAdjustFill(AdjustFillMode adjustfillMode = kAdjustFill_Toggle);
+     bool ToggleUpmix(void);
++    bool CanPassthrough(void);
+ 
+     // Gets
+     QSize   GetVideoBufferSize(void) const    { return video_dim; }
 diff -Naurp mythtv-0.23-release/libs/libmythtv/tv_play.cpp mythtv-0.23/libs/libmythtv/tv_play.cpp
 --- mythtv-0.23-release/libs/libmythtv/tv_play.cpp	2010-04-27 22:54:52.000000000 -0400
 +++ mythtv-0.23/libs/libmythtv/tv_play.cpp	2010-05-17 21:42:52.462765000 -0400
@@ -914,6 +1172,76 @@
      void SwitchInputs(PlayerContext*, uint inputid);
      void ToggleInputs(PlayerContext*, uint inputid = 0);
      void SwitchCards(PlayerContext*,
+diff -Naurp mythtv-0.23-release/libs/libmythtv/videoout_d3d.cpp mythtv-0.23/libs/libmythtv/videoout_d3d.cpp
+--- mythtv-0.23-release/libs/libmythtv/videoout_d3d.cpp	2010-03-06 22:11:52.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/videoout_d3d.cpp	2010-06-19 01:57:23.850116000 -0400
+@@ -1252,13 +1252,13 @@ void VideoOutputD3D::Show(FrameScanType 
+     SetThreadExecutionState(ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED);
+ }
+ 
+-void VideoOutputD3D::EmbedInWidget(WId wid, int x, int y, int w, int h)
++void VideoOutputD3D::EmbedInWidget(int x, int y, int w, int h)
+ {
+     if (windows[0].IsEmbedding())
+         return;
+ 
+     VideoOutput::EmbedInWidget(x, y, w, h);
+-    m_hEmbedWnd = wid;
++    // TODO: Initialise m_hEmbedWnd?
+ }
+ 
+ void VideoOutputD3D::StopEmbedding(void)
+diff -Naurp mythtv-0.23-release/libs/libmythtv/videoout_d3d.h mythtv-0.23/libs/libmythtv/videoout_d3d.h
+--- mythtv-0.23-release/libs/libmythtv/videoout_d3d.h	2010-02-03 10:39:11.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/videoout_d3d.h	2010-06-18 03:11:40.067331000 -0400
+@@ -115,7 +115,7 @@ class VideoOutputD3D : public VideoOutpu
+     void UpdatePauseFrame(void);
+     void DrawUnusedRects(bool) {;}
+     void Zoom(ZoomDirection direction);
+-    void EmbedInWidget(WId wid, int x, int y, int w, int h);
++    void EmbedInWidget(int x, int y, int w, int h);
+     void StopEmbedding(void);
+     bool hasFullScreenOSD(void) const { return m_d3d_osd; }
+     static QStringList GetAllowedRenderers(MythCodecID myth_codec_id,
+diff -Naurp mythtv-0.23-release/libs/libmythtv/videoout_quartz.cpp mythtv-0.23/libs/libmythtv/videoout_quartz.cpp
+--- mythtv-0.23-release/libs/libmythtv/videoout_quartz.cpp	2010-03-06 22:11:52.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/videoout_quartz.cpp	2010-06-18 03:11:40.067331000 -0400
+@@ -18,7 +18,7 @@
+  *   on any screen except, you guessed it, the main screen.
+  *
+  * = REVISION
+- * $Id$
++ * $Id$
+  *
+  * = AUTHORS
+  * Nigel Pearson, Jeremiah Morris
+@@ -1598,11 +1598,10 @@ void VideoOutputQuartz::DeleteQuartzBuff
+     vbuffers.DeleteBuffers();
+ }
+ 
+-void VideoOutputQuartz::EmbedInWidget(WId wid, int x, int y, int w, int h)
++void VideoOutputQuartz::EmbedInWidget(int x, int y, int w, int h)
+ {
+-    VERBOSE(VB_PLAYBACK,
+-            (LOC + "EmbedInWidget(wid=%1, x=%2, y=%3, w=%4, h=%5)")
+-            .arg(wid).arg(x).arg(y).arg(w).arg(h));
++    VERBOSE(VB_PLAYBACK, (LOC + "EmbedInWidget(x=%1, y=%2, w=%3, h=%4)")
++                         .arg(x).arg(y).arg(w).arg(h));
+ 
+     if (windows[0].IsEmbedding())
+         return;
+diff -Naurp mythtv-0.23-release/libs/libmythtv/videoout_quartz.h mythtv-0.23/libs/libmythtv/videoout_quartz.h
+--- mythtv-0.23-release/libs/libmythtv/videoout_quartz.h	2010-02-03 10:39:11.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/videoout_quartz.h	2010-06-18 03:11:40.067331000 -0400
+@@ -34,7 +34,7 @@ class VideoOutputQuartz : public VideoOu
+     void Zoom(ZoomDirection direction);
+     void ToggleAdjustFill(AdjustFillMode adjustFill);
+ 
+-    void EmbedInWidget(WId wid, int x, int y, int w, int h);
++    void EmbedInWidget(int x, int y, int w, int h);
+     void StopEmbedding(void);
+ 
+     DisplayInfo GetDisplayInfo(void);
 diff -Naurp mythtv-0.23-release/libs/libmythui/mythfontmanager.cpp mythtv-0.23/libs/libmythui/mythfontmanager.cpp
 --- mythtv-0.23-release/libs/libmythui/mythfontmanager.cpp	2010-02-24 02:41:32.000000000 -0500
 +++ mythtv-0.23/libs/libmythui/mythfontmanager.cpp	2010-06-08 18:21:22.370095000 -0400
@@ -994,6 +1322,38 @@
      }
  #endif
  
+diff -Naurp mythtv-0.23-release/libs/libmythui/mythuitext.cpp mythtv-0.23/libs/libmythui/mythuitext.cpp
+--- mythtv-0.23-release/libs/libmythui/mythuitext.cpp	2010-03-28 16:39:26.000000000 -0400
++++ mythtv-0.23/libs/libmythui/mythuitext.cpp	2010-06-20 13:40:58.513407000 -0400
+@@ -347,13 +347,14 @@ void MythUIText::FillCutMessage()
+         if (isNumber && m_TemplateText.contains("%n"))
+         {
+             m_CutMessage = qApp->translate("ThemeUI",
+-                                        qPrintable(m_TemplateText), "",
+-                                        QCoreApplication::CodecForTr,
+-                                        qAbs(value));
++                                           m_TemplateText.toUtf8(), NULL,
++                                           QCoreApplication::UnicodeUTF8,
++                                           qAbs(value));
+         }
+         else if (m_TemplateText.contains("%1"))
+         {
+-            QString tmp = qApp->translate("ThemeUI", qPrintable(m_TemplateText));
++            QString tmp = qApp->translate("ThemeUI", m_TemplateText.toUtf8(),
++                                          NULL, QCoreApplication::UnicodeUTF8);
+             m_CutMessage = tmp.arg(m_Message);
+         }
+     }
+@@ -577,7 +578,8 @@ bool MythUIText::ParseElement(
+         if (element.attribute("lang","").isEmpty())
+         {
+             m_Message = qApp->translate("ThemeUI",
+-                                        qPrintable(getFirstText(element)));
++                                        getFirstText(element).toUtf8(), NULL,
++                                        QCoreApplication::UnicodeUTF8);
+         }
+         else if (element.attribute("lang","").toLower() ==
+                  GetMythUI()->GetLanguageAndVariant())
 diff -Naurp mythtv-0.23-release/libs/libmythui/xmlparsebase.cpp mythtv-0.23/libs/libmythui/xmlparsebase.cpp
 --- mythtv-0.23-release/libs/libmythui/xmlparsebase.cpp	2010-03-02 12:36:30.000000000 -0500
 +++ mythtv-0.23/libs/libmythui/xmlparsebase.cpp	2010-05-15 09:04:12.458568000 -0400
@@ -1042,6 +1402,19 @@
  
  !profile:QMAKE_CFLAGS_DEBUG += -O
  
+diff -Naurp mythtv-0.23-release/programs/mythbackend/filetransfer.cpp mythtv-0.23/programs/mythbackend/filetransfer.cpp
+--- mythtv-0.23-release/programs/mythbackend/filetransfer.cpp	2010-03-10 10:37:33.000000000 -0500
++++ mythtv-0.23/programs/mythbackend/filetransfer.cpp	2010-06-17 09:23:59.559532000 -0400
+@@ -41,6 +41,9 @@ FileTransfer::FileTransfer(QString &file
+         pginfo->pathname = pginfo->GetPlaybackURL();
+         pginfo->MarkAsInUse(true, kFileTransferInUseID);
+     }
++
++    if (write)
++        remote->useReadyReadCallback(false);
+ }
+ 
+ FileTransfer::~FileTransfer()
 diff -Naurp mythtv-0.23-release/programs/mythbackend/main.cpp mythtv-0.23/programs/mythbackend/main.cpp
 --- mythtv-0.23-release/programs/mythbackend/main.cpp	2010-04-09 07:29:00.000000000 -0400
 +++ mythtv-0.23/programs/mythbackend/main.cpp	2010-05-13 14:45:33.347492000 -0400
@@ -1075,6 +1448,28 @@
      }
  
      if (pidfs)
+diff -Naurp mythtv-0.23-release/programs/mythbackend/mainserver.cpp mythtv-0.23/programs/mythbackend/mainserver.cpp
+--- mythtv-0.23-release/programs/mythbackend/mainserver.cpp	2010-04-10 17:19:56.000000000 -0400
++++ mythtv-0.23/programs/mythbackend/mainserver.cpp	2010-06-17 09:23:59.559532000 -0400
+@@ -1270,15 +1270,10 @@ void MainServer::HandleAnnounce(QStringL
+         else
+             filename = LocalFilePath(qurl, wantgroup);
+ 
+-        if (writemode)
+-        {
+-            socket->setCallbacks(NULL);
+-            ft = new FileTransfer(filename, socket, true);
+-        }
+-        else if (retries >= 0)
+-            ft = new FileTransfer(filename, socket, usereadahead, retries);
++        if (retries < 0)
++            ft = new FileTransfer(filename, socket, writemode);
+         else
+-            ft = new FileTransfer(filename, socket, false);
++            ft = new FileTransfer(filename, socket, usereadahead, retries);
+ 
+         sockListLock.lockForWrite();
+         fileTransferList.push_back(ft);
 diff -Naurp mythtv-0.23-release/programs/mythcommflag/main.cpp mythtv-0.23/programs/mythcommflag/main.cpp
 --- mythtv-0.23-release/programs/mythcommflag/main.cpp	2010-02-10 12:02:19.000000000 -0500
 +++ mythtv-0.23/programs/mythcommflag/main.cpp	2010-05-13 20:49:59.310980000 -0400
@@ -1141,6 +1536,21 @@
      time_now = time(NULL);
  
      if (!quiet)
+diff -Naurp mythtv-0.23-release/programs/mythtranscode/transcode.cpp mythtv-0.23/programs/mythtranscode/transcode.cpp
+--- mythtv-0.23-release/programs/mythtranscode/transcode.cpp	2010-04-03 13:16:58.000000000 -0400
++++ mythtv-0.23/programs/mythtranscode/transcode.cpp	2010-06-18 06:50:18.720005000 -0400
+@@ -217,6 +217,11 @@ class AudioReencodeBuffer : public Audio
+         // Do nothing
+         return false;
+     }
++    virtual bool CanPassthrough(void) const
++    {
++        // Do nothing
++        return false;
++    }
+ 
+     virtual void SetSWVolume(int new_volume, bool save)
+     {
 diff -Naurp mythtv-0.23-release/programs/mythtv-setup/main.cpp mythtv-0.23/programs/mythtv-setup/main.cpp
 --- mythtv-0.23-release/programs/mythtv-setup/main.cpp	2010-03-11 22:54:16.000000000 -0500
 +++ mythtv-0.23/programs/mythtv-setup/main.cpp	2010-05-12 11:25:27.228749000 -0400


Index: mythtv.spec
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-13/mythtv.spec,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -r1.84 -r1.85
--- mythtv.spec	17 Jun 2010 04:46:02 -0000	1.84
+++ mythtv.spec	21 Jun 2010 14:44:22 -0000	1.85
@@ -65,7 +65,7 @@
 %define desktop_vendor  RPMFusion
 
 # SVN Revision number and branch ID
-%define _svnrev r25124
+%define _svnrev r25150
 %define branch release-0-23-fixes
 
 #
@@ -81,7 +81,7 @@
 %if "%{branch}" == "trunk"
 Release: 0.1.svn.%{_svnrev}%{?dist}
 %else
-Release: 4%{?dist}
+Release: 5%{?dist}
 %endif
 
 # The primary license is GPLv2+, but bits are borrowed from a number of
@@ -966,8 +966,12 @@
     --extra-cflags="%{optflags} -fomit-frame-pointer" \
     --extra-cxxflags="%{optflags} -fomit-frame-pointer" \
 %endif
-%ifarch %{ix86}
-    --cpu=%{_target_cpu} --tune=%{_target_cpu} --enable-mmx \
+%ifarch i586
+    # --cpu=i586 will result in mmx being disabled
+    --cpu=pentium-mmx --tune=i586 --enable-mmx \
+%endif
+%ifarch i686
+    --cpu=i686 --tune=i686 --enable-mmx \
 %endif
 %if %{with_proc_opt}
     --enable-proc-opt \
@@ -1479,6 +1483,11 @@
 ################################################################################
 
 %changelog
+* Mon Jun 21 2010 Jarod Wilson <jarod at wilsonet.com> 0.23-5
+- Update to release-0-23-fixes branch, svn revision 25150
+- Further improvements to run as non-root (rpmfusion bz#1295)
+- One more try at a 32-bit x86 F11 i586 build w/both mmx and no cmov
+
 * Wed Jun 16 2010 Jarod Wilson <jarod at wilsonet.com> 0.23-4
 - Update to release-0-23-fixes branch, svn revision 25124
 - Add anti-vuvuzela-filter patch from mythtv ticket #8568, because



More information about the rpmfusion-commits mailing list