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 529853d)
(cherry picked from commit 931fe9c) Conflicts: mythtv/bindings/python/MythTV/methodheap.py
… 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)
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 necessary. Backports 928135e from master.
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: http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/2010-October/040647.html Signed-off-by: Gavin Hurlbut <email@example.com> (cherry picked from commit ecda14d)
NetworkControl wasn't removing itself from the listener list when the object was deleted causing a segfault when an event was received during shutdown. Reviewed other instances of gCoreContext->addListener() and fixed one other instances of this error. (cherry picked from commit c7a1e81) Refs #10359
…s causing 5.1 audio to be wrongly identified as 7 channel, and stereo as 3 channel. (cherry picked from commit 20a5628)
…s keep Freeview and FreeSat guide data consistent
The limit, coupled with a post-0.24 DB upgrade, could cause a key binding collision on exactly one host (and not more than one host) in the MythTV system when upgrading from a 0.23 schema version to post 0.24 schema version. The collision could only occur in a multi-host MythTV system, could not occur on the host performing the DB upgrade(s), and could only occur on a host that had been used as a frontend with 0.23 but never ran either mythfrontend or mythtv-setup from 0.24. More specifically, you would have had to have a schema version from before May 10, 2010 on master (such as a 0.23 schema version) and upgraded to a schema version from after July 21, 2011 on master (not in any released version, but will be in 0.25) without ever running a version of mythtv from between those 2 dates. Even then, the collision is unlikely to occur because of how the data is returned. For users running master, any affected host's mythfrontend or mythtv-setup will show the warning: 2012-03-06 09:08:55.862679 W Key Esc is bound to multiple actions in context Main Menu. The collision can be fixed by manually removing or changing the binding on the action you don't want in mythfrontend's Utilities/Setup|Edit Keys in the Main Menu context on the affected host. For users running 0.24 versions, there is no collision, and simply running mythfrontend (or mythtv-setup, but no need to run both) from 0.24-fixes on your frontend hosts will prevent one from occurring when you upgrade to 0.25, so you have nothing to worry about/nothing to fix. Refs #10403. (cherry picked from commit e022c2c)
…pComms doesn't support SSL. Backported from 177fdbb
(cherry picked from commit 366d96d)
This allows a user to force the player to use video dts timestamps for av-sync purposes in the event they have material with busted pts timestamps. backport 40c69e1 Fixes #10007.
…t was to prevent a very delayed response to an availability check causing playlists to resume playing long after the user had moved on. The present timeout was very short though and didn't account for delays caused by disks needing to be spun up or just the latency of checking multiple storage groups for a file. Almost certainly fixes #8316 (cherry picked from commit 6c3a799)
…e renamed in 0.25, they aren't really needed in 0.24 so just remove them.
…h because I couldn't see a way of getting QT to handle it. To start with the following characters are supported, but if patches are provided I will add more - áâàãäå éêèë ç íîìï ñ óôòõö úûùü ýÿ . Fixes #8304 (cherry picked from commit d84d5c9)
…ed natively. While trying to play an encrypted video over airplay, all nasty things would happen. So add a safeguard so we never try to play more than 8 channels audio unless the hardware supports it (e.g. not requiring downmixing) [cherry-picked from c5b6e92]
…ignore post-roll for recordings, something I forgot before. (cherry picked from commit b758ea8)
…-progress recordings where we didn't have the total number of frames, this used the start/end time of the recording which can't be trusted for video because they are based on the length from downloaded metadata e.g. An episode of Frasier might only be 22 minutes long without adverts but according to the metadata it's 30 minutes. We now trust the totalFrames to be accurate for anything which isn't an in-progress recording. (cherry picked from commit f53a00f)
Stupid typo [cherry-picked from 8adf652]
…rowse views (cherry picked from commit 82c0729)
(cherry picked from commit bf6ed42)
This should fix issues with mov style containers by using the avg_frame_rate which is set by the demuxer. NOTE: Using estimated_fps seems to always be accurate for everything except matroska and mov. It appears that ffmpeg takes into account the codec and container fps when generating estimated_fps. Also, XBMC uses estimated_fps for everything except matroska. We should probably do the same. Fixes #10300. (cherry picked from commit 6c22eda)
… events were being ignored and therefore subsquent UPDATE events were also ignored so that the only data in the program cache was stale when a ui reload was done on exiting playback. (cherry picked from commit 70ca0bf)
Closes #10263 When mythtranscode is run with a non default profile it can throw a flating point exception during initialisation: Program terminated with signal 8, Arithmetic exception. 422 if ((ydiff / display_video_rect.height()) < 0.05) (gdb) bt new_display_visible_rect=..., new_aspectoverride=kAspect_Off, new_adjustfill=kAdjustFill_AutoDetect_DefaultHalf) at videooutwindow.cpp:484 winh=0, codec_id=kCodec_MPEG2, embedid=0) at videooutbase.cpp:419 winw=0, winh=0, codec_id=kCodec_MPEG2, embedid=0) at videoout_null.cpp:152 framecontrol=false, jobID=-1, fifodir=..., fifo_info=false, deleteMap=...) at transcode.cpp:716 This is caused by display_video_rect.height() being 0. Signed-off-by: Lawrence Rust <firstname.lastname@example.org> Signed-off-by: Gavin Hurlbut <email@example.com> (cherry picked from commit 50b4594)