Author: hobbes1069
Update of /cvs/free/rpms/mythtv/EL-6
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv2462
Modified Files:
ChangeLog mythbackend.service mythtv.spec sources
Added Files:
mythtv-0.25.1-hls_profile.patch mythtv-0.25.1-php54.patch
mythtv-0.25.2-fixes.patch
Removed Files:
mythtv-0.25.1-fixes.patch
Log Message:
* Sat Aug 25 2012 Richard Shaw <hobbes1069(a)gmail.com> - 0.25.2-2
- Update to latest fixes/0.25.
- Fix mythbackend looking in the wrong directory for config.xml (BZ#2450).
mythtv-0.25.1-hls_profile.patch:
avformatwriter.cpp | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)
--- NEW FILE mythtv-0.25.1-hls_profile.patch ---
diff --git a/mythtv/libs/libmythtv/avformatwriter.cpp
b/mythtv/libs/libmythtv/avformatwriter.cpp
index 0c2d5be..dd9b585 100644
--- a/mythtv/libs/libmythtv/avformatwriter.cpp
+++ b/mythtv/libs/libmythtv/avformatwriter.cpp
@@ -427,7 +427,7 @@ AVStream* AVFormatWriter::AddVideoStream(void)
c->coder_type = 0;
c->max_b_frames = 0;
c->slices = 8;
- c->level = 13;
+
c->flags |= CODEC_FLAG_LOOP_FILTER;
c->me_cmp |= 1;
c->partitions |= X264_PART_I8X8
@@ -448,12 +448,30 @@ AVStream* AVFormatWriter::AddVideoStream(void)
c->refs = 3;
c->directpred = 1;
c->rc_lookahead = 0;
+ c->trellis = 0;
c->flags2 |= CODEC_FLAG2_FASTPSKIP;
- c->flags2 |= CODEC_FLAG2_8X8DCT;
- c->flags2 ^= CODEC_FLAG2_8X8DCT;
- c->flags2 |= CODEC_FLAG2_WPRED;
- c->flags2 ^= CODEC_FLAG2_WPRED;
+ c->flags2 |= CODEC_FLAG2_MIXED_REFS;
+
+ if ((c->height <= 240) &&
+ (c->width <= 320) &&
+ (c->bit_rate <= 768000))
+ {
+ c->level = 13;
+ }
+ else if (c->width >= 960)
+ {
+ if (c->width >= 1024)
+ c->level = 41;
+ else
+ c->level = 31;
+
+ c->flags2 |= CODEC_FLAG2_WPRED;
+ }
+ else
+ {
+ c->level = 30;
+ }
}
if(m_ctx->oformat->flags & AVFMT_GLOBALHEADER)
mythtv-0.25.1-php54.patch:
MythBase.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE mythtv-0.25.1-php54.patch ---
commit cd670ec7bf5f04f1ba67b5a7cbc00374479eb9b0
Author: Chris Petersen <cpetersen(a)mythtv.org>
Date: Wed Jun 13 21:01:18 2012 -0700
Partial support for PHP 5.4
Bindings portions of the patch re #10504
diff --git a/mythtv/bindings/php/MythBase.php b/mythtv/bindings/php/MythBase.php
index 9b41efc..563e6fb 100644
--- a/mythtv/bindings/php/MythBase.php
+++ b/mythtv/bindings/php/MythBase.php
@@ -47,7 +47,7 @@ class MythBase {
public function __destruct() {
if (!is_null($this->cacheKey))
- Cache::setObject($this->cacheKey, &$this, $this->cacheLifetime);
+ Cache::setObject($this->cacheKey, $this, $this->cacheLifetime);
$this->cacheKey = null;
}
mythtv-0.25.2-fixes.patch:
checksums/mythplugins-0.25.2.md5sum | 1
checksums/mythtv-0.25.2.md5sum | 1
mythplugins/mythmusic/mythmusic/musicplayer.cpp | 7
mythplugins/mythmusic/mythmusic/polygon.h | 4
mythtv/bindings/python/MythTV/dataheap.py | 2
mythtv/html/setup/wizard-network.qsp | 4
mythtv/libs/libmythbase/serverpool.cpp | 196 +++++++++++++++---------
mythtv/libs/libmythtv/firewirerecorder.cpp | 1
mythtv/libs/libmythtv/streamhandler.cpp | 34 +---
mythtv/libs/libmythtv/streamhandler.h | 6
mythtv/libs/libmythtv/subtitlescreen.cpp | 6
mythtv/libs/libmythtv/subtitlescreen.h | 7
mythtv/programs/mythbackend/main_helpers.cpp | 2
mythtv/themes/defaultmenu/mainmenu.xml | 1
14 files changed, 176 insertions(+), 96 deletions(-)
--- NEW FILE mythtv-0.25.2-fixes.patch ---
checksums/mythplugins-0.25.2.md5sum | 1 +
checksums/mythtv-0.25.2.md5sum | 1 +
mythplugins/mythmusic/mythmusic/musicplayer.cpp | 7 +
mythplugins/mythmusic/mythmusic/polygon.h | 4 +-
mythtv/bindings/python/MythTV/dataheap.py | 2 +
mythtv/html/setup/wizard-network.qsp | 4 +
mythtv/libs/libmythbase/serverpool.cpp | 196 +++++++++++++++--------
mythtv/libs/libmythtv/firewirerecorder.cpp | 1 +
mythtv/libs/libmythtv/streamhandler.cpp | 34 ++---
mythtv/libs/libmythtv/streamhandler.h | 6 +-
mythtv/libs/libmythtv/subtitlescreen.cpp | 6 +-
mythtv/libs/libmythtv/subtitlescreen.h | 7 +-
mythtv/programs/mythbackend/main_helpers.cpp | 2 +-
mythtv/themes/defaultmenu/mainmenu.xml | 1 +
14 files changed, 176 insertions(+), 96 deletions(-)
diff --git a/checksums/mythplugins-0.25.2.md5sum b/checksums/mythplugins-0.25.2.md5sum
new file mode 100644
index 0000000..16f5965
--- /dev/null
+++ b/checksums/mythplugins-0.25.2.md5sum
@@ -0,0 +1 @@
+80466458a82759d213fe69af63d6dc80 mythplugins-0.25.2.tar.bz2
diff --git a/checksums/mythtv-0.25.2.md5sum b/checksums/mythtv-0.25.2.md5sum
new file mode 100644
index 0000000..f02e863
--- /dev/null
+++ b/checksums/mythtv-0.25.2.md5sum
@@ -0,0 +1 @@
+2bf8c0aa75e88d39747e59c27aa6072e mythtv-0.25.2.tar.bz2
diff --git a/mythplugins/mythmusic/mythmusic/musicplayer.cpp
b/mythplugins/mythmusic/mythmusic/musicplayer.cpp
index b0cccf5..d94e08f 100644
--- a/mythplugins/mythmusic/mythmusic/musicplayer.cpp
+++ b/mythplugins/mythmusic/mythmusic/musicplayer.cpp
@@ -105,6 +105,7 @@ MusicPlayer::~MusicPlayer()
m_cdWatcher->stop();
m_cdWatcher->wait();
delete m_cdWatcher;
+ m_cdWatcher = NULL;
}
if (!hasClient())
@@ -283,6 +284,12 @@ void MusicPlayer::stop(bool stopAll)
m_output = NULL;
}
+ if (stopAll && m_cdWatcher)
+ {
+ m_cdWatcher->stop();
+ m_cdWatcher->wait();
+ }
+
// because we don't actually stop the audio output we have to fake a Stopped
// event so any listeners can act on it
OutputEvent oe(OutputEvent::Stopped);
diff --git a/mythplugins/mythmusic/mythmusic/polygon.h
b/mythplugins/mythmusic/mythmusic/polygon.h
index 2884d8e..d859d5d 100644
--- a/mythplugins/mythmusic/mythmusic/polygon.h
+++ b/mythplugins/mythmusic/mythmusic/polygon.h
@@ -18,13 +18,13 @@ class Bitmap
delete[] data;
width = w;
height = h;
- data = new Pixel[w*h+extra];
+ data = new Pixel[2*w*h+extra];
clear();
}
void clear()
{
- memset(data,0,sizeof(Pixel)*(width*height+extra));
+ memset(data,0,sizeof (Pixel)*(2*width*height+extra));
}
};
#endif
diff --git a/mythtv/bindings/python/MythTV/dataheap.py
b/mythtv/bindings/python/MythTV/dataheap.py
index dd832ba..ae817e7 100644
--- a/mythtv/bindings/python/MythTV/dataheap.py
+++ b/mythtv/bindings/python/MythTV/dataheap.py
@@ -612,6 +612,7 @@ class Job( DBDataWrite, JOBTYPE, JOBCMD, JOBFLAG, JOBSTATUS ):
def fromRecorded(cls, rec, type, status=None, schedruntime=None,
hostname=None, args=None, flags=None):
job = cls(db=rec._db)
+ job.type = type
job.chanid = rec.chanid
job.starttime = rec.starttime
if status:
@@ -632,6 +633,7 @@ class Job( DBDataWrite, JOBTYPE, JOBCMD, JOBFLAG, JOBSTATUS ):
if prog.rectype != prog.rsRecorded:
raise MythError('Invalid recording type for Job.')
job = cls(db=prog._db)
+ job.type = type
job.chanid = prog.chanid
job.starttime = prog.recstartts
if status:
diff --git a/mythtv/html/setup/wizard-network.qsp b/mythtv/html/setup/wizard-network.qsp
index 03c37ac..59b67a9 100644
--- a/mythtv/html/setup/wizard-network.qsp
+++ b/mythtv/html/setup/wizard-network.qsp
@@ -13,6 +13,10 @@
<td id='BackendServerIP6_cell'>
<a
href="javascript:showSettingHelp('BackendServerIP6')">[?]</a>
</td></tr>
+ <tr><th align=right><i18n>Use Link-Local</i18n>:</th>
+ <td id='AllowLinkLocal_cell'>
+ <a
href="javascript:showSettingHelp('AllowLinkLocal')">[?]</a>
+ </td></tr>
<tr><th align=right><i18n>Security PIN</i18n>:</th>
<td><input id='SecurityPin' type='password' size=10>
<a
href="javascript:showSettingHelp('SecurityPin')">[?]</a>
diff --git a/mythtv/libs/libmythbase/serverpool.cpp
b/mythtv/libs/libmythbase/serverpool.cpp
index 609e190..745e329 100644
--- a/mythtv/libs/libmythbase/serverpool.cpp
+++ b/mythtv/libs/libmythbase/serverpool.cpp
@@ -20,6 +20,13 @@ static QList<QNetworkAddressEntry> naList_4;
static QList<QNetworkAddressEntry> naList_6;
static QReadWriteLock naLock;
+static QPair<QHostAddress, int> kLinkLocal =
+ QHostAddress::parseSubnet("169.254.0.0/16");
+#if !defined(QT_NO_IPV6)
+static QPair<QHostAddress, int> kLinkLocal6 =
+ QHostAddress::parseSubnet("fe80::/10");
+#endif
+
class PrivUdpSocket : public QUdpSocket
{
public:
@@ -38,7 +45,7 @@ public:
{
#if !defined(QT_NO_IPV6)
if (addr.protocol() == QAbstractSocket::IPv6Protocol &&
- addr.isInSubnet(QHostAddress::parseSubnet("fe80::/10")) &&
+ addr.isInSubnet(kLinkLocal6) &&
host.ip().scopeId() != addr.scopeId())
{
return false;
@@ -92,6 +99,7 @@ void ServerPool::SelectDefaultListen(bool force)
QHostAddress config_v6(gCoreContext->GetSetting("BackendServerIP6"));
bool v6IsSet = config_v6.isNull() ? true : false;
#endif
+ bool allowLinkLocal = gCoreContext->GetNumSetting("AllowLinkLocal",
true) > 0;
// loop through all available interfaces
QList<QNetworkInterface> IFs = QNetworkInterface::allInterfaces();
@@ -102,97 +110,147 @@ void ServerPool::SelectDefaultListen(bool force)
continue;
QList<QNetworkAddressEntry> IPs = qni->addressEntries();
- QList<QNetworkAddressEntry>::const_iterator qnai;
+ QList<QNetworkAddressEntry>::iterator qnai;
for (qnai = IPs.begin(); qnai != IPs.end(); ++qnai)
{
QHostAddress ip = qnai->ip();
- if (naList_4.contains(*qnai))
- // already defined, skip
- continue;
- else if (!config_v4.isNull() && (ip == config_v4))
+#if !defined(QT_NO_IPV6)
+ if (ip.protocol() == QAbstractSocket::IPv4Protocol)
{
- // IPv4 address is defined, add it
- LOG(VB_GENERAL, LOG_DEBUG,
+#endif
+ if (naList_4.contains(*qnai))
+ // already defined, skip
+ continue;
+
+ else if (!config_v4.isNull() && (ip == config_v4))
+ {
+ // IPv4 address is defined, add it
+ LOG(VB_GENERAL, LOG_DEBUG,
QString("Adding BackendServerIP to address list."));
- naList_4.append(*qnai);
- v4IsSet = true;
- }
- else if (ip == QHostAddress::LocalHost)
- {
- // always listen on LocalHost
- LOG(VB_GENERAL, LOG_DEBUG,
- QString("Adding IPv4 loopback to address list."));
- naList_4.append(*qnai);
- if (!v4IsSet && (config_v4 == ip))
+ naList_4.append(*qnai);
v4IsSet = true;
- }
- else if (config_v4.isNull() &&
- (ip.protocol() == QAbstractSocket::IPv4Protocol))
- {
- // IPv4 address is not defined, populate one
- // restrict autoconfiguration to RFC1918 private networks
- if (ip.isInSubnet(QHostAddress::parseSubnet("10.0.0.0/8")) ||
- ip.isInSubnet(QHostAddress::parseSubnet("172.16.0.0/12"))
||
-
ip.isInSubnet(QHostAddress::parseSubnet("192.168.0.0/16")))
+
+ }
+
+ else if (ip == QHostAddress::LocalHost)
{
+ // always listen on LocalHost
LOG(VB_GENERAL, LOG_DEBUG,
- QString("Adding '%1' to address list.")
- .arg(ip.toString()));
+ QString("Adding IPv4 loopback to address list."));
+ naList_4.append(*qnai);
+ if (!v4IsSet && (config_v4 == ip))
+ v4IsSet = true;
+ }
+
+ else if (ip.isInSubnet(kLinkLocal) && allowLinkLocal)
+ {
+ // optionally listen on linklocal
+ // the next clause will enable it anyway if no IP address
+ // has been set
+ LOG(VB_GENERAL, LOG_DEBUG,
+ QString("Adding link-local '%1' to address
list.")
+ .arg(PRETTYIP_(ip)));
naList_4.append(*qnai);
}
+
+ else if (config_v4.isNull())
+ {
+ // IPv4 address is not defined, populate one
+ // restrict autoconfiguration to RFC1918 private networks
+ static QPair<QHostAddress, int>
+ privNet1 = QHostAddress::parseSubnet("10.0.0.0/8"),
+ privNet2 = QHostAddress::parseSubnet("172.16.0.0/12"),
+ privNet3 = QHostAddress::parseSubnet("192.168.0.0/16");
+
+ if (ip.isInSubnet(privNet1) || ip.isInSubnet(privNet2) ||
+ ip.isInSubnet(privNet3))
+ {
+ LOG(VB_GENERAL, LOG_DEBUG,
+ QString("Adding '%1' to address
list.")
+ .arg(PRETTYIP_(ip)));
+ naList_4.append(*qnai);
+ }
+ else if (ip.isInSubnet(kLinkLocal))
+ {
+ LOG(VB_GENERAL, LOG_DEBUG,
+ QString("Adding link-local '%1' to address
list.")
+ .arg(PRETTYIP_(ip)));
+ naList_4.append(*qnai);
+ }
+ else
+ LOG(VB_GENERAL, LOG_DEBUG, QString("Skipping "
+ "non-private address during IPv4 autoselection:
%1")
+ .arg(PRETTYIP_(ip)));
+ }
+
else
- LOG(VB_GENERAL, LOG_DEBUG, QString("Skipping non-private "
- "address during IPv4 autoselection: %1")
- .arg(ip.toString()));
- }
+ LOG(VB_GENERAL, LOG_DEBUG, QString("Skipping address: %1")
+ .arg(PRETTYIP_(ip)));
+
#if !defined(QT_NO_IPV6)
- else if (naList_6.contains(*qnai))
- // already defined, skip
- continue;
- else if (!config_v6.isNull() && (ip == config_v6))
+ }
+ else
{
+ if (ip.isInSubnet(kLinkLocal6))
+ {
+ // set scope id for link local address
+ ip.setScopeId(qni->name());
+ qnai->setIp(ip);
+ }
+
+ if (naList_6.contains(*qnai))
+ // already defined, skip
+ continue;
+
+ else if ((!config_v6.isNull()) && (ip == config_v6))
+ {
// IPv6 address is defined, add it
- LOG(VB_GENERAL, LOG_DEBUG,
+ LOG(VB_GENERAL, LOG_DEBUG,
QString("Adding BackendServerIP6 to address list."));
- naList_6.append(*qnai);
- v6IsSet = true;
- }
- else if (ip == QHostAddress::LocalHostIPv6)
- {
- // always listen on LocalHost
- LOG(VB_GENERAL, LOG_DEBUG,
- QString("Adding IPv6 loopback to address list."));
- naList_6.append(*qnai);
- if (!v6IsSet && (config_v6 == ip))
+ naList_6.append(*qnai);
v6IsSet = true;
- }
- else if (config_v6.isNull() &&
- (ip.protocol() == QAbstractSocket::IPv6Protocol))
- {
- bool linklocal = false;
- if (ip.isInSubnet(QHostAddress::parseSubnet("fe80::/10")))
+ }
+
+ else if (ip == QHostAddress::LocalHostIPv6)
{
- // Link-local address, find its scope ID (interface name)
- QNetworkAddressEntry ae = *qnai;
- QHostAddress ha = ip;
- ha.setScopeId(qni->name());
- ae.setIp(ha);
- naList_6.append(ae);
- linklocal = true;
+ // always listen on LocalHost
+ LOG(VB_GENERAL, LOG_DEBUG,
+ QString("Adding IPv6 loopback to address list."));
+ naList_6.append(*qnai);
+ if (!v6IsSet && (config_v6 == ip))
+ v6IsSet = true;
}
- else
+
+ else if (ip.isInSubnet(kLinkLocal6) && allowLinkLocal)
+ {
+ // optionally listen on linklocal
+ // the next clause will enable it anyway if no IP address
+ // has been set
+ LOG(VB_GENERAL, LOG_DEBUG,
+ QString("Adding link-local '%1' to address
list.")
+ .arg(ip.toString()));
+ naList_6.append(*qnai);
+ }
+
+ else if (config_v6.isNull())
{
+ if (ip.isInSubnet(kLinkLocal6))
+ LOG(VB_GENERAL, LOG_DEBUG,
+ QString("Adding link-local '%1' to address
list.")
+ .arg(PRETTYIP_(ip)));
+ else
+ LOG(VB_GENERAL, LOG_DEBUG,
+ QString("Adding '%1' to address list.")
+ .arg(PRETTYIP_(ip)));
+
naList_6.append(*qnai);
}
- LOG(VB_GENERAL, LOG_DEBUG,
- QString("Adding%1 '%2' to address list.")
- .arg(linklocal ? " link-local" : "")
- .arg(PRETTYIP_(ip)));
+
+ else
+ LOG(VB_GENERAL, LOG_DEBUG, QString("Skipping address: %1")
+ .arg(PRETTYIP_(ip)));
}
#endif
- else
- LOG(VB_GENERAL, LOG_DEBUG, QString("Skipping address: %1")
- .arg(PRETTYIP_(ip)));
}
}
diff --git a/mythtv/libs/libmythtv/firewirerecorder.cpp
b/mythtv/libs/libmythtv/firewirerecorder.cpp
index 9caa28e..fbb5ed0 100644
--- a/mythtv/libs/libmythtv/firewirerecorder.cpp
+++ b/mythtv/libs/libmythtv/firewirerecorder.cpp
@@ -210,6 +210,7 @@ bool FirewireRecorder::PauseAndWait(int timeout)
{
LOG(VB_RECORD, LOG_INFO, LOC +
QString("PauseAndWait(%1) -- unpause").arg(timeout));
+ paused = false;
StartStreaming();
unpauseWait.wakeAll();
}
diff --git a/mythtv/libs/libmythtv/streamhandler.cpp
b/mythtv/libs/libmythtv/streamhandler.cpp
index 2b0a7b6..fbe9399 100644
--- a/mythtv/libs/libmythtv/streamhandler.cpp
+++ b/mythtv/libs/libmythtv/streamhandler.cpp
@@ -26,9 +26,15 @@ StreamHandler::StreamHandler(const QString &device) :
StreamHandler::~StreamHandler()
{
- if (!_stream_data_list.empty())
+ QMutexLocker locker(&_add_rm_lock);
+
{
- LOG(VB_GENERAL, LOG_ERR, LOC + "dtor & _stream_data_list not
empty");
+ QMutexLocker locker2(&_listener_lock);
+ if (!_stream_data_list.empty())
+ {
+ LOG(VB_GENERAL, LOG_ERR, LOC +
+ "dtor & _stream_data_list not empty");
+ }
}
// This should never be triggered.. just to be safe..
@@ -41,6 +47,8 @@ void StreamHandler::AddListener(MPEGStreamData *data,
bool needs_buffering,
QString output_file)
{
+ QMutexLocker locker(&_add_rm_lock);
+
LOG(VB_RECORD, LOG_INFO, LOC + QString("AddListener(0x%1) -- begin")
.arg((uint64_t)data,0,16));
if (!data)
@@ -93,6 +101,8 @@ void StreamHandler::AddListener(MPEGStreamData *data,
void StreamHandler::RemoveListener(MPEGStreamData *data)
{
+ QMutexLocker locker(&_add_rm_lock);
+
LOG(VB_RECORD, LOG_INFO, LOC + QString("RemoveListener(0x%1) -- begin")
.arg((uint64_t)data,0,16));
if (!data)
@@ -158,12 +168,6 @@ void StreamHandler::Start(void)
while (!_running && !_error && _running_desired)
_running_state_changed.wait(&_start_stop_lock, 100);
- if (!_running_desired)
- {
- LOG(VB_GENERAL, LOG_WARNING, LOC +
- "Programmer Error: Stop called before Start finished");
- }
-
if (_error)
{
LOG(VB_GENERAL, LOG_WARNING, LOC + "Start failed");
@@ -175,17 +179,9 @@ void StreamHandler::Stop(void)
{
QMutexLocker locker(&_start_stop_lock);
- do
- {
- SetRunningDesired(false);
- while (!_running_desired && _running)
- _running_state_changed.wait(&_start_stop_lock, 100);
- if (_running_desired)
- {
- LOG(VB_GENERAL, LOG_WARNING, LOC +
- "Programmer Error: Start called before Stop finished");
- }
- } while (_running_desired);
+ SetRunningDesired(false);
+ while (_running)
+ _running_state_changed.wait(&_start_stop_lock, 100);
wait();
}
diff --git a/mythtv/libs/libmythtv/streamhandler.h
b/mythtv/libs/libmythtv/streamhandler.h
index 1db0584..8f97cdb 100644
--- a/mythtv/libs/libmythtv/streamhandler.h
+++ b/mythtv/libs/libmythtv/streamhandler.h
@@ -45,7 +45,9 @@ class PIDInfo
typedef QMap<uint,PIDInfo*> PIDInfoMap;
// locking order
-// _pid_lock -> _listener_lock -> _start_stop_lock
+// _pid_lock -> _listener_lock
+// _add_rm_lock -> _listener_lock
+// -> _start_stop_lock
class StreamHandler : protected MThread, public DeviceReaderCB
{
@@ -101,6 +103,8 @@ class StreamHandler : protected MThread, public DeviceReaderCB
bool _needs_buffering;
bool _allow_section_reader;
+ QMutex _add_rm_lock;
+
mutable QMutex _start_stop_lock;
volatile bool _running_desired;
volatile bool _error;
diff --git a/mythtv/libs/libmythtv/subtitlescreen.cpp
b/mythtv/libs/libmythtv/subtitlescreen.cpp
index 9ec70e9..43dc711 100644
--- a/mythtv/libs/libmythtv/subtitlescreen.cpp
+++ b/mythtv/libs/libmythtv/subtitlescreen.cpp
@@ -922,7 +922,8 @@ void FormattedTextSubtitle::InitFromCC608(vector<CC608Text*>
&buffers,
CC708CharacterAttribute attr(isItalic, isBold, isUnderline,
clr[min(max(0, color), 7)],
useBackground);
- FormattedTextChunk chunk(captionText, attr, parent);
+ FormattedTextChunk chunk(captionText, attr, parent,
+ cc->teletextmode);
line.chunks += chunk;
LOG(VB_VBI, LOG_INFO,
QString("Adding cc608 chunk (%1,%2): %3")
@@ -1089,6 +1090,7 @@ bool FormattedTextChunk::Split(FormattedTextChunk &newChunk)
QString("Failed to split chunk '%1'").arg(text));
return false;
}
+ newChunk.isTeletext = isTeletext;
newChunk.parent = parent;
newChunk.format = format;
newChunk.text = text.mid(lastSpace + 1).trimmed() + ' ';
@@ -1119,6 +1121,8 @@ QString FormattedTextChunk::ToLogString(void) const
.arg(format.boldface);
str += QString("font=%1 ").arg(format.font_tag);
str += QString(" text='%1'").arg(text);
+ if (isTeletext)
+ str += " DEPRECATED_608_TELETEXT";
return str;
}
diff --git a/mythtv/libs/libmythtv/subtitlescreen.h
b/mythtv/libs/libmythtv/subtitlescreen.h
index 44b3f6a..8821dff 100644
--- a/mythtv/libs/libmythtv/subtitlescreen.h
+++ b/mythtv/libs/libmythtv/subtitlescreen.h
@@ -110,11 +110,11 @@ class FormattedTextChunk
{
public:
FormattedTextChunk(const QString &t, CC708CharacterAttribute formatting,
- SubtitleScreen *p)
- : text(t), format(formatting), parent(p)
+ SubtitleScreen *p, bool teletext = false)
+ : text(t), format(formatting), parent(p), isTeletext(teletext)
{
}
- FormattedTextChunk(void) : parent(NULL) {}
+ FormattedTextChunk(void) : parent(NULL), isTeletext(false) {}
QSize CalcSize(float layoutSpacing = 0.0f) const
{
@@ -130,6 +130,7 @@ class FormattedTextChunk
QString text;
CC708CharacterAttribute format;
SubtitleScreen *parent; // where fonts and sizes are kept
+ bool isTeletext;
};
class FormattedTextLine
diff --git a/mythtv/programs/mythbackend/main_helpers.cpp
b/mythtv/programs/mythbackend/main_helpers.cpp
index 5017af4..28d5a4a 100644
--- a/mythtv/programs/mythbackend/main_helpers.cpp
+++ b/mythtv/programs/mythbackend/main_helpers.cpp
@@ -405,7 +405,7 @@ int handle_command(const MythBackendCommandLineParser &cmdline)
return (ok) ? GENERIC_EXIT_OK : GENERIC_EXIT_CONNECT_ERROR;
}
- if (!cmdline.toBool("printexpire"))
+ if (cmdline.toBool("printexpire"))
{
expirer = new AutoExpire();
expirer->PrintExpireList(cmdline.toString("printexpire"));
diff --git a/mythtv/themes/defaultmenu/mainmenu.xml
b/mythtv/themes/defaultmenu/mainmenu.xml
index 1c72a92..b747575 100644
--- a/mythtv/themes/defaultmenu/mainmenu.xml
+++ b/mythtv/themes/defaultmenu/mainmenu.xml
@@ -41,6 +41,7 @@
<text>Setup</text>
<description>Configure MythTV and plugins</description>
<action>MENU main_settings.xml</action>
+ <password>SetupPinCode</password>
</button>
</mythmenu>
Index: ChangeLog
===================================================================
RCS file: /cvs/free/rpms/mythtv/EL-6/ChangeLog,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ChangeLog 6 Jul 2012 18:13:11 -0000 1.1
+++ ChangeLog 26 Aug 2012 12:02:38 -0000 1.2
@@ -1,530 +1,129 @@
-commit 1d41f74720f0c89ef73e25fe7586e33caf946802
-Author: Jim Stichnoth <jstichnoth(a)mythtv.org>
-Date: Fri Jun 22 16:32:27 2012 -0700
-
- Allow visualizations to be turned on during playback.
-
- In particular, allow the Audio>Visualizations submenu to appear in the
- Playback OSD menu.
- (cherry picked from commit 85e3a38349713330d30628dfeb33059b8d9c60bf)
-
-commit 6ae8bec70b17027f858793da48f1227adabd2d38
-Author: Stuart Morgan <smorgan(a)mythtv.org>
-Date: Thu Jul 5 00:02:08 2012 +0100
-
- Fix a bug resulting in multiple copies of the same track being inserted into the
database
-
-commit 11d7795503b869aeb09b66d55f0430fcf504f924
-Author: Stuart Morgan <smorgan(a)mythtv.org>
-Date: Wed Jul 4 20:03:11 2012 +0100
-
- Protect the reschedule queue with a seperate lock to fix a backend deadlock.
-
- Fixes a deadlock in mythbackend caused when a reschedule request occurs
- immedately prior to a recording starting.
-
- The recorder thread locks the scheduler when starting a recording. The pending
- reschedule request handled in the event loop waits for the scheduler lock to be
- released blocking the event loop. The backend is now stopped from handling any
- further events or protocol requests, meanwhile the recorder is waiting on
- events to be processed before it will release the lock resulting in an
- irrecoverable deadlock (or hang) and the failure of the recording.
-
- This deadlock was more likely to be triggered for users of EIT because it will
- ask for a reschedule every 5 minutes in addition to any reschedules triggered
- through other means.
-
- Refs #10771
-
-commit 48ac7cfb51e82c3ddbaab489810b560fb8271531
-Author: Stuart Morgan <smorgan(a)mythtv.org>
-Date: Wed Jul 4 19:42:15 2012 +0100
-
- Revert "Protect the reschedule queue with a seperate lock to fix a backend
deadlock."
-
- This reverts commit 5eb97790f3c36f9d2524275e545189cafda9d48a.
-
- While this seems to work well in master, it appears to make the
- situation worse in 0.25 and I really don't have the time to figure out
- why. Anyone experiencing the pre-existing deadlock will need to
- upgrade to 0.26 when it's released. Refs #10771
-
-commit 67522d8a9ddfef6512a9d1f0a75f0f1cfef72e0e
-Author: Gavin Hurlbut <ghurlbut(a)mythtv.org>
-Date: Tue Jul 3 23:50:23 2012 -0700
-
- Reworked all of the NOAA/NWS Weather Scripts
-
- Seems
weather.gov has moved the urls for nearly all their data services. On
- top of that, the SOAP response is gzip encoded by default, and SOAP::Lite is
- stupid and can't handle it. Also, we were missing the Units parameter which
- is now required.
-
- Fixes #10821
- (cherry picked from commit b8a78aeb35167a676a7e25c342a1869e8016d76a)
-
-commit 1282eb3fa007911f34aee70f1f0b8dadbd8918c6
-Author: Gavin Hurlbut <ghurlbut(a)mythtv.org>
-Date: Sun Jul 1 22:50:07 2012 -0700
-
- Minor formatting, plus add back the bufferMutex
-
-commit 0969941c7706067560d94002712be9b2fbc076f8
-Merge: 65913e7 199342e
-Author: Gavin Hurlbut <ghurlbut(a)mythtv.org>
-Date: Sun Jul 1 22:45:31 2012 -0700
-
- Merge remote branch 'glidos/fixes/0.25' into fixes/0.25
-
-commit 65913e707c404abbba89274a78feefa24c4d658c
-Author: Stuart Morgan <smorgan(a)mythtv.org>
-Date: Fri Jun 29 23:37:28 2012 +0100
-
- Fix incorrect cast causing loss of integer precision in RingBuffer
- (cherry picked from commit 7aea3131a8801c09617012d3e892ec4fa68f626a)
-
-commit 5eb97790f3c36f9d2524275e545189cafda9d48a
-Author: Stuart Morgan <smorgan(a)mythtv.org>
-Date: Fri Jun 29 13:28:45 2012 +0100
-
- Protect the reschedule queue with a seperate lock to fix a backend deadlock.
-
- Fixes a deadlock in mythbackend caused when a reschedule request occurs
- immedately prior to a recording starting.
-
- The recorder thread locks the scheduler when starting a recording. The pending
- reschedule request handled in the event loop waits for the scheduler lock to be
- released blocking the event loop. The backend is now stopped from handling any
- further events or protocol requests, meanwhile the recorder is waiting on
- events to be processed before it will release the lock resulting in an
- irrecoverable deadlock (or hang) and the failure of the recording.
-
- This deadlock was more likely to be triggered for users of EIT because it will
- ask for a reschedule every 5 minutes in addition to any reschedules triggered
- through other means.
-
- Refs #10771
-
- Backported from master 788bc510ede427e43e77e8aaf53d8cf047d89b46
-
-commit 5b843c1287e546a7d49f59b3ae911c17279c43f5
-Author: David Engel <dengel(a)mythtv.org>
-Date: Wed Jun 27 17:06:49 2012 -0500
-
- Don't create a watch list for the "Deleted" recording group.
-
- Fixes #10854.
-
- (cherry picked from commit 22ed71e4d9eeddccae0e1b4f40321e3f624e7b4e)
-
-commit a3f400ebeb43dcaf31ba11ba742e4731e6dae20b
-Author: Daniel Thor Kristjansson <dkristjansson(a)mythtv.org>
-Date: Tue Jun 26 13:23:41 2012 -0400
-
- Clean up deferred deletes MThreadPool.
-
- In case someone uses QObject::deleteLater() within a QRunnable
- passed to MThreadPool, this adds a cleanup of those when done
- with the QRunnable.
-
-commit 25dd4ce330e7b36d1c8e5e14d94a4dcdcd4cd021
-Author: Stuart Morgan <smorgan(a)mythtv.org>
-Date: Mon Jun 25 11:43:28 2012 +0100
-
- Move QUERY_FILETRANSFER handling to improve backend performance.
-
- This significantly reduces the backend CPU usage for me when streaming a
- recording or other file to the frontend.
-
- Each time we send a command to the backend we perform a number of string
- comparisons to find the correct handler. In the cases where that same command
- is sent regularly, maybe several times a second those comparisons can stack up
- to result in a high CPU load. This can be avoided by moving the most frequently
- used commands to the top of the list thereby avoiding a couple of dozen or more
- comparisons each time.
-
- There may be other commands that should be moved to the top with similar
- benefit.
- (cherry picked from commit 529853d11587ebee0b77753272d6dcc1a5404a11)
-
-commit ce8f9e25a627d4b164361a5328c3e013dd68476e
-Author: Stuart Morgan <smorgan(a)mythtv.org>
-Date: Sun Jun 24 10:36:28 2012 +0100
-
- Following Freesats switch from Astra 2D to Astra 1G update the transport ids
associated with Freesat EIT fixups
- (cherry picked from commit 0312ff912a743178f2ef54967866b42c894d7c4b)
-
-commit 73bc45e0e3d4bf5c137bd57b091bd4a23d0bce8d
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Thu Jun 21 01:39:44 2012 -0400
-
- Add Genre list and associated Movie search
- (cherry picked from commit 6e7725de7d8507c3675aa89b17a49da06abc7cc2)
-
-commit 97f8819df59cba6b7b522ac71bfc46aa09b17527
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Thu Jun 21 01:11:56 2012 -0400
-
- Add Studio search method.
- (cherry picked from commit c2bb6aee239e1e53ba95da232ed84ee5da21685b)
-
-commit 42b63d3ae53d8bd31fff7331a54b3cae093825b2
+commit 46cab93562429cd19029402a2387f63a72aeb898
Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Thu Jun 21 01:43:59 2012 -0400
+Date: Tue Jul 31 14:21:22 2012 -0400
- Add TMDBv3 file missed during previous backports.
+ Correct --printexpire option in mythbackend.
+
+ This corrects logic that was accidentally inverted in 8bc8dd54, and
+ allows `mythbackend --printexpire` to be used again.
+ (cherry picked from commit a9f18c63bfb23494ee83a8ba76d82fc320617067)
-commit 6aa7fbe106dbf88c2c067a0184a52d814cef1978
+commit 8ab229a8bed860fb0855797c683655a7465e2ee4
+Merge: a4cdc9e 1c496c8
Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Wed Jun 20 04:18:37 2012 -0400
+Date: Tue Jul 31 14:22:32 2012 -0400
- Changes seconds to milliseconds in poller loop.
-
- This corrects the timeout duration in the poller loop used to read data
- from external programs. Code was written assuming timeouts in floating
- point seconds, while poll() API takes milliseconds. Ahh.. consistency..
-
- Fixes #10837
- (cherry picked from commit 76433930fed60342a4b2929c6ff94a8413673e5b)
+ Merge branch 'fixes/0.25' of code.mythtv.org:mythtv into fixes/0.25
-commit effb32be550172b9341e17b493d209e468c5be17
-Author: Daniel Thor Kristjansson <danielk(a)cuymedia.net>
-Date: Sat Jun 16 14:22:48 2012 -0400
+commit 1c496c81662eabda444452071eb18f2fd375d4d0
+Author: Kyle <klillis(a)gmail.com>
+Date: Mon Jul 30 13:34:11 2012 -0400
- Match Lock with Unlock in OutboundRequestHandler::DoConnectToMaster() socket error
handling code.
+ Fixes #10897. Clear paused when we unpause FirewireRecorder.
- This was fixed in [f2a0d748] in trunk.
+ Signed-off-by: Daniel Thor Kristjansson <danielk(a)cuymedia.net>
-commit 67883dde998c45ad587a3f687c8e86507ffe324a
+commit 9c199a42258f2a19dd1c8d3b934e6eb04f1757ce
Author: Daniel Thor Kristjansson <dkristjansson(a)mythtv.org>
-Date: Wed Jun 6 13:24:29 2012 -0400
-
- Fixes #10685. Handle job queue properly for back-to-back recordings.
+Date: Tue Jul 24 12:13:16 2012 -0400
-commit 35c3c97b70c987dc77dff06b16862abac3aa51b1
-Author: Daniel Thor Kristjansson <danielk(a)cuymedia.net>
-Date: Sat Jun 16 14:15:57 2012 -0400
-
- Fix use of deleted socket in MythCoreContext::ConnectEventSocket()
+ Fixes #10870. Fix Start/Stop race condition in StreamHandler.
- This was fixed in [f2a0d748] in trunk.
-
-commit 3a9dea901cd46ac240c022bbeee79841f738042d
-Author: Daniel Kristjansson <danielk(a)cuymedia.net>
-Date: Mon May 28 12:02:16 2012 -0400
-
- Refs #10712. Add error checking, proper formatting, and improve debugging of previous
commit.
-
-commit 18e0f2fd2d6b5b7724e8df0ee893817e192a4903
-Author: Simon Sinister <simon.sinister(a)sbcglobal.net>
-Date: Mon May 28 11:50:53 2012 -0400
-
- Fixes #10712. Add support for HDHR Prime without CableCard.
+ This is a backport of [445faaa47].
-commit 05839fa0dd4c521affb811282d640e628230b40b
-Author: Daniel Kristjansson <danielk(a)cuymedia.net>
-Date: Mon May 28 11:46:59 2012 -0400
-
- Use correct RecordingInfo* in FinishedRecording()'s SendMythSystemRecEvent().
-
-commit 1555f0381252a7231e655efa351c3931d3caa595
-Author: Daniel Thor Kristjansson <danielk(a)cuymedia.net>
-Date: Sat Jun 9 13:46:32 2012 -0400
+commit a72e341a4653a1b683b7ae5ac87bcaa3092d20fa
+Author: Stuart Morgan <smorgan(a)mythtv.org>
+Date: Sun Jul 29 12:42:41 2012 +0100
- Define USING_MINGW when building programs with MinGW
+ Restore setup pincode following [57adc5d120] - 'Flatten the Setup Menus in the
default menu theme' which dropped util_menu.xml but failed to carry over the
<password> markup.
+ (cherry picked from commit 134417fe3bf7170f3419d2388a6c26afe16c4927)
-commit 6a9af0260bf4d7c80e77a7889e999c4f0bb91867
+commit 3256849b14cc882536a153e7fbe4724adf03260c
Author: Jim Stichnoth <jstichnoth(a)mythtv.org>
-Date: Fri Jun 15 11:18:23 2012 -0700
+Date: Tue Jul 24 10:56:15 2012 -0700
- Subtitles: Be less aggressive about auto-selecting a forced track.
-
- 1. Don't favor a forced subtitle track if DefaultCCMode=1 (i.e., the
- user already wants subtitles or captions which are likely to also
- contain the force subtitles).
-
- 2. Don't favor a forced subtitle track if AllowForcedSubtitles=0
- (i.e., the user doesn't want to be inflicted with forced subtitles).
-
- 3. Only favor a forced track if it is a subtitle track. (Do any other
- track types ever have the forced flag set?)
-
- Note that this still may not be perfect, e.g. a user may end up
- auto-displaying cc608 captions where a forced subtitle track is still
- needed for the complete experience.
-
- Refs #10808
- (cherry picked from commit 689a7b5d526099c2ec533701625ae62ddbba6d44)
+ Subtitles: backport some code to enable cc608 TT deprecation log message.
-commit 3b41cb7ae550bf0cf58cad8fe814d6bd7c03df0f
+commit 39fad46248bbcbe5ab27068e73fb7c5a91bc155b
Author: Jim Stichnoth <jstichnoth(a)mythtv.org>
-Date: Fri Jun 15 07:07:04 2012 -0700
-
- Subtitles: Favor forced tracks for auto-track selection. Refs #10808
-
- For first-time auto-track selection, we put highest priority on forced
- tracks, second priority on user language preference, and third
- priority on track order.
-
- This changes the previous behavior only by adding the forced flag to
- the criteria.
- (cherry picked from commit ea554c9cbe5fc86c4a4e301eb9f97fd90abbe7a4)
-
-commit 56fd9e2cd63c4700f90f6e0b9326d36bc38cff92
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Mon May 21 02:32:30 2012 -0400
-
- Move interactive access to separate script.
-
- This removes the interactive behavior of tmdb_api.py and places it in a
- new script. The script can be run from the source directory, but does
- not get installed with the library.
- (cherry picked from commit 76c8c518ff8dcc1206a984d2a5c12503f194870a)
-
-commit cdc03f4b09fd6a77893aa1df5948f128dd86b391
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Thu May 3 02:56:30 2012 -0400
-
- Add method to search for movies similar to current.
- (cherry picked from commit 30a0d398cc5f40487a69ddcc3beff77b09052def)
-
-commit 1c03ae068b8acb9bbde6dd439af482498e3b89ff
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Thu May 3 02:43:07 2012 -0400
+Date: Tue Jul 24 08:23:53 2012 -0700
- Clean up __repr__ methods, and impose soft 80-character line limit.
- (cherry picked from commit 676cbb1aaf9c8d19d207ec9575ffaa9665d8e710)
-
-commit c9be5e2eec12cdbfbf5556aefadb1ee63cba1160
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Thu May 3 01:12:28 2012 -0400
-
- Improve handling of invalid responses from TMDB
+ Subtitles: Put a "DEPRECATED_608_TELETEXT" message into the logs.
- When an HTML error is received from the TMDB API, this will now attempt
- to process a specific error type from the returned JSON. If no error
- type is given, or the resposnse was not JSON, it will raise the previous
- TMDBHTTPError.
- (cherry picked from commit 7425634d7b92f8bbe9abdc8b50c4148c96c87f40)
-
-commit f7f76e55b0ff198d19b3dce2474f98f934717a48
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Tue May 1 15:50:44 2012 -0400
-
- Use `date` rather than `datetime` for storing dates.
- (cherry picked from commit c2ef5d143f1bfc9931ef9f7487fda3b93780fe8f)
-
-commit e900fa37b2680d79cf26096a89555a31121b00f2
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Mon Apr 30 20:07:29 2012 -0400
-
- Correct file cache error handling to ignore rather than raise errors.
- (cherry picked from commit 27dff377fe6612b870a4cf28b9c058567be1a3bb)
-
-commit d590289d80ffffc792b4e386f1f2bbbcea3478dc
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Mon Apr 30 16:50:20 2012 -0400
-
- Use `date` type rather than `datetime` for 'releasedate attribute'.
- (cherry picked from commit 5b86d8bb95c69205d8669bb23c30ccd6b8514c4b)
-
-commit 5f5ca21fbd51ec0771034abc45e1b607c0b8db50
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Mon Apr 30 16:49:57 2012 -0400
-
- Bypass aborts resulting from attempting to process empty strings.
- (cherry picked from commit aa0e26f1abc7370d8840abdfd8ced2fdf2ef76f7)
+ Support for CEA-608 teletext captions is to be removed. Allow users
+ to check whether they would be affected. Refs #10786.
+ (cherry picked from commit 7b1aef85ec92658acb91c1ff019aed909e5df30a)
-commit 7563f810ae017226023b476b7a5d0f9d863aa3f3
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Mon Apr 30 02:12:12 2012 -0400
+commit 9e0d839be7667056dc65b79711dda84159a1b13d
+Author: Stuart Morgan <smorgan(a)mythtv.org>
+Date: Tue Jul 24 14:11:47 2012 +0100
- Correct missed changes in __init__.py
- (cherry picked from commit 361e06851f02f5a70f554fcee0890a7a37e6ad95)
+ Set m_cdWatcher to NULL after deletion, fixes segfault on exiting frontend. Fixes
#10936
+ (cherry picked from commit de851dd273eaa80689a427f915c7db40d015e0ba)
-commit b277cc3bd8a723c2621e80d0d9506a46c7f5ca9a
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Mon Apr 30 01:59:11 2012 -0400
+commit 10a68895e1fcd5c409058d2eb61fe59e78736235
+Author: Stuart Morgan <smorgan(a)mythtv.org>
+Date: Sun Jul 22 23:24:40 2012 +0100
- Add adult filter for people searches
- (cherry picked from commit b28c566ef2b6a6379821bcc9023f84cba04b4e05)
+ Fix segfault after music scan completes.
+ (cherry picked from commit b2379ae9b8d42c23c3feee26b52a1f0a2ebef394)
-commit 81dabbc40b0b3fdc1b542a9d7fe9da74f0fbbefd
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Sat Apr 14 18:26:59 2012 -0400
+commit ed58b3a818a1796340ba0f085a53159eb1d52266
+Author: Stuart Morgan <smorgan(a)mythtv.org>
+Date: Sat Jul 21 23:53:41 2012 +0100
- Add assorted authenticated methods.
+ Fix for Synaesthesia memory corruption
- This adds methods for setting ratings and favorite status against
- movies, as well as pulling lists of movies for which those have been
- set. This adds a bypass in the cache to not operate on anything with a
- lifetime of '0'.
- (cherry picked from commit fb7c7cd3dfd4692e6c5acc61f0d2fd927b04d50e)
-
-commit 9439a827f3c1178ad33a81a326d5e0ed87cdca31
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Sat Apr 14 17:31:20 2012 -0400
-
- Add basic session handling and passthrough.
- (cherry picked from commit 3debcd531d8ed454b8ed9f4b61da6e03690ce13c)
-
-commit 1493687d26482b777d07eb02f5fda77d0b501cef
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Sat Apr 14 15:30:26 2012 -0400
-
- Corrects handling of '0' for cast ordering.
- (cherry picked from commit 500454560030795a7c914cb985c30711e302d65a)
-
-commit 59cc85156d402eb2bdd91c088d44407fb8e6df3a
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Wed Apr 11 01:28:27 2012 -0400
-
- Improve file cache performance.
+ We were allocating just half the required space and consequently
+ writing beyond the end of the array. This consistently caused
+ segfaults for me when using the Synaesthesia visualiser.
- This reworks the cache framework, and alters the file cache engine to
- support incremental writes. This allows the results from 256 queries to
- be stored before having to rewrite the file. Previously, having to
- rewrite the entire cache file on each step would take longer than
- actually querying TMDB once the cache stored more than ~100 entries.
+ This fix appears to be consistent with the code used in other projects
+ which were also derived from the original Synaesthia project.
- May be a bit fragile.
- (cherry picked from commit 23fa543ceb2690340e74d257a6bc86f817c02be6)
+ e.g. GStreamer/Source/gst-plugins-ugly/gst/synaesthesia/synaescope.c
+ (cherry picked from commit e331017f2d1ee9be82da9c0b64ca4435ec3efd1e)
-commit 2fd53643f8911e92c01fb49ca3cd2710d735831b
+commit a4cdc9e01295991056cdc8c5411e70937b1a4842
+Merge: 450ed91 f0e2ad8
Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Wed Apr 11 01:24:21 2012 -0400
+Date: Fri Jul 20 21:06:48 2012 -0400
- Fix Cache exceptions.
- (cherry picked from commit 642de961e034072eaf6342c01451b040f0b9ab3b)
+ Merge branch 'fixes/0.25' of code.mythtv.org:mythtv into fixes/0.25
-commit b0e61cffcced4170c1fe8821155a830f9f38056a
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Wed Apr 11 01:23:18 2012 -0400
-
- Remove empty space.
- (cherry picked from commit c35f455ee4bf2dbaac87f6ce2fca2f489cd2d209)
-
-commit ac4a15845876f5802ce78152543e1cb19ec9e04e
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Mon Apr 2 13:28:11 2012 -0400
-
- Adds proper encoding to strings being passed to a request.
- (cherry picked from commit e0d604111ba9f09e4f161d4280ea132e0e4a1990)
-
-commit 802d86c668bacd3e6089ad9c5c9b2cd092d344bf
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Sun Apr 1 03:14:49 2012 -0400
-
- Add slice support to search result pager.
- (cherry picked from commit 86b54a14992a24c3f727efd5247842ee2d2393c3)
-
-commit 9c3fb94c1136f270d4a02a4ff294e6484b3b7d83
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Sat Mar 31 20:14:52 2012 -0400
+commit f0e2ad85dbdd6dd4041a8b1e7d8b17e7b8746b63
+Author: Jean-Yves Avenard <jyavenard(a)mythtv.org>
+Date: Wed Jul 18 20:49:11 2012 +1000
- Update Logo() class with proper image sizes from Configuration().
- (cherry picked from commit 2198d9ef21d5aaf47550084b8904e3da73137956)
-
-commit 47b77a6bd2b17ea5962d1c78751e33305cdd1aa2
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Sat Mar 31 20:03:41 2012 -0400
-
- Correct Studio.logo processing.
- (cherry picked from commit 2e4bc644b0d2b0277a18ffa0b0e66aa18c17dfc6)
-
-commit 8ec550daa5a9a75c65b57fd5d3b62692bcb1e93b
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Sat Mar 31 19:52:53 2012 -0400
-
- Allow locale fallthrough for movie images and alternate titles.
-
- When fallthrough is enabled, queries for backdrops, posters, and
- alternate titles will not filter for the selected locale, but will
- instead sort the results to place those matching the specified locale at
- the top of the list.
+ Make AllowLinkLocal default to true
- Also resolves an issue where Request() was incorrectly passing 'None' as
- an argument when no locale was set.
- (cherry picked from commit ddc0cb0550b8de72e4ddad874ad05865b3b50c3f)
-
-commit e0462f253faf920793bb76a84869cb98b4b4a218
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Sat Mar 31 19:15:39 2012 -0400
-
- Allow Datalists to be sorted natively without supplying a key.
- (cherry picked from commit 61045e47bca155fb40ec2de47d01cd86bd28992b)
+ Signed-off-by: Jean-Yves Avenard <jyavenard(a)mythtv.org>
-commit afc068223b062e6579586d10be2f7d0d1441524d
+commit 4b82e27e6c89bac9d60c3a56f1d924979c80c746
Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Fri Mar 30 00:49:19 2012 -0400
+Date: Wed Jul 18 01:50:46 2012 -0400
- Correct cache file selection logic inverted by 4663490f8fa.
- (cherry picked from commit 75a14b7da282f15fc84819418ec845e86559eaf2)
-
-commit d750957b9b841d15d2c208e13df57e39419a1eb5
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Fri Mar 30 00:48:04 2012 -0400
-
- Update README for additional options.
- (cherry picked from commit 166655c70bb4ac340c6e559b167114f3e08bbdc0)
-
-commit a2cb6df059542bf62f627f79310e9a891d4e891d
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Fri Mar 30 00:41:31 2012 -0400
-
- Add support for additional Studio information.
- (cherry picked from commit e99630e023a6ae8033bba27528e9a3ca45e72c1e)
-
-commit ea43a7777f68d4b317138904b6e53616c10a9d52
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Thu Mar 29 23:43:12 2012 -0400
-
- Add 'adult' and 'alias' to Person class.
- (cherry picked from commit 38922793f5732d10c4dfbcf6d421d40667812675)
-
-commit 4e2e129393ecef050134d605888bfec2c565599c
-Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Thu Mar 29 14:15:19 2012 -0400
-
- Improves cache file selection for Windows.
- (cherry picked from commit 263d8680de3566f2109b76b4b1d4d2779b967d10)
+ Correct bad copy/paste in ServerPool.
+
+ Signed-off-by: Jean-Yves Avenard <jyavenard(a)mythtv.org>
-commit 631ae1075c35107d759c83fa1faa519841949397
+commit e4ba7d74aee6bd437e747772046a8836fa9ae5cb
Author: Raymond Wagner <rwagner(a)mythtv.org>
-Date: Thu Mar 29 13:36:54 2012 -0400
-
- Add __contains__ for proper lookup in cache Engines class.
- (cherry picked from commit 08bffa5f6df497f28fe3481fe80b517628b0f1a3)
-
-commit 648f0aec326c03b39091fda8ac64450d0f0e76e3
-Author: Michael T. Dean <mdean(a)mythtv.org>
-Date: Thu Jun 7 00:17:48 2012 -0400
+Date: Sat Jul 14 01:57:46 2012 -0400
- Fix exists check in mythcommflag
+ Rework IP selection so link-local is always used.
- for files that aren't visible to the master backend. Thanks to fedora a
- ready2think for the patch. Fixes #10810.
- (cherry picked from commit c5803f1dc6b1da7d77222c43ce074bb04d9bc983)
-
-commit 016db04aff2bc8c2de1d4af9d920366ed568910b
-Author: Stuart Morgan <smorgan(a)mythtv.org>
-Date: Wed Jun 6 22:05:19 2012 +0100
-
- Give more space for the channel number in the Terra OSD
- (cherry picked from commit f842d1b1f68a6b7a0933bbd7dac1e8d381fc9fee)
-
-commit 199342ef7a3fe6230a11de547b2a8df6d07dff34
-Author: Paul Gardiner <paul(a)glidos.site>
-Date: Sun May 27 11:44:30 2012 +0100
-
- Calculate timecodes more accurately (suggeseted by JYA)
+ This adds an option to mythtv-setup that makes link-local addresses
+ listened to by default. This behavior can still be disabled, to block
+ off network access.
- Also add comments explaining the algorithm.
+ Signed-off-by: Jean-Yves Avenard <jyavenard(a)mythtv.org>
-commit 34711d84919ea49221461d41566669de1500a0d8
-Author: Paul Gardiner <paul(a)glidos.site>
-Date: Fri May 4 17:09:57 2012 +0100
+commit 450ed915d3a13b84489ecdebdad6fca18fc8c312
+Author: GDragon <gdragon(a)jetcom.org>
+Date: Mon Jul 9 15:33:31 2012 -0400
- Fix passthrough case of mythtrancode running in fifo mode
+ Properly set job type in fromProgram and fromRecorded methods.
- Also simplify AudiReencodeBuffer::AddData()
+ Signed-off-by: Raymond Wagner <rwagner(a)mythtv.org>
+ (cherry picked from commit 868a566c1d635be3e60f83438f87b6f21d9f1780)
Index: mythbackend.service
===================================================================
RCS file: /cvs/free/rpms/mythtv/EL-6/mythbackend.service,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythbackend.service 6 Jul 2012 18:13:11 -0000 1.1
+++ mythbackend.service 26 Aug 2012 12:02:38 -0000 1.2
@@ -28,19 +28,38 @@
# The MythTV package ships with a default udev
# rule file located in: /lib/udev/rules.d/99-mythbackend.rules
-
[Unit]
Description=MythTV backend service
-After=network.target mysqld.service
-# uncomment the following line if you will be using the mythweb plugin.
+After=network.target mysqld.service time-sync.target
+# Uncomment the following line if you will be using the mythweb plugin on the
+# same system as mythbackend.
#Wants=httpd.service
[Service]
+# Type=simple is recommended. If using Type=forking you will need to specify a
+# pidfile so systemd knows how to find the forked process PID, otherwise it
+# presumes that the process being started will be the remaining process.
+#Type=forking
Type=simple
+
+# Default setting assumes a system wide install. Otherwise it should be set to
+# the folder containing the .mythtv subfolder containing the config.xml file
Environment=MYTHCONFDIR=/etc/mythtv
-Environment=HOME=/usr/share/mythtv
+
+# systemd changes execution from the calling user (possibly root) to this user
+# if you have permissions problems or obscure errors try logging in as mythtv
User=mythtv
+
+# Uncomment one of the following...
+# Use sysloging rather than separate logging:
+#ExecStart=/usr/bin/mythbackend --syslog local7
+# If Type=forking is set you must specify the --daemon and --pidfile options:
+#ExecStart=/usr/bin/mythbackend --daemon --logpath /var/log/mythtv --loglevel crit
--pidfile /run/mythbackend.pid
+# Default setting for Type=simple.
ExecStart=/usr/bin/mythbackend --logpath /var/log/mythtv
+# Whether systemd will continue over-watch and restart on any halt
+#Restart=Restart-always
+
[Install]
WantedBy=multi-user.target
Index: mythtv.spec
===================================================================
RCS file: /cvs/free/rpms/mythtv/EL-6/mythtv.spec,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- mythtv.spec 6 Jul 2012 18:11:28 -0000 1.87
+++ mythtv.spec 26 Aug 2012 12:02:38 -0000 1.88
@@ -60,13 +60,12 @@
# Git revision and branch ID
# 0.25 release: git tag v0.25.1
-%define _gitrev c2c276d
+%define _gitrev v0.25.2-15-g46cab93
+%define branch fixes/0.25
# Mythtv and plugins from
github.com
-%global githash1 gc2c276d
-%global githash2 4c30a85
-
-%define branch fixes/0.25
+%global githash1 g4e44650
+%global githash2 19087cb
#
# Basic descriptive tags for this package:
@@ -77,12 +76,12 @@
Group: Applications/Multimedia
# Version/Release info
-Version: 0.25.1
+Version: 0.25.2
%if "%{branch}" == "master"
Release: 0.1.git.%{_gitrev}%{?dist}
#Release: 0.1.rc1%{?dist}
%else
-Release: 1%{?dist}
+Release: 2%{?dist}
%endif
# The primary license is GPLv2+, but bits are borrowed from a number of
@@ -135,7 +134,12 @@
#
https://github.com/MythTV/mythtv/tarball/v0.25
Source0: MythTV-%{name}-v%{version}-0-%{githash1}.tar.gz
-Patch0: mythtv-0.25.1-fixes.patch
+Patch0: mythtv-0.25.2-fixes.patch
+
+# Fixes for PHP 5.4
+Patch1: mythtv-0.25.1-php54.patch
+# Adapative HLS profile based on resolution.
+Patch2: mythtv-0.25.1-hls_profile.patch
Source10: PACKAGE-LICENSING
Source11: ChangeLog
@@ -509,7 +513,7 @@
Requires: perl(XML::Simple)
Requires: mythtv-common = %{version}-%{release}
Requires: mythtv-base-themes = %{version}
-Requires: python-MythTV python-lxml
+Requires: python-MythTV
Provides: mythtv-frontend-api = %{mythfeapiver}
Obsoletes: mythvideo < %{version}-%{release}
Provides: mythvideo = %{version}-%{release}
@@ -617,6 +621,7 @@
Requires: MySQL-python
Requires: PyXML
+Requires: python-lxml
%description -n python-MythTV
Provides a python-based interface to interacting with MythTV.
@@ -806,6 +811,8 @@
fi
%patch0 -p1 -b .mythtv
+%patch1 -p1 -b .php54
+%patch2 -p1 -b .hls_profile
# Install ChangeLog
install -m 0644 %{SOURCE11} .
@@ -828,14 +835,14 @@
cp -a %{SOURCE10} .
cp -a %{SOURCE106} %{SOURCE107} %{SOURCE108} %{SOURCE109} .
+# Make sure we use -O2 and not -O3
+ sed -i '/speed_cflags=/d' configure
+
# Prevent all of those nasty installs to ../../../../../bin/whatever
# echo "QMAKE_PROJECT_DEPTH = 0" >> mythtv.pro
# echo "QMAKE_PROJECT_DEPTH = 0" >> settings.pro
# chmod 644 settings.pro
-# We also need Xv libs to build XvMCNVIDIA
-# sed -i -e
's,VENDOR_XVMC_LIBS="-lXvMCNVIDIA",VENDOR_XVMC_LIBS="-lXvMCNVIDIA
-lXv",' configure
-
popd
@@ -1213,10 +1220,7 @@
%doc mythtv/contrib
%files common
-%dir %{_sysconfdir}/mythtv
%dir %{_datadir}/mythtv
-%config(noreplace) %{_sysconfdir}/mythtv/mysql.txt
-%config(noreplace) %{_sysconfdir}/mythtv/config.xml
%{_bindir}/mythccextractor
%{_bindir}/mythcommflag
%{_bindir}/mythmetadatalookup
@@ -1228,6 +1232,10 @@
%{_datadir}/mythtv/locales/
%{_datadir}/mythtv/metadata/
%{_datadir}/mythtv/hardwareprofile/
+%attr(-,mythtv,mythtv)
+%dir %{_sysconfdir}/mythtv
+%config(noreplace) %{_sysconfdir}/mythtv/mysql.txt
+%config(noreplace) %{_sysconfdir}/mythtv/config.xml
%files backend
%{_bindir}/mythbackend
@@ -1285,7 +1293,7 @@
%{_datadir}/pixmaps/myth*.png
%{_datadir}/mythtv/metadata/
# Myth Video is now Video Gallery
-%attr(-,mythtv,mythtv) %{_localstatedir}/lib/mythvideo
+%attr(0775,mythtv,mythtv) %{_localstatedir}/lib/mythvideo
%files base-themes
%{_datadir}/mythtv/themes/
@@ -1357,7 +1365,7 @@
%doc mythplugins/mythgallery/README
%{_libdir}/mythtv/plugins/libmythgallery.so
%{_datadir}/mythtv/i18n/mythgallery_*.qm
-%attr(-,mythtv,mythtv) %{_localstatedir}/lib/pictures
+%attr(0775,mythtv,mythtv) %{_localstatedir}/lib/pictures
%endif
%if %{with_mythgame}
@@ -1379,7 +1387,7 @@
%doc mythplugins/mythmusic/COPYING
%doc mythplugins/mythmusic/README
%{_libdir}/mythtv/plugins/libmythmusic.so
-%{_localstatedir}/lib/mythmusic
+%attr(0775,mythtv,mythtv) %{_localstatedir}/lib/mythmusic
%{_datadir}/mythtv/musicmenu.xml
%{_datadir}/mythtv/music_settings.xml
%{_datadir}/mythtv/i18n/mythmusic_*.qm
@@ -1433,6 +1441,18 @@
%changelog
+* Sat Aug 25 2012 Richard Shaw <hobbes1069(a)gmail.com> - 0.25.2-2
+- Update to latest fixes/0.25.
+- Fix mythbackend looking in the wrong directory for config.xml (BZ#2450).
+
+* Mon Jul 16 2012 Richard Shaw <hobbes1069(a)gmail.com> - 0.25.2-1
+- Patch HLS for adapative x264 profile.
+- Make sure mythbackend starts after time has synced.
+- Update to latest fixes/0.25.
+
+* Fri Jul 06 2012 Richard Shaw <hobbes1069(a)gmail.com> - 0.25.1-2
+- Patch for PHP 5.4 warnings.
+
* Tue Jun 05 2012 Richard Shaw <hobbes1069(a)gmail.com> - 0.25.1-1
- Update to latest fixes/0.25.
- Move mythweb to a stand alone package.
Index: sources
===================================================================
RCS file: /cvs/free/rpms/mythtv/EL-6/sources,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- sources 6 Jul 2012 18:11:28 -0000 1.53
+++ sources 26 Aug 2012 12:02:38 -0000 1.54
@@ -1 +1 @@
-fb9dd6b59786e579237fa579d49f104c MythTV-mythtv-v0.25.1-0-gc2c276d.tar.gz
+05d3402459bf7380cf54cc6066c149a3 MythTV-mythtv-v0.25.2-0-g4e44650.tar.gz
--- mythtv-0.25.1-fixes.patch DELETED ---