Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: MythTV/mythtv
head fork: MythTV/mythtv
Commits on Apr 10, 2012
Kevon Make mythtv more compatible with GCC 4.7
Fixes #10537

Signed-off-by: Gavin Hurlbut <>
(cherry picked from commit 19a7e01)
@garybuhrmaster garybuhrmaster Fix a clang-related compile issue
Fixes #10473.

Port the mplayer yadif filter fix (revision 32437) to mythtv port to allow compile with clang

mplayer log: yadif: Explicit wordlength for compare. Fixes compile with clang.

mplayer cvslog reference:

Signed-off-by: Gavin Hurlbut <>
(cherry picked from commit ecda14d)
Commits on Apr 11, 2012
@stichnot stichnot Fixes #10566. Reverts part of 3a51b83 to improve channel changes.
The first half of 3a51b83 looks like a bug (the new condition means
the following "else if" branch is never taken).  Removing it stops
guide-based channel changes from being forced onto a different tuner.

Note: this fix exposes another problem with guide-based channel
changes - you can't switch to a different tuner in the current input
group.  Fix is in progress.
Commits on Apr 12, 2012
@Beirdo Beirdo Tweak logging around Commercial Skip -> Cutlist copying
(cherry picked from commit 73d20c4)
@ycayer ycayer Re-enable idle timer after exiting video playback. (Copy/paste error)…
…. Fixes #10582

Signed-off-by: Stuart Morgan <>
(cherry picked from commit ea953d9)
@ikke-t ikke-t Backport of c4b33d3/mythtv:
Updated Finnish MythFrontend and all plugins translation
from Ilkka Tengvall

Thank you!

Refs #10577

Signed-off-by: Nicolas Riendeau <>
Commits on Apr 13, 2012
@Beirdo Beirdo Fixed the version file 13bc14c
@stuartm stuartm Fix #10590. 'Record This' and 'Change to Channel' options not working…
… in Guide menu.

(cherry picked from commit 19efff9)
@daniel-kristjansson daniel-kristjansson Update PROJECT_NUMBER to 0.25 efada3f
Commits on Apr 14, 2012
@daniel-kristjansson daniel-kristjansson Changes VideoOutput::CalcHueBase() to return 50% by default.
This also adds some adaptors to the known list from jya.

Thanks to skd5aner, anykey and jya on IRC for their assistance with this problem.

[cherry-picked from b2657a1]

Signed-off-by: Jean-Yves Avenard <>
@daniel-kristjansson daniel-kristjansson Disable picture controls with Intel XVideo overlay adaptor.
This adaptor uses defaults that vary from the norm on more than just the hue value.
Hue variance is the only thing we allow non-standard defaults on so just disable
picture controls with this adaptor.

[cherry-picked from 0c00c0a]

Signed-off-by: Jean-Yves Avenard <>
@runeevjen runeevjen Updated Norwegian Bokmal translation update
Thank you Rune!

Closes #10599

Signed-off-by: Nicolas Riendeau <>
Commits on Apr 15, 2012
@natanojl natanojl MythNetvision: Fix segmentation fault in NetTree::showMenu
Fixes #10603

Also removed some unused code.
(cherry picked from commit ba9bcba)
@stichnot stichnot Fix Live TV channel changing when using Input Groups.
When trying to change channels (either directly or through the program
guide), an idle tuner in the same input group as the current tuner
would not be considered available.

This is fixed by adding the excluded_cardids argument to
RemoteRequestFreeRecorderList() and

Doing this the "right" way would require a protocol change for the
GET_FREE_RECORDER_LIST command.  This is better done closer to the end
of the 0.26 release cycle, so the current implementation is less
efficient and makes multiple queries.

There is also a lot of vector<> code here that could stand to be
converted to QVector<>.
(cherry picked from commit dc6a18a)
@stichnot stichnot This should really fix the osx build. Give up on QVector for now.
(cherry picked from commit 04e0d94)
@stichnot stichnot Fix a compiler warning.
(cherry picked from commit d5f22eb)
Commits on Apr 16, 2012
@sphery sphery Fix metadata options editor for multiple results.
Thanks to lomion for the patch (and apologies for the delay in applying

Fixes #10383
(cherry picked from commit ea5aa87)
@jyavenard jyavenard Make services running on the frontend and advertised through Bonjour …
…to listen to all interfaces

It was previously only listening on the address used to communicate with the backend

[cherry-picked from da49b57]
@jyavenard jyavenard Abort setting timestretch if audio hasn't been initialised yet.
When starting liveTV with timestretch already set, it would cause an uncatched exception error.
Why mythplayer is calling SetStretchFactor is a mystery to me and needs to be investigated. In the mean time, abort if the number of audio channels is invalid.

Fixes #10612

[cherry-picked from 343e658]
@jyavenard jyavenard Make libsountouch support up to 8 channels audio
[cherry-picked from 66516f3]
@wagnerrp wagnerrp Correct file hashing mechanism in Python bindings.
(cherry picked from commit 524fc85)
@wagnerrp wagnerrp Merge branch 'fixes/0.25' of into fixes/0.25 04d74fe
@wagnerrp wagnerrp Update bindings internal version. 00a2d87
Commits on Apr 17, 2012
@halovanic halovanic Fixes #10618 - serve xslt files as text/xml 6731816
@stichnot stichnot RingBuffer: Set the oldfile flag only once per live TV segment.
This is not a true fix, but may lessen the problem in fixes/0.25 until
the real solution is found.

Refs #10490.
(cherry picked from commit 2531893)
@stuartm stuartm Disable the 'guess main title' code for DVDs, it's not actually worki…
…ng at all and causes a major memory leak in libdvdnav with some DVDs

(cherry picked from commit 1237254)
@stuartm stuartm Following [1237254] populate the chapter cache _only_ for the current…
… title and not every title on the disc.

(cherry picked from commit f92639f)
Commits on Apr 18, 2012
@jyavenard jyavenard Fix AC3 encoder when re-encoding non 5.1 audio
AC3 encoder would have failed with AC3 5.0 ; issue would have been seen doing timestretch on 5.0 audio like seen on Australia's ONE HD channel
@jyavenard jyavenard Make sure passthru flag is in sync between video decoder and audio fr…

When entering LiveTV with timestretch enabled via playback group, audio would be broken if watching a channel with AC3 content.
Reason being, audio is set for timestretch, but digital passthrough isn't disabled. We now make sure digital passthrough is disabled should timestretch had been activated earlier on.

Additionally, add the ability to cancel timestretch and audio processing should we revert to a timestretch factor of 1.0. This will only work if no reconfigure is done in between.

Fixes $10612 par 2
@jyavenard jyavenard Fix audio digital passthrough device override setting
Some tests on the capabilities of the device were always performed on the main audio device. If a distinct digital device was defined, it could have been ignored.

Fixes #10621
@jyavenard jyavenard Revert "Fix audio digital passthrough device override setting"
This reverts commit c325683.
@jyavenard jyavenard Revert "Make sure passthru flag is in sync between video decoder and …
…audio framework"

This reverts commit fce75fe.
@jyavenard jyavenard Revert "Fix AC3 encoder when re-encoding non 5.1 audio"
This reverts commit 7e7dced.
@Beirdo Beirdo Convert the use of player_ctx in mythtranscode to QPointer<>
We have far too many places in the transcode code path that delete player_ctx
and return.  Unfortunately, freeing "transcode" also will try to delee
player_ctx, but it's already deleted, and not nulled out.  Rather than putting
many instances of "player_ctx = NULL", I opted to make PlayerContext a
QObject, and then just use QPointer<PlayerContext> as this will clear itself
to NULL as soon as it is destroyed.

Fixes #10616
(cherry picked from commit c5a9262)
@pepsiman pepsiman Fix syslogGetFacility's use of QBytebuffer
Fixes #10624.

Signed-off-by: Gavin Hurlbut <>
(cherry picked from commit 9ea5252)
@jyavenard jyavenard Fix possible undefined behaviours in libmythprotoserver
The intermediary QByteBuffer returned by toLocal8Bit would have been destroyed at the end of the expression, making the pointer used invalid.

Wondering what kind of crash/instability this would have caused.
I went through the whole code, and only found those two.

Thanks to Malcolm Parsons (pepsiman) for reporting a similar issue in 9ea5252.

[cherry-picked from 5aaca58]
Commits on Apr 19, 2012
@jyavenard jyavenard Fix non-responsive keyboard on mac
QWidget::winId() forces a widget to be native. Why it causes some keyboard issues on mac I'm not sure. It's likely we don't need this call at all, including non-mac. Take the safe approach and only disable the call on mac

Fixes #10587

[cherry-picked from b2dcd7b]
Commits on Apr 20, 2012
@stuartm stuartm Fix leak in TeletextScreen::ClearScreen. Fixes 10630
(cherry picked from commit d5b6760)
@jyavenard jyavenard Make vaapi detection automatic.
So you don't have to use --enable-vaapi to compile

[cherry-picked from ce56ef0]
@jyavenard jyavenard Fix VAAPI compilation
Compilation would fail if VAAPI was active, but OpenGL video was disabled

[cherry-picked from 79527b1]
@jyavenard jyavenard Fix OpenGL video profiles creation
OpenGL video profiles should only be created if OpenGL Video is enabled, not OpenGL painter

[cherry-picked from 072a38a]
@jyavenard jyavenard Fix VAAPI dependency check uncovered by ce56ef0
Would cause compilation failure if some VAAPI headers weren't installed

[cherry-picked from 75c011a]
@jyavenard jyavenard Do not create VDPAU profiles by default
Also fix compilation failure on non VDPAU-system (e.g. macs)

[cherry-picked from 6466615]
@jyavenard jyavenard Do not create VDPAU profile unconditionally.
This is a partial revert of 4cd8186. It caused VDPAU profiles to always be re-created, no matter the platforms.
Display profiles are created elsewhere for better or worse ; so let's have a unique place to worry about

[cherry-picked from c086cf0]
@jyavenard jyavenard Fix AC3 encoder when re-encoding non 5.1 audio
AC3 encoder would have failed with AC3 5.0 ; issue would have been seen doing timestretch on 5.0 audio like seen on Australia's ONE HD channel

[cherry-picked from f7fc68c]
@jyavenard jyavenard Make sure passthru flag is in sync between video decoder and audio fr…

When entering LiveTV with timestretch enabled via playback group, audio would be broken if watching a channel with AC3 content.
Reason being, audio is set for timestretch, but digital passthrough isn't disabled. We now make sure digital passthrough is disabled should timestretch had been activated earlier on.

Additionally, add the ability to cancel timestretch and audio processing should we revert to a timestretch factor of 1.0. This will only work if no reconfigure is done in between.

Fixes #10612 part 2

[cherry-picked from c2fccb5]
@jyavenard jyavenard Fix audio digital passthrough device override setting
Some tests on the capabilities of the device were always performed on the main audio device. If a distinct digital device was defined, it could have been ignored.

Fixes #10621

[cherry-picked from 9839dd7]
@jyavenard jyavenard Fix crash in RAOP when a client disconnect
[cherry-picked from a2c32ba]
@jyavenard jyavenard Fix crash.
Problem was found using GuardMalloc/XCode

[cherry-picked from d86999d]
@jyavenard jyavenard Do not make VideoDisplayProfile::CreateVDAProfile compilation conditi…

This allows consistency in libmythtv API across compilation options
@wagnerrp wagnerrp Add logging information as to why MythTV would fail to listen on a port.
Refs #10634
(cherry picked from commit f4d7bff)
Commits on Apr 22, 2012
@halovanic halovanic Internet Content: Correct search URL
Fixes #10619

Signed-off-by: Jonatan Lindblad <>
(cherry picked from commit a72b694)
Commits on Apr 23, 2012
@stichnot stichnot Sync with Master on recent live TV program transition fixes. Refs #10490 0ecb1d9
@stichnot stichnot Revert the livetvchain.cpp portion of 2e56c25. Refs #10490
During a Live TV stress test, I encountered a backend deadlock that
might be related to these changes.  Reverting them to be safe.
(cherry picked from commit 20c814a)
Commits on Apr 26, 2012
@jyavenard jyavenard Rework RAOP protocol handling
This commit fixes several issues in the RAOP protocol initialisation. Major ones being:
*iTunes compatibility. Playback from iTunes client now works (tested with both Mac and Windows version).
*Commit 37385ba broke playback rather significantly, the RAOP server would never received packets being re-issued resulting in audio drop-outs

The core issue for iTunes not working previously was how the response packets were formed. The headers/content were inversed. This worked fine for iPhone/iPad but iTunes didn't like it.

This commit doesn't fix some audio-sync issues and occasional glitches in playback. This will be done in a future commit

[cherry-picked from 640ddc3]
@jyavenard jyavenard Add ability to override Bonjour's service name.
This is a work around a more complex issue.
By default, Bonjour would automatically detect the computer name and use it to advertise the server.

From Bonjour man-page:
"If non-NULL, specifies the service name to be registered. Most applications will not specify a name, in which case the computer name is used (this name is communicated to the client via the callback). If a name is specified, it must be 1-63 bytes of UTF-8 text. If the name is longer than 63 bytes it will be automatically truncated to a legal length"

However, for some people with broken DNS configuration, they can't resolve that name or it resolves improperly.
So add a BonjourHostname setting to override the name used by Bonjour.

Use it as an extra argument: -O BonjourHostname=mycomputer.

[cherry-picked from 48d8495]
@stuartm stuartm Reduce the 'blank' visualiser framerate to 1fps as a temporary fix fo…
…r the ridiculously high CPU usage of a visualiser than should use next to no CPU at all.

(cherry picked from commit f2e29bb)
@stuartm stuartm Fix naming issue spotted by 'dekarl'. The channel icon storage group …
…is called 'ChannelIcons' not 'ChannelIcon', the icon lookups would still work because of some fallback checks but they would be slower.

(cherry picked from commit 055a511)
Jordan Kanev New Bulgarian MythNews and MythZoneMinder translation
Thank you Jordan!

Closes #10663

Signed-off-by: Nicolas Riendeau <>
Commits on Apr 28, 2012
@wagnerrp wagnerrp Correct FreeSpace class broken by 1508085
(cherry picked from commit ca11a90)
Commits on Apr 30, 2012
@wagnerrp wagnerrp Update version listed in python bindings egg.
(cherry picked from commit ef2c748)
Commits on May 01, 2012
@daniel-kristjansson daniel-kristjansson Fixes #10668. Fixes segfault in mythtranscode use of DTVRecorder.
This was discovered and diagnosed by Chris Tracy <>.

The problem is a debugging macro that assumes the recorder is being controlled by TVRec.
@daniel-kristjansson daniel-kristjansson Provide GetNodeValue(.. const char*) implementation.
When GetNodeValue is called with a C string as the default value,
the value is promoted to an int not a QString() leading to
unintended results.
Commits on May 02, 2012
@Beirdo Beirdo Make mythfilldatabase calls put user-provided args last
Fixes #10683
(cherry picked from commit 4ba7c3d)
Commits on May 03, 2012
@wagnerrp wagnerrp Add --parse-video-filename option to test filename parser.
This adds a new option to MythUtil to hook directly into the filename
parsing routines used by the Video Library, to allow them to be tested
directly for irregularities rather than having to go through the
(cherry picked from commit 1debfc6)


@Beirdo Beirdo Run git status before git describe to clear false dirties
(cherry picked from commit 390569b)
Commits on May 05, 2012
@stuartm stuartm Fix playback of blu-ray ISOs containing UTF8 characters. Fixes #10689…
…, #9797

(cherry picked from commit 832a3fa)
Commits on May 06, 2012
@jyavenard jyavenard Almost complete rewrite of RAOP server
Let me commend Mark Kendall for his previous implementation. As far as I could tell, his RAOP server was the only one implementing Airtunes v2 functionalities with a/v sync timestamps.
The rewrite serves several purposes. Mainly, I wanted to take ownership of this area of the code, and there were things I couldn't figure out. Most likely because whatever Mark used for AirPort's technical documentation isn't what I got.
Technical description of RAOP came mostly from:

I found the later to be the most correct.

Main area of focus:
-Audio Quality: Over slow or poor network connectivity (e.g. slow wireless) and with lots of packet drops: audio would have been corrupted (the system played audio packets in the order they were received, and not in the order they were supposed to be). For testing purposes, I simulated a 30% packet drop, and playback remained perfect.
-A/V Sync: Achieving perfect A/V sync across all platforms and with all the different type of audio architecture is almost impossible. However, I believe the results achieved are very good. Playback will automatically adjust itself according to the network latency and the audio hardware latency.

New features:
We now retrieve the media's metadata: Album name, artist name, song title and coverart. This only works when using iTunes. iOS device do not send metadata unless using FairPlay encryption. We only support RSA encryption.
Currently, this information is only shown in the logs, but in the future we'll be able to nicely show them in mythfrontend.

Additional credits:
-, gave information about how to configure Bonjour in order to receive MetaData from iTunes
- : iTunes DMAP metadata structure

[cherry-picked form bd883d7]
@jyavenard jyavenard Add two network utility methods to ServerPool
Add tryListeningPort and tryBindingPort ; those methods are used to bind/listen on all local interfaces, both IPv6 and IPv4.
Add them to ServerPool class as they add functionality to it, but they do not change its functionality and how by default it binds on interfaces by looping individually through all of the.
They will be use for local services that are discovered through Bonjour.

[cherry-picked from db30e6e]
@jyavenard jyavenard Fix handling of IPv6 link-local address
ServerPool previously couldn't use IPv6 link-local addresses.
Also, fix the issue where no messages could be received on UDP bound sockets initiated from ServerPool

[cherry-picked from 34c46f1]
@jyavenard jyavenard Add two network utility methods to ServerPool
Will be used by Airplay and RAOP

[cherry-picked from 1d375db]
@jyavenard jyavenard Add full IPv6 support to RAOP and fix Bonjour discovery of RAOP service.
Do not advertise RAOP via Bonjour, if listening on the local interfaces failed

[cherry-picked from 34dcb2b]
@jyavenard jyavenard Fix RAOP time request failing to send
Was using the wrong socket.
Also fix typo in OPTIONS response.

[cherry-picked from 374e2cd]
@jyavenard jyavenard Use new ServerPool capabilities, and only advertise AirPlay via Bonjo…
…ur if the server creation was successful

[cherry-picked from 29cd39b]
@jyavenard jyavenard Always re-use the same computer ID for AirPlay. Share ID between RAOP…
… and AirPlay

Random ID is generated the first time, the following session will always re-use the same ID.
Having AirPlay and RAOP share the same hardware ID makes mythfrontend behave more like an AppleTV: only one device is showing in the list. Either one for audio or one for audio+video, not both at the same time.

[cherry-picked from f125f53]
@jyavenard jyavenard Various fixes in Airplay
-Playback on frontend always start at the beginning, iOS continuing to play where left off.
-Scrubbing not working
-Playback position on frontend and iOS device not in sync
-When quitting playback on iOS, video continue on frontend.
-When quitting playback on frontend, iOS not notified and playback counter continues progressing

There's still a minor cosmetic defect, when scrubbing quickly and the iOS device pause playback, the positions between the frontend and iOS device are not in sync. It will become in sync only once playback resume.

MythTV doesn't handle http live streaming playback yet, so Airplay will not work with some applications (in particular AirVideo) streaming via HLS

[cherry-picked from fe11b61]
@jyavenard jyavenard Fix seeking with some http streamed content
Do not rely on the URL to determine if we can seek in media. Instead try to seek to the start, if no error occurs: we can seek.
This allows seeking in a youtube stream using AirPlay

[cherry-picked from 357573a]
@jyavenard jyavenard Add AirPlay support from iTunes.
iTunes doesn't send session ID when initiating a connection, we receiving content without a session id, use the IP address of the AirPlay client instead.

[cherry-picked from 1f4f89b]
@jyavenard jyavenard Bump API version number to "0.25.20120506-1
Following changes to ServerPool
Commits on May 07, 2012
@stuartm stuartm Quick fix for a segfault in Playlist::shuffleTracks()
(cherry picked from commit dc1b2ad)
Commits on May 08, 2012
@Beirdo Beirdo Add more debug logs in the DataDirect and MythDLMgr code
Refs #10662

Turns out the problem we are seeing is a known bug in Qt 4.7.1 that is fixed
in 4.7.2 (and wasn't there before 4.7.1).

In particular, if your Schedules Direct username is an email address, Qt4.7.1
stupidly puts the username as the part before the @ and the realm as the
portion after the @, even though the realm was already provided.

SO, if you have a Schedules Direct username that is an email address, either
upgrade to 4.7.2 (or higher), or downgrade to 4.7.0 (or lower).
(cherry picked from commit e778f23)
@Beirdo Beirdo Log the Qt version on startup
(cherry picked from commit 3f6ae11)
Commits on May 09, 2012
@wagnerrp wagnerrp Fix Recorded.exportMetadata()
(cherry picked from commit 40243c9)
Commits on May 10, 2012
Kevon Make ffmpeg compile with gcc 4.7
Fixes #10537

Signed-off-by: Gavin Hurlbut <>
Commits on May 11, 2012
@nriendeau nriendeau Make the video file parser handle both "Series" and "Season" as
equivalent for the English GB translation.

This is the 0.25-fixes version of that fix which attempt to address
this problem while avoiding to break the "Season" matching for the
other translations. The development version will have a more complete
(but more intrusive) fix.

Refs #10613

PS: This is done with the blessing of the English GB translator.
Commits on May 12, 2012
@wagnerrp wagnerrp Make incrementing in command line parser start from 0, not default.
This fixes an issue in MythShutdown where telling it to check the
recording status would actually have an opposite effect of ignoring it.
(cherry picked from commit 7f18de0)
Commits on May 13, 2012
@Beirdo Beirdo Fix destroyMainWindow when gCoreContext is not created yet
Fixes #10718
(cherry picked from commit 922a9ca)
Commits on May 14, 2012
@nriendeau nriendeau Replace unrecognized translated theme template variables in the
Spanish/Spain translation with the original ones.

PS: This is done with the blessing of the translator and the fix for
master will be done by him in his next update.
Commits on May 15, 2012
@sphery sphery Remove reference to no-longer-existent file.
(cherry picked from commit eba3a5b)
@sphery sphery Fix the 1299 DB upgrade (DeletedMaxAge update).
The 1299 upgrade modifies DeletedMaxAge for its new meaning, now that
AutoExpireInsteadOfDelete is always enabled.  Previously, 0 meant
"expire when out of disk space" and was the default value; but after
f78f999 , 0 means "expire immediately" and -1 means "expire when out of
disk space."  Both before and after f78f999, any positive value means
to expire recording files that many days after deletion.

However, the setting DeletedMaxAge was only ever written to the database
if the user enabled AutoExpireInsteadOfDelete (triggering the
DeletedExpireOptions TriggeredConfigurationGroup) and modified
DeletedMaxAge to some value other than its default of 0.  Therefore,
most users did not actually have a value for DeletedMaxAge in their
databases--whether they had enabled AutoExpireInsteadOfDelete or not.

The DB upgrade needs to change DeletedMaxAge to -1 if and only if
AutoExpireInsteadOfDelete is enabled and DeletedMaxAge has a value of 0
(or is still using the default).  Because of the condition on the
update, it did nothing for users with AutoExpireInsteadOfDelete enabled
but without a value for DeletedMaxAge in the database.  This resulted in
their systems changing from "expire when out of space" to "expire

Thanks to Thomas Boehm and Peter on the mythtv-users mailing list for
noticing that their settings didn't carry over through the update.
(cherry picked from commit abfced8)
@gigem gigem Revert "Fix editing inetref/season/episode from the PBB."
This reverts commit db12303.


(cherry picked from commit 8a279eb)
@gigem gigem Fix updating of metadata info in RecordingRule.
Only set the metadata info from the RecordingInfo if it's not already
set.  This is should be a better fix than was commited in db12303.
(cherry picked from commit 7aebf8c)
@stichnot stichnot Fixes #10728. Draw a black outline around text subtitles for contrast.
This fixes a regression in external and CEA-608 captions when no black
background is displayed.
Commits on May 16, 2012
@wagnerrp wagnerrp Mark 'mythshutdown -l' as specifically removed with alternate argument
(cherry picked from commit 87eb634)
Commits on May 18, 2012
Paul Harrison MythMusic: Pass the full filename to TagExists() in Metadata::getTagg…

This fixes a bug when reading the metadata from flac files with ID3 tags.
(cherry picked from commit 459e806)

Signed-off-by: Stuart Morgan <>
(cherry picked from commit 8c48b71)
@stuartm stuartm Add missing break statement in PlaybackBox::ShowAvailabilityPopup(). …
…Caught by Coverity.

(cherry picked from commit 9d843edc58edd921b17d4b3b374056451af72536)
@stuartm stuartm Fix assumption that ints would be initialised to zero in JobQueueEntr…
…y, this isn't the case with C++. It appears that this would have caused any job that didn't include a chanid to abort even though the code indicates that it's perfectly valid to have a job which doesn't operate on a recording and wouldn't require the chanid. I don't know enough about the intended behaviour to say whether this will fix a user-visible bug ... Discovered by Coverity.

(cherry picked from commit e84a3aaa2e1f4f744d08e31809ec1852429b7af5)
@stuartm stuartm Fix assignment where comparison was intended in FreeSurround::getLate…
…ncy(). Caught by Coverity

(cherry picked from commit c85ed06)
Commits on May 19, 2012
@stuartm stuartm Fix CID 700722: Allocation too small for string (Coverity) in AudioOu…

(cherry picked from commit 389ba60)
@stuartm stuartm Use the correct delete for the array pulse_host. Reported by Coverity.
(cherry picked from commit e70e1e6b9ba33c258f610880c59e827840e6e88f)
Commits on May 22, 2012
@stichnot stichnot Add a playback OSD menu option to cancel an in-progress playlist.
Previously, the only way to stop playlist playback was to execute a
jump point, as EXIT simply moves to the next playlist item.  Now, the
playback OSD menu, "Playback" submenu, has a "Cancel Playlist" entry,
with the effect that when playback ends, it returns to the Watch
Recordings screen instead of the next playlist entry.

Note: This adds a currently untranslated string to the Playback
submenu of the playback OSD menu when a playlist is active.

(cherry picked from commit 3bbf624)
@cpinkham cpinkham Remove the broken "Expire in deleted order" setting.
Unfortunately, this setting has been broken since the day it was
committed.  When disabled, this setting could cause non-deleted
programs to be expired before deleted programs when the Auto
Expirer was trying to free up disk space.  The desired effect
of the setting is now already handled by default, expiring deleted
programs in a FIFO order on a particular filesystem.  The first
program deleted is the first to be expired for disk space if
Commits on May 23, 2012
@wagnerrp wagnerrp Use proper type when exporting Metadata objects from database classes.
(cherry picked from commit 361834a)
@stuartm stuartm Ensure the default parental level is set before we Load() the video d…
…ata. This was seemingly always backwards which caused the data to be loaded twice. It was then broken by 7c8e45f which moved the signal connection to the right place but overlooked the misplaced ParentalLevel::SetLevel(). To recap, we want to connect the SigLevelChanged() signal _after_ the initial load otherwise we'd always trigger a second unwanted load.

(cherry picked from commit 6fe9ad0)
@gigem gigem Fix typo in ProgramInfo::ToMap()
Thanks to mayfields for spotting it.

Fixes #10746 .
(cherry picked from commit 2afb07d)
Commits on May 24, 2012
@jyavenard jyavenard Allow VDA to play interlaced content on a mac.
VDA has been found to severly crash a mac when playing interlaced content. So it had been disabled.

This commit allow the ability to override that behaviour with starting mythfrontend with: -O AllowVDAInterlace=1
@stuartm stuartm Fix memory leak when reading flac vorbis tags. Fixes #10721
(cherry picked from commit 7d4b285)
@stuartm stuartm Fix memory leak in MetaIOTagLib::getTrackLength(const QString &filename)
(cherry picked from commit e8aef6a)
@stuartm stuartm Fix a null pointer dereference in MainServer::HandleQueryRecording().…
… This bug would have made it possible to crash a backend with a malformed QUERY_RECORDING message. Coverity defect 700420

(cherry picked from commit 9bddf5b)
@stuartm stuartm Fix several memory leaks in services/dvr.cpp. Coverity defects 700670…
…, 700671, 700672 & 700673

(cherry picked from commit b30825e)
Commits on May 25, 2012
@Freefly13 Freefly13 Updated Italian MythFrontend translation
from Morris Cavestro

Thank you Morris!

Backport of 5d2fe3d/mythtv

The translation was (as it should be) done against master so it
doesn't contain all the strings used in fixes/0.25 but it's a lot
more complete that what was in fixes/0.25 before.

Refs #10756

Signed-off-by: Nicolas Riendeau <>
Bryan ? Fix the media monitor unmounting blu-ray discs after insertion, we ne…
…ed them to be mounted in order to play them. Fixes #10759

Signed-off-by: Stuart Morgan <>
(cherry picked from commit 477e12f)
Commits on May 26, 2012
@stichnot stichnot Subtitles: Avoid changing subtitle state in the decoder thread.
Use the proper API to defer subtitle changes to the UI event loop, to
avoid creating or deleting MythUI objects in a non-UI thread.
Refs #10740
(cherry picked from commit f0f37a5)
@stichnot stichnot Subtitles: Enable forced subtitle tracks. Refs #10735
If the subtitle track is marked as forced, mark each individual
subtitle as forced even if it isn't individually marked in the stream.
Some mkv rips of DVDs appear to be structured this way.
(cherry picked from commit d5ce98e)
Commits on May 27, 2012
@wagnerrp wagnerrp Force proper initialization of keys and jumppoints for control socket.
(cherry picked from commit 931fe9c)


@daniel-kristjansson daniel-kristjansson Fixes #10541. Fix EIT scanning deadlock. 6dce025
@daniel-kristjansson daniel-kristjansson Remove zoom on MythCenter-wide popups. 2100712
@daniel-kristjansson daniel-kristjansson Rework RecorderBase::AspectChange() so it can't cause divide by zero.

@daniel-kristjansson daniel-kristjansson Fix segfault in manual record when there are no recordable channels d…
@daniel-kristjansson daniel-kristjansson Explicitly set SRT Writer codec to UTF-8 468fdef
@daniel-kristjansson daniel-kristjansson Fix some XDS parsing.
This adds support for interleaved XDS streams and fixes the handling of XDS interleaved with captions.
@daniel-kristjansson daniel-kristjansson Up MythCenter version # after [2100712]. 786a3e9
Commits on May 28, 2012
@jpoet jpoet HD-PVR LiveTV: Rework HD-PVR SignalMonitor to avoid encoding start/st…

The HD-PVR does not behave well when told to switch encoding on/off
quickly.  Only use the video resolution reported by the driver to determine
if the HD-PVR has stabilized: If the driver reports the same resolution
consistently for two seconds, then assume a good lock.
Commits on May 29, 2012
@wagnerrp wagnerrp Disable artwork processing for exportMetadata().
This disables the output of artwork definitions when generating an mxml
file through the bindings.  There is currently no support for handling
local artwork in the files at this time.
(cherry picked from commit 139a98e)
@sphery sphery Specify MySQL storage engine for mfdb temp tables.
Since MySQL 5.5 changes the default storage engine to InnoDB, and since
many distros configure the InnoDB file path to refer to a directory on a
file system with barriers enabled, any temporary tables written to disk
will be written as InnoDB tables on the InnoDB file path, rather than
using MyISAM tables, which can be stored on the tmpdir.  This results in
severe performance issues when using mythfilldatabase with Schedules
Direct data.  Therefore, specify the use of MyISAM storage engine for
mythfilldatabase DataDirect temporary tables.

See, also:
(cherry picked from commit c06b706)
@sphery sphery Direct users to FAQ on wiki.
(cherry picked from commit ddcc2bc)
@iandall iandall Fix PlaybackSock::GetMaxBitrate protocol usage.
QUERY_REMOTEENCODER now returns only one value.  This change was missed
when the protocol was changed to send 64-bit values directly, instead of
encoded as two 32-bit ints (this part, specifically, in 1508085 ).

Fixes #10705.

Signed-off-by: Michael T. Dean <>
@daniel-kristjansson daniel-kristjansson Refs #10771. Revert "Fixes #10541. Fix EIT scanning deadlock."
This appears to be _causing_ a deadlock for warpme.

This reverts commit 6dce025.
Commits on May 30, 2012
@stuartm stuartm Fix leak of MetaIOID3() object if we're scanning Flac files without I…
…D3 tags. Fixes #10776 and #10757

(cherry picked from commit 2144ef1)
@stuartm stuartm Fix file handle leaks in oggvorbis and wavpack tag readers. These, al…
…ong with one in the flac tag reader were caused when we stopped using an instance of the Taglib::FileRef class to read the track length. Taglib::FileRef would take ownership of the pointer and delete it when we were done, now that we're not using Taglib::FileRef we're again responsible for deleting the object which in turn closes the open file handle. Refs #10721
@stuartm stuartm Fix misplaced else condition in osd.cpp. This just looks like a mista…
…ke, the else appended to the wrong block. dialog cannot be null, but Create() can and will fail. Related to Coverity defect 700311 'Logically dead code'

(cherry picked from commit 1207821)
@stuartm stuartm Fix another misplaced else condition in osd.cpp. Exact same problem a…
…s in [1207821] just in another place. Related to Coverity defect 700312 'Logically dead code'

(cherry picked from commit 8c8bd19)
@stuartm stuartm Fix 'Show Upcoming' context menu entry in the Guide.
(cherry picked from commit 13209eb)
Commits on May 31, 2012
@stuartm stuartm Fix yet more leaks in services/dvr.cpp. Objects allocated on the heap…
… when they could/should have been on the stack.

(cherry picked from commit 0a33dd5)
@wagnerrp wagnerrp Apply fix from 139a98e in correct area.
(cherry picked from commit e47bcd4)
Commits on Jun 01, 2012
@wagnerrp wagnerrp Comment additional missed line in e47bcd4.
(cherry picked from commit cc72081)
@natanojl natanojl Internet Content: Fix Vimeo grabber
Vimeo now requires that oauth_callback is specified.  We set it to out-of-band
since we don't use it.
(cherry picked from commit 0c92bfd)
Commits on Jun 02, 2012
@stichnot stichnot Subtitles: Add a leading space to teletext subtitle backgrounds.
This is according to the spec.
(cherry picked from commit b1eb74d)
@stichnot stichnot Subtitles: Only display teletext captions inside the "box" area.
The spec says that characters outside the "Start Box" / "End Box"
region should not be displayed.  Refs #10678.
(cherry picked from commit 419fc84)
@stuartm stuartm Handle mouse in mythuibuttontree.
(cherry picked from commit e763a6a)
@stuartm stuartm If SetCurrentFocusWidget() is called on a widget which already has fo…
…cus then just return. This avoids a lot of unnecessary updates and redraws.

(cherry picked from commit 7a2fc43)
Commits on Jun 03, 2012
@jyavenard jyavenard Attempt to fix most issues in IPTV recorder.
IPTV recording is broken, this commit make things better, but it doesn't solve all issues.
- Tuning wasn't working, it was searching for a freqid on a recorder that doesn't have any, only a channel number
- When playback startup was interrupted (like the frontend exiting) or an error occurs during SignalMonitor, the IPTV stream wasn't killed, resulting in a recorder being stuck forever in "in-use" mode (ref: #10493)
- When recording was going, it would have been impossible to stop the recorder, and TVRec would have just waited forever.

Also add some logging.

[cherry-picked from d836725]
@jyavenard jyavenard Fix 32 bits compilation on mac and Quartz playback
[cherry-picked from ecd76ef]
@jyavenard jyavenard Only disable greedy deinterlacer on mac!
[cherry-picked from 2315e31]
r Please enter the commit message for your changes. Lines starting
r Please enter the commit message for your changes. Lines starting
@jpoet jpoet Apply David's modifications from #10765 to AnalogSignalMonitor::Verif…
Commits on Jun 04, 2012
@stuartm stuartm Fix a couple of memory leaks in mythgame. Coverity defects 703765 & 7…

(cherry picked from commit 7809398)
@stuartm stuartm Fix leak in MythNetVision. Coverity defect 703767
(cherry picked from commit dfb717c)
@stuartm stuartm Setting VERSION to v0.25.1 c2c276d