Release Notes - 0.26

From MythTV Official Wiki
Jump to: navigation, search


Important 0.26 Dates
Event Date Changeset
Development Started 20 Aug 2011 df47df3
Alpha Released 18 Jul 2012 4a40145
Beta Released 6 Aug 2012 39386cf
RC Released 23 Aug 2012 6566c3c
RC2 Released 5 Sep 2012 83dca6f
Final Release 2 Oct 2012 6c3ae81

0.26-release encompasses development revisions from [df47df3] though [6c3ae81]


Key New Features

  • Add HTTP Live Streaming playback [099b6cce03] and recorder [17c164a]. Check the HLS Manual Page
  • Added recording rule templates [71c65b]. Note that mythweb doesn't take advantage of the templating feature.
  • Themers (and power users) are now able to replace schedule options with new widgits. Themes, for example, can place fewer choices on the initial schedule editor screen (allowing access to less used options by pressing M(enu). Give Steppes a try to see this. See [d418754].
  • Add duplicate checking and limited matching optimizations and other scheduler related changes. See the commit for details on this change. [cbb8eb1] Fixes #10533
  • Add Ice- and Shoutcast radio stream playback to MythMusic [cdde562]

Major Changes

  • Conversion of internal times to UTC. Stored times will be converted by the database update mechanism. See UTC for a complete list of changes. This should be of interest to daylight savings time users.
  • Mythlogserver, a new program for handling all logging requests.
  • HTTP Live Streaming support added to AirPlay
  • Complete rewrite of RAOP server, used for Airtunes/AirPlay.
  • The format of config.xml has changed and mysql.txt is no longer used. Conversion to the new format is automatic. An example of the new format is here: here:
  • Allow themes to customize caption/subtitle formatting [f13eeb0].
  • Make the subtitle zoom factor into a live setting [0089f7d].
  • Add rsOtherTuning and rsOtherRecording recording statuses [090f847]
  • Added TOGGLESHUFFLE/TOGGLEREPEAT keybindings [fa9edd6]
  • --parse-video-filename for mythutil [1debfc6]

Prerequisite Changes

Added support libraries/prerequisites
  • libuuid (uuid-dev) for those building from source.
Removed support libraries/prerequisites


Special Notices & Instructions

  • The conversion to UTC requires significant changes to the database, and may be problematic for some users. MythTV will automatically attempt to perform a database backup before any schema update, storing the backup to a directory in the DB Backups Storage Group, or (if none has been defined) in a directory in the Default Storage Group, or as a final fallback to the /tmp directory, so that if anything goes wrong in the process, the user can choose to roll back the changes to the previous functional state by manually restoring the pre-upgrade backup. If MythTV cannot find anywhere with write access to store the backup, it will proceed with the update anyway, so users may want to perform their own periodic backups just to be safe. Refer to Database_Backup_and_Restore#Quick_Start for more information.
  • The environmental variable MYTHTV_AIRPLAY is no longer required (GUI added, see: AirTunes/AirPlay) [11ea7ef].
  • User scripts/tools that depended on mysql.txt should be reviewed. Since MythTV no longer uses mysql.txt, it's no longer updated. Scripts/tools could stop working.
  • MythTV System Events and User Jobs should be checked for compatibility with UTC. Recording file names, for example, are now saved with the time component in UTC. %STARTTIME% is local time, use %STARTTIMEUTC% to access the file. Better option is to use the %FILE% tag to directly give the filename, rather than guessing from the channel ID and timestamp.
  • Examine all existing custom recording rules. Any references to tables with columns that were converted to UTC must be adjusted. For example: A rule with: HOUR(program.endtime) < 22 must be changed to HOUR(CONVERT_TZ(program.endtime, 'UTC', 'SYSTEM')) < 22. Note that dates such as originalairdate do not factor in timezone offsets, and will be the local date.
  • The (broken) "Expire in deleted order" setting has been removed [928135e].
  • Support for CEA-608 teletext captions will be removed in 0.27. Using mythfrontend --verbose general logging, a "DEPRECATED_608_TELETEXT" message will appear in the logs of affected users. Refs #10786, [7b1aef8], [44f5414].
  • Logging Issues:
    • Users referencing logfiles (e.g. those created by using --logpath) will note that the timestamp portion of the filename is now in UTC [28d9324].
    • Users of logrotate should see 0.26 specific instructions in Logrotate All Applications.
    • Users of --syslog and Simple rsyslog Configuration should see the new 0.26 section.
  • Wunderground scripts now use the REST API. All users who wish to use the wunderground weather source must sign up for an API key. Commit [e4c181a] is required reading for these users.
  • The -l option for mythshutdown has been removed. Use --lock [87eb634].
  • For users building from source:
    • Video decoders are enabled by default. Disable options are now available. [f60a706], Fixes #10813.
    • mythffplay users, add --enable-sdl when running configure [fb90f73].
    • See [2b3bd21] for important instructions re: Revert [6fb8692] to not use aacenc.c AAC encoder by default.




New Features
Bug Fixes
  • [343e658]: Abort setting timestretch if audio hasn't been initialised yet. Fixes #10612
  • [c2fccb5]: Make sure passthru flag is in sync between video decoder and audio framework. Fixes #10612 part 2
  • [0349883]: Refs #10490. Live TV program transition improvements.
  • [2e56c25]: Live TV: Disable the oldfile ringbuffer optimization for program transitions. Refs #10490.
  • [20c814a]: Revert the livetvchain.cpp portion of 2e56c2563. Refs #10490
  • [d0c33e3]: HD-PVR LiveTV: Rework HD-PVR SignalMonitor to avoid encoding start/stops. Fixes #10765 0.25/fixes [d3a5b0a59]
  • [27ee9fb]: RemoteStopLiveTV() expects a reponse of 'OK' to STOP_LIVETV but we were returning 'ok'. There are probably other examples of this case mismatch since some handlers return lower case while others return in upper. We should probably standardise on OK throughout
  • [7b0df34]: Fixes #10943. Apply LiveTV group before we start jobs.
  • [7c7852f]: Live TV: Delay opening a new ringbuffer until the TVChain is updated. Refs #10490.
  • [2154b3b]: Refs #10489. Bypass IsTunable check for kPseudoChangeChannel.
  • [21306c3]: Refs #10489. Use regular recording group when grabbing LiveTV recorder.
  • [0b92144]: Fixes #10566. Reverts part of 3a51b833e to improve channel changes.
  • [19efff9]: Fix #10590. 'Record This' and 'Change to Channel' options not working in Guide menu.
  • [825182e] Speed up loading of the Watch Recordings screen and the Previously Recorded screen by doing most of the buttonlist initialization in the background. The speedup is most noticeable when the screen contains hundreds or thousands of entries and mythfrontend is running on a relatively slow processor such as an Atom.
  • [4771897]: Emit appropriate signals indicating playback status.
  • [ea944e6]: Use MythCoreContext::WaitUntilSignals and fix pausing while playback is running
  • [e4c5cfe]: Adapt TV player for new playback registration mechanism
  • [ea953d9]: Re-enable idle timer after exiting video playback. (Copy/paste error). Fixes #10582
  • [0ba379a]: Network control: add "jump pbb" as a short alias for "jump playbackbox".
  • [6d2dce1]: Simplify the set-bookmark-at-playback-exit logic. Refs #7994
  • [6114ecd]: Fixes #7994. Clears the bookmark in some cases when exiting playback.
  • [8dbe088]: Add VAAPI default playback profile
  • [ce56ef0]: Make vaapi detection automatic.
  • [79527b1]: Fix VAAPI compilation
  • [75c011a]: Fix VAAPI dependency check uncovered by [ce56ef0]
  • [1e29318]: Fix the fix for initialising surfaces in vaapi.
  • [bdfcabc]: Don't display null renderers in setup.
  • [0d69c75]: Optimise start up time and seek time
  • [47b647e]: Change how we retry and cancel playback should refreshing the playlist failed.
  • [85e3a38]: Allow visualizations to be turned on during playback.
  • [dc6a18a]: Fix Live TV channel changing when using Input Groups.
  • [13209eb]: Fix 'Show Upcoming' context menu entry in the Guide.
  • [b2657a1]: Changes VideoOutput::CalcHueBase() to return 50% by default.
  • [0c00c0a]: Disable picture controls with Intel XVideo overlay adaptor.
  • [7fd0a8c]: Don't refresh the whole tree when changing the watched status on a video, this avoids us losing our place and is faster.
  • [740a5ba]: Use empty() rather than size() for checking emptiness of containers. (video)
  • [ceeab1f]: Fix potential division by zero in VideoOutputXv::PrepareFrameMem()
  • [6fe9ad0]: Ensure the default parental level is set before we Load() the video data.
  • [875143e]: Fix segfault in manual record when there are no recordable channels defined.
  • [67ef67b]: Replace concatenated string in MythControls::ResolveConflict().
  • [22ed71e]: Don't create a watch list for the "Deleted" recording group. Fixes #10854.
  • [d07523a]: Mythfrontend: Fix incorrect busy dialog creation
  • [248947a]: Allow interlaced video to play using VDA when using Mountain Lion

Key Bindings, Jump Points, and Input Devices

New Features
Bug Fixes
  • [c9208a9]: Fix a keybinding description.
  • [931fe9c]: Force proper initialization of keys and jumppoints for control socket.

Guide Data, EIT, Program Info, and Media Metadata

  • [a1d9015]: Fixes #10541. Fix EIT scanning deadlock.
  • [d2b2eaa]: Initialise activeScanStopped in the EITScanner constructor.
  • [0312ff9]: Following Freesats switch from Astra 2D to Astra 1G update the transport ids associated with Freesat EIT fixups
  • [e8073bc]: Fixes #10948. Fixes EIT shutdown deadlock.
  • [0e5d159]: Refs #10948. Fully randomize EIT crawl start time.
Bug Fixes


Bug Fixes
  • [faf6dbc]: Apply David's modifications from #10765 to AnalogSignalMonitor::VerifyHDPVRaudio.
  • [99e2ebe]: Attempt several retries should setting ALSA hw buffer time failed. Fixes #10899
  • [b0abb17] Revert "libmyth: Prevent an access violation by the ALSA library" Unfortunately, under some circumstances, it exposes a bug in ALSA which disable all audio system-wide following the device scan. This reverts commit [c35c003].
  • [30c0773]: Add hdmi audio device type detection. When using ALSA >= 1.0.25, allows myth to detect and display the audio capabilities of the audio device connected (TV or Amp)
  • [66516f3]: Make libsountouch support up to 8 channels audio
  • [f7fc68c]: Fix AC3 encoder when re-encoding non 5.1 audio
  • [9839dd7]: Fix audio digital passthrough device override setting. Fixes #10621
  • [76ed2bc]: Add line to allow testing of AAC encoding via libfaac.
  • [6655d24]: Fix memory leak in AudioOutputPulseAudio(). The code in question seems to serve no purpose but on the offchance that I'm wrong I've kept in place and just ensured that we cleanup after it.
  • [01048d8]: Add Hall type audio upmixing. Fixes #10751
  • [89a2520]: Use SSE accelerated floating point conversions.
  • [c35c003]: libmyth: Prevent an access violation by the ALSA library
  • [3debcd5]: Add basic session handling and passthrough.
  • [d86999d]: Fix crash. Problem was found using GuardMalloc/XCode
  • [e341868]: Following 6655d240572569284cdc34f804b7dd39838a2051. Can actually completely remove it
  • [c353a84]: Refs #10794. Add some debugging for failed CRC.
  • [32f5302] Actually mute the mixer when using ALSA.

Video Playback

Bug Fixes
  • [60cf735]: Fixes #9861. Upside-down videos taken on an iPhone are correctly flipped.
  • [3bbf624]: An option is added to the playback OSD menu to allow an in-progress playlist to be cancelled.
  • [4d0bbbe]: The ExactSeeking setting (seek to exact frame) is removed, in favor of more adaptive, sensible behavior. When doing relative seeks, snap to the nearest keyframe if its distance from the target frame is within 10% of the total seek distance. When seeking within the cutlist editor, use a value of 50% instead. Exact frame seeking is always used for absolute seeks (bookmark seek, skips based on cutlist/commskiplist, preview generation), and for keyframe and single-frame seeking in the cutlist editor.
  • [769059b]: Add functions for converting between pre- and post-cutlist frame numbers. Refs #8631. These functions are not actually used anywhere yet.
  • [b57fdf8]: Declare pre/post cutlist translation functions as const.
  • [f8ee92d]: Cutlist editor: Add new theme strings for editing.
  • [990e579]: Add new OSD theme strings for cutlist-adjusted times and durations. Refs #8631.

Disc Playback (DVD, Blu-Ray, etc) and Media Detection

Bug Fixes
  • [832a3fa]: Fix playback of blu-ray ISOs containing UTF8 characters. Fixes #10689, #9797
  • [477e12f]: Fix the media monitor unmounting blu-ray discs after insertion, we need them to be mounted in order to play them. Fixes #10759
  • [f92639f]: Following [12372544] populate the chapter cache _only_ for the current title and not every title on the disc. (DVD)
  • [49a7f31]: Don't store the last used DVD device
  • [fb89160]: Fix 'cancel' option when selecting DVD device
  • [d00d2a8]: Only prompt the user to select from 'usable' media

OSD, EPG, MHEG, CC, and Subtitles

New Features
Bug Fixes
  • [f13eeb0] Formatting of text-based captions and subtitles is put under theme control, via the new theme file osd_subtitle.xml. The CCBackground and DefaultSubtitleFont settings are removed.
  • [631bb1e] The Prefer708Captions setting is removed. CEA-708 captions are now always preferred over CEA-608 captions (though CEA-608 captions can still be selected during playback).
  • [0089f7d] The OSDCC708TextZoom setting is removed from the setup options and is now implemented as a live setting. The Subtitles sub-menu of the playback OSD menu has an option that allows the user to change the zoom setting for text-based subtitles during playback and see the effect immediately. Changes are immediately saved.
  • [461f42d] A similar live setting is added for bitmap-based subtitles, such as in DVD/BD videos.
  • [689a7b5] Improved handling of forced subtitles, both at the track level and at the individual subtitle level.
  • [ea554c9] Refs #10808 Track auto-selection is improved to take forced tracks into account.
  • [5c047f4] A complete set of CEA-708 fonts is provided.
  • [7b1aef8]: Refs #10786 CEA-608 teletext caption support is deprecated and will be removed in 0.27. Note that this is different from DVB teletext subtitles and standard CEA-608 closed captions.
  • [27fd744]: Fix some XDS parsing.
  • [fb2be2e]: Suppress some extended uncode characters in 608 caption debug output.
  • [bc9e741]: Subtitles: Use VB_VBI instead of VB_GENERAL for most 608/708 logging.
  • [62ba11a]: Subtitles: Make AVSubs zoom factor persistent.
  • [6aa737c]: Subtitles: Minor cleanup of SubtitleScreen:InitializeFonts().
  • [bf8d429]: Subtitles: Call Pulse() on the SubtitleScreen children.
  • [0bb3790]: Subtitles: Encapsulate zoom get/set into the SubtitleScreen class.
  • [53f7a1d]: Subtitles: Adjust AVSub scaling in some cases.
  • [650b272]: Subtitles: Rescale AV subs in place when the zoom factor is changed.
  • [d5ce98e]: Subtitles: Enable forced subtitle tracks. Refs #10735
  • [f0f37a5]: Subtitles: Avoid changing subtitle state in the decoder thread. Refs #10740
  • [b1eb74d]: Subtitles: Add a leading space to teletext subtitle backgrounds.
  • [419fc84]: Subtitles: Only display teletext captions inside the "box" area. Refs #10678.
  • [9b514c4]: Fixes #10820. Add iso-639 language code to teletext and dvb subtitles extracted by mythccextractor.
  • [79dc4b5]: Subtitles: Add a clarifying comment to the default osd_subtitle.xml.
  • [44f5414]: Subtitles: log the DEPRECATED_608_TELETEXT under -v general
  • [3df350e]: Fixed description of CEA-708 font tag 3: Monospaced Sans Serif.
  • [7190ddc]: Fix slow OSD issue.
  • [4379cfa]: Refs #8631. Set OSD relposition property for timestretch, volume, etc.
  • [3cf139e]: Improve comments and formatting in osd_subtitle.xml reference implementation.
  • [0a4eb5f]: Remove unused arguments from TV::UpdateOSDStatus().
  • [ca9086d]: Cleanup OSD::DialogShow(), this code had the potential to segfault if the theme was missing a dialogue definition.
  • [82318f6] OSD: Fix alpha calculation of expirable windows

Network Control

New Features
Bug Fixes


New Features
  • [00984d7]: Use correct RecordingInfo* in FinishedRecording()'s SendMythSystemRecEvent().
  • [98d02db]: Refs #10712. Add error checking, proper formatting, and improve debugging of previous commit.
  • [6911895]: Fix PlaybackSock::GetMaxBitrate protocol usage.
  • [cfda063]: A RecordingRule is owned by it's RecordingInfo and should not be free'd elsewhere.
  • [45368f1]: Convert HttpStatus date/time formatting to use MythDate. This is more consistent, more easily maintained and importantly allows proper translation of dates because it doesn't make incorrect assumptions about date formats. e.g In some languages the day of the week doesn't preceed the date as was hardcoded previously.
  • [9f447f4]: Change the signature of TvPlayWindow::gestureEvent() to match the base class, the two diverged at some point.
  • [529853d]: Move QUERY_FILETRANSFER handling to improve backend performance.
  • [b571874]: Adjust GPS leap seconds.
  • [16b232a]: Update example config.xml for new format.
  • [2e1820c]: Remove leftover garbage from example config.xml
  • [9b3d59c]: Remove legacy DBHostPing from config.xml
HTTP Live Streaming Server (all HLS changes collected here)
  • [45ff0a4]: Very quick HTTP live streaming support
  • [099b6cc]: Add HTTP Live Streaming playback
  • [0182f85]: Add 'Auto' as a valid width on the HLS test page.
  • [a46e9be]: HTTP Live Streaming fixes in AVFormatWriter
  • [c3774a8]: HTTP Live Streaming fix. Refs #10729.
  • [0a6818f]: Remove path names from HLS playlist entries.
  • [e2ef040]: Make HLS AES-128 support conditional on libcrypto being installed
  • [ac6d8e1]: Make HLS AES-128 support conditional on libcrypto being installed
  • [5d6b2c4]: Reorganise libmythtv, creating a DVD, Bluray and HLS sub-folder and moving their respective related code into them.
  • [d5528ae]: Fix seeking in HLS playback..
  • [17c164a]: Add HTTP Live Streaming recorder.
  • [5a8db30]: Loosen test for initial stream alignment before prefetch. We could otherwise end up with a stream with no segment left. So we ensure there's always at least one.
  • [413a8e0]: Fix HLS transcoding after 199342ef7a.
  • [e7a6d7e]: Squelch an inuseprograms DB warning during HLS transcode. Closes #10520.
  • [f66816d]: HLS encoder enhancements.
  • [71f462c]: Make HLS encoder debugging a little easier.
  • [628ea66]: Various HLS bugfixes.
  • [28fd68a]: Set the HLS status message when transcoding starts.
  • [aef3087]: HLS Fix and mythtranscode optimization. Fixes #10923.
  • [6fb8692]: Switch HLS audio encoding back to AAC by default. Reverted.
  • [d4e5c78]: Enable --avf mode to mythtranscode for testing HLS encoding.
  • [8ae3403]: Add a way to hide the player window in the HLS .qsp test page.
  • [8e96e2e]: HLS/--avf encoder fixes.
  • [2e9333d]: More HLS encoder fixes.
  • [4f6c08b]: Add method to immediately interrupt HLS read or seek. Ref #10934
  • [aaee047]: Make HDHRStreamHandler::_tuning int so it can contain -1 sentinel value.
  • [d613b99]: Remove and ignore streams containing no segments.
  • [db8ecbd]: Fix playback of some streams using unusually long segment.
  • [4b4209f]: fix tiny winy minor spacing issue
  • [928135e]: Remove the broken "Expire in deleted order" setting
  • [dd4eab1]: Remove avformat_network_init() not called warning.
  • [5cc6d1c]: Refs #10961. Add missing RunProlog()/RunEpilog(). May be related to #10934.
  • [8c551e6] Fix LiveTV when using HLS IPTVFeederLive::Open is expected to return immediately and not to block for a long time, otherwise the Event thread isn't running and cause the frontend to disconnect prematurely. Fixes #10934
  • [3234a34] Do not empty IPTVHLS buffer if there's no listener. This prevents the HLS buffer to be quickly exhausted during transition.
  • [f8b772b] Add extra verbosity for debugging purposes
  • [a52ec1d] Interrupt ongoing downloads in HLSRingBuffer destructor IPTVRecorder::Close() is expected to return quickly, so the event thread isn't blocked which would cause the frontend client to disconnect prematurely (it timeout after only 7s) Fixes #10987
  • [30d75bc] Ignore invalid sub-stream entries. A HLS stream may contain various bitrate streams, if one failed to download we would abort. Now just ignore it and continue. Fixes #10988
UTC Changes (all UTC changes collected here)
  • [df47df3]: This changes the internal representation of time to UTC.
  • [7768968]: It helps to return the date you've constructed from in a date function..
  • [00f505d]: Convert to local time before calling dayOfWeek() for week day check.
  • [1a99f69]: Date/Time cleanup of ManualSchedule.
  • [ce0aced]: Make the FileScanner's location enum private and fix some locations where sed had replaced the local kDatabase with MythDate::kDatabase.
  • [1c5bca8]: Fix some trivial issues in plugins.
  • [63b999e]: Remove QDateTime->QString conversion for a DATETIME binding.
  • [19ec6e8]: Fix some instances where ISODate was being used for DB insterts.
  • [ccb9e83]: Trivial fixes for plugins.
  • [613d43b]: Convert times to UTC in fromXMLTVDate.
  • [c6f6410]: Simplify calc_utc_offset().
  • [0d836c7]: Add UTC conversion DB update.
  • [bb40b6e]: Add progrstart,progend to things updated by for UTC in dbver 1303.
  • [8143b40]: Make MythDate::fromString() set the timespec to Qt::UTC.
  • [1f8c590]: Increment myth proto and services versions.
  • [b9f7eb1]: Convert QDateTime in various services to UTC ASAP. Also fixes three memory leaks in Dvr service.
  • [92bf53d]: Update additional tables for UTC.
  • [4700abc]: Use local time instead of UTC for "scheduled to end at" string.
  • [7fb9747]: Fix some UTC breakage for find and custom rules.
  • [4fcea3e]: Fix perl bindings to adjust to the UTC change
  • [181641a]: Fix scheduler related issues resulting from the UTC changes.
  • [cb5d81f]: Fix mac compilations following UTC and qjson changes
  • [f2dd6f9]: Convert some the code in [d4f718cd1] Myth Services UTC commit, to use MythDate utility functions.
  • [19d6095]: Use QDateTime::currentDateTimeUtc() with Qt 4.7+
  • [14ad67e]: Keep MythUIClock time in UTC internally.
  • [8fd31be]: Fixes #10853. Create next update time in terms of UTC.
  • [aa162d5]: Fix upnp following UTC conversion.
  • [28d9324]: Use UTC time for createion of log files.
  • [103d8a1]: Fixes #10877. Add MythDate::as_utc() wrapper where necessary.
  • [6c234ae]: Return 'asof' time in UTC.
  • [6f63799]: Add timezone awareness to datetime class.
  • [c99ce87]: Remove toLocalTime in a couple RSSParse functions.
  • [4cb4f60]: Add missing QDateTime timespec.
  • [5b86d8b]: Use `date` type rather than `datetime` for 'releasedate attribute'.
  • [c2ef5d1]: Use `date` rather than `datetime` for storing dates.
  • [4f028f3]: Refactor mythmiscutil.h splitting off date/time stuff into mythdate.h and timezone stuff into mythtimezone.h
  • [92ce8e2]: Fix some mythmiscutil.h->mythdate.h changes missed in [4f028f388c].
  • [f840288]: Put in the MythDate use in logging timestamps
  • [c062750]: Fixes #10827. When comparing dates for Yesterday/Today/Tomorrow output, use local time.
  • [b149724]: Use MythDate::current().toTime_t().
  • [7624433]: Use MythDate::current() to get current time in DVR class.
  • [86eee5e]: Show mythfilldatabase start/end in local time on the backend status page.
  • [8da7de4] Fix status XML ISODate attribute. Removed erroneous string "MythDate::" which caused malformed XML in the Service API Status/GetStatus output. Fixes #11036.
  • [8da7de4] Fix status XML ISODate attribute. Removed erroneous string "MythDate::" which caused malformed XML in the Service API Status/GetStatus output Fixes #11036.
  • [5b1a6c3] Fix missed UTC converstion in Python MythXML class.
  • [b393cbc] Complete timezone handling in Python bindings following UTC change. Refs #10941
  • [8fc5e25] Report first conlict date in local time.
  • [186e2c0] Fix UTC issues dealing with program.originalairdate.
Bug Fixes
  • [68a6f02]: Attempt to plug a memory leak in MPEG2 "lossless" transcode
  • [bd883d7]: Almost complete rewrite of RAOP server
  • [c45628d]: Add two network utility methods to ServerPool for Airplay and RAOP
  • [1d375db]: Add two network utility methods to ServerPool for Airplay and RAOP
  • [29cd39b]: Use new ServerPool capabilities, and only advertise AirPlay via Bonjour if the server creation was successful
  • [f4d7bff]: Add logging information as to why MythTV would fail to listen on a port. Refs #10634 (serverpool)
  • [5d1dc99]: Fix handling of IPv6 link-local address (serverpool)
  • [34c46f1]: Fix handling of IPv6 link-local address (serverpool)
  • [f125f53]: Always re-use the same computer ID for AirPlay. Share ID between RAOP and AirPlay
  • [fe11b61]: Various fixes in Airplay
  • [357573a]: Fix seeking with some http streamed content
  • [1f4f89b]: Add AirPlay support from iTunes.
  • [604b4f7]: Fix AirPlay compilation if RAOP isn't compiled in.
  • [3756e32]: Use correct time in Airplay server response.
  • [1216d2a]: Add general methods for emitting and retrieving TV playback status via Qt signals.
  • [a519a4d]: Allows multiple sessions to Airplay and RAOP Fixes #10885
  • [ae61cb9]: Add playback registration handling
  • [933bffc]: Adapt Airplay and RAOP to new playback registration mechanism.
  • [11ea7ef]: Add graphic user configuration for AirPlay.
  • [fa1571c]: Add AirPlay password authentication support. Fixes #10310
  • [fa54d5d]: Fix possible deadlock in AirPlay serve
  • [491a033]: Fix logging type and improve logging. Fixes #10635 (Airplay)
  • [a9f18c6]: Correct --printexpire option in mythbackend.
  • [bd7d93e]: Fix VDA decoder following ffmpeg rsync
  • [579fdcf]: Fix audio decoding following FFmpeg resync
  • [97bbc95]: Fix AC3 encoder and SPDIF muxer following FFmpeg resync. Fixes #10709
  • [133538c]: use libmpeg2/mmx.h header instead of the obsolete FFmpeg/libavcodec
  • [7593192]: Refs #10745. close & reopen H.264 codec when necessary.
  • [83e227a]: Fixes #10745. Fix segfault on H.264 resolution change.
  • [2531893]: RingBuffer: Set the oldfile flag only once per live TV segment. Refs #10490.
  • [65f7da1]: If we recieve an programinfo UPDATE event for a recording which isn't in our cache (maybe it's been deleted) then don't schedule a list update.
  • [ac04246]: Don't autoselect a backend if the user has specified that no autodetection should be done.
  • [acc4cd4]: Rework RecorderBase::AspectChange() so it can't cause divide by zero.
  • [7e450b9]: Stop checking timezone when connecting to a backend, it no longer matters for correct functioning.
  • [f042bc2]: Send "REC_FINISHED" on correct recording.
  • [1850a25]: Change MythDownloadManager to allow for multiple headers
  • [b466a1f] Fix MythDownloadManager::cancelDownload() cancelDownload would delete the MythDownloadInfo object, while the object was still in use by the downloading thread, resulting in a crash.
  • [32cd375]: Fixes #10685. Handle job queue properly for back-to-back recordings.
  • [6dbdc91]: Explicitly set SRT Writer codec to UTF-8
  • [00984d7]: Use correct RecordingInfo* in FinishedRecording()'s SendMythSystemRecEvent().
  • [98d02db]: Refs #10712. Add error checking, proper formatting, and improve debugging of previous commit.
  • [6911895]: Fix PlaybackSock::GetMaxBitrate protocol usage.
  • [cfda063]: A RecordingRule is owned by it's RecordingInfo and should not be free'd elsewhere.
  • [45368f1]: Convert HttpStatus date/time formatting to use MythDate. This is more consistent, more easily maintained and importantly allows proper translation of dates because it doesn't make incorrect assumptions about date formats. e.g In some languages the day of the week doesn't preceed the date as was hardcoded previously.
  • [9f447f4]: Change the signature of TvPlayWindow::gestureEvent() to match the base class, the two diverged at some point.
  • [529853d]: Move QUERY_FILETRANSFER handling to improve backend performance.
  • [b571874]: Adjust GPS leap seconds.

Scanning and Tuner/Recorder Support

Channel Scanner

  • [9b8a005]: Fixes #8983. Allow relaxed matching of channels in DB.
  • [090f847]: Add rsOtherTuning and rsOtherRecording recording statuses.
  • [a32d5e3]: ChannelScan: Update multiplex transponder and network id when channel updated.
  • [a0e517e]: Remove a concatenation in the scan progress message

Ceton InfiniTV


  • [0a1f8a7]: Extend the benefits of [6c8aeb1457a] to the ASI recorder.



  • [810b3af]: Fixes #10712. Add support for HDHR Prime without CableCard (e.g. Clear QAM, this doesn't mean OTA support.)

IPTV Recorder




Other Hardware "Support"

Consumer Electronics Control Support - "CEC"


New Features
  • [e326f26]: Don't translate terms related to the "Missed Future" recording status.
  • [7babade]: Log entire reschedule requests.
  • [71c65ba]: Add recording rule templates. See commit for details.
  • [d418754]: Schedule editor flexibility and other enhancements. See commit for details.
  • [788bc51]: Protect the reschedule queue with a seperate lock to fix a backend deadlock. Refs #10771
  • [6cb14ee]: More scheduler/recorder deadlock avoidance.
  • [f38e299]: Allow deferred evaluation when creating custom recording rules. Fixes #10734
  • [be2f9d9] Don't enable metadata button in schedule editor if not recording.
Bug Fixes
  • [cbb8eb1]: Add duplicate checking and limited matching optimizations and other scheduler related changes. See the commit for details on this change. Fixes #10533
  • [ca27332]: Hopefully remove more scheduler/recorder deadlocks. Fixes #10647, #10770 and #10771.
  • [8881796]: Fix 0ms sleep time calculation in scheduler. Fixes #10279.
  • [ae54e3b] Fix handling of maxepisodes for babk-to-back recordings. Fixes #11049

Setup / mythtv-setup

New Features
Bug Fixes
  • [a640d37]: Rework IP selection so link-local is always used.
  • [b66f0cf]: Add configuration changes in mythtv-setup missed by a640d37


New Features
Bug Fixes
  • [c6a6962]: Simplify and overcomplicate OS detection for hardware profiler. (Smolt)
  • [b5e154f] Make hardware profiler ignore errors and continue. Fixes #10986
  • [c96ded1] Use config detection in Python bindings for stored smolt data. Fixes #10982
  • [6c5378c] Remove/replace some of the outdated information in the Doxygen documentation landing page.
  • [a625725] Typo in download manager.
  • [9b526cc] Reinitialize database session variables when reconnecting. Fixes #11086
  • [0a56d7f] Add three missing SAR values defined in the H.264 spec to H264Parser::aspectRatio() fixes incorrect display aspect ratio for some videos and recordings.
  • [2861862] Calculate current playback position using frame count and frame rate.
  • [30f6e33] Fixes #11072. Improve cc708 thread safety. There still appear to be potential race conditions, which can be fixed by adding more locking. Refs #10984.
  • [c7f0676] Add support for real time signal 0 handling Fixes #11110


New Features
Bug Fixes
  • [33705ae]: Apply the MythUIShape's alpha attribute when drawing it.
  • [2afae60]: Make MythUIType::SetPosition() a non-virtual, descendants should not need to override this to change SetPostion() functionality. Overriding SetPosition(const MythPoint&) should be sufficient, and is what existing descendants do now.
  • [e763a6a]: Handle mouse in mythuibuttontree.
  • [c9497cb]: Fix incorrect deletion of a MythUIType object in MythUIButtonList::CopyFrom() which left an invalid pointer in the list of children. Refs #10807
  • [36364d1]: Protect the MythUIType destructor to prevent it being called incorrectly. Refs #10807
  • [b4f440f]: Replace stray tabs in mythuibuttonlist.h
  • [6cfda0c]: Rename a couple of methods in MythUIButtonList to avoid confusion with other similarly named methods elsewhere.
  • [a336dc1]: Rename MythUIEditBar::SetPosition() to SetEditPosition() to avoid confusion with the wider use of SetPosition() to set the x,y coords of a widget.
  • [8438a0e]: Change MythUIButtonList::SetValue() to pass QString by a const reference rather than value.
  • [8d6e680]: const correctness fix in mythui.
  • [d7a27a1]: Initialize m_Time properly in MythUIClock.
  • [ff9073d]: MythUIButtonList::MoveDown: Prevent segfault when there are not enough items to process.
  • [aaed391]: 'none' is not a valid URL and ignoring it just masks bugs elsewhere in the code
  • [beeeebb]: Simplify Setup pincode checking. Refs #10950

Translations & Localization/Internationalization

  • [daf67b1]: Updated Finnish MythFrontend and all plugins translation from Ilkka Tengvall.
  • [15591c6]: Update the Spanish translation.
  • [20e83ec]: Revert "Updated Finnish MythFrontend and all plugins translation"
  • [c4b33d3]: Updated Finnish MythFrontend and all plugins translation from Ilkka Tengvall
  • [2d686db]: Updated Norwegian Bokmal translation update
  • [4b8b3cc]: New Bulgarian MythNews and MythZoneMinder translation
  • [cfbbed0]: Updated Spanish/Spain MythFrontend translation from Antonio Marcos Lopez Alonso
  • [5d2fe3d]: Updated Italian MythFrontend Translation from Morris Cavestro
  • [7c3f7da]: Updated Italian MythFrontend translation from Morris Cavestro
  • [045e606]: Use QLocale::toString() in preference to sprintf or QString::number() since this will format numerical strings according to the preferred format for the user's locale. Also combine a 'split' string into one for translation, since concatenated strings cannot be translated correctly.
  • [59703a7]: Fix an instance of a concatenated translated string which prevents proper translation.
  • [7d9bb76]: Replace some more instances of concatenated strings which cannot be translated correctly.
  • [1ff0145]: Improve the translation of strings in the DeleteMap class.
  • [5b56d64]: Avoid a segfault in the language selection prompt if no translations have been installed.
  • [ed073b5]: Updated Spanish/Spain MythFrontend, MythArchive and MythMusic translation from Antonio Marcos Lopez Alonso
  • [2834294]: Translate some additionnal strings in the Information Center
  • [266ebc2]: Translate the Blu Ray regions in the settings pages.
  • [aad4f63]: Some MythGallery translation fixes.
  • [e9a7a13]: Remove the concatenation to permit proper translation.
  • [70f02af]: Translation context changes and remove of concatenations.
  • [44f23ce]: Remove old translations from the ExecTV sample
  • [15d9bca]: Removal of concatenations and translation context changes.
  • [c043899]: Miscellaneous translation fixes (concatenations, context, comments...)
  • [20d8ef6]: Updated Spanish/Spain MythFrontend, MythGallery, MythGame and MythMusic translation from Antonio Marcos Lopez Alonso.
  • [a31cd26]: Italian translation uodate from Morris Cavestro
  • [55b46eb]: MythGame miscellaneous translations files (context, etc...)
  • [857c86f]: Small MythWeather translation context change
  • [39adcf8]: MythNews small context change
  • [5007f04]: Updated Greek MythFrontend, MythGallery, MythGame, MythMusic, MythNews and MythWeather translation from Yianni Vidalis
  • [2075e9f]: Updated Greek MythFrontend Translation from Yianni Vidalis
  • [5811dd2]: Updated Italian MythFrontend translation from Morris Cavestro
  • [0767239]: DVB descriptors translation context change
  • [da63aa5]: Translation context change for cc608 program types/categories
  • [bf557a8]: Updated Normwegian Bokmal MythFrontend, MythGame, MythMusic, MythNews and MythWeather Translation from Rune Evjen
  • [721cf61]: Updated Estonian MythFrontend, MythGallery, MythGame, MythMusic, MythNews and MythWeather translation from Marko Punnar
  • [73621b9]: Updated Estonian MythFrontend, MythArchive, MythBrowser, MythGame, MythMusic, MythNews, MythWeather and MythZoneMinder translation from Marko Punnar
  • [cec08db]: Updated Hong Kong Chinese MythFrontend and MythArchive translatation from Walter Cheuk
  • [a7f980f]: Clarify translated error strings for mythfilldatabase too, signed off by Nicholas Riendeau on behalf of the translation team.
  • [2961d1f]: It's redundant to wrap tr() in QString() since it returns a QString()
  • [e7adbb6]: Translate strings that were missed out earlier and missed the 0.25 features freeze
  • [406dcfa]: Make DB setup strings translable and put them in the same context.
  • [fc07bfd]: Fix an untranslated string -- "(forced)" for subtitle track description.
  • [c53542f]: Make the icon importation text translatable. Fixes #10579
  • [1a56a47]: Fix an incomplete error message and context changes.
  • [220809a]: Make translatable dish tv categories
  • [3a086e3]: Refs #10768. Allow ComboBoxSetting::SetDBValue() to set a value for a not yet loaded selection list.
  • [7a2fc43]: If SetCurrentFocusWidget() is called on a widget which already has focus then just return. This avoids a lot of unnecessary updates and redraws.
  • [9b23866]: Make MythRenderD3D9 destructor private. Like MythRenderVDPAU in [773f35c4] this class should also be reference counted.
  • [38c4fe5]: Fix a log message
  • [0f3d088]: Always recognize Season and Episode in addition to their translation when parsing video files. #10613
  • [7b81b2a]: Make translatable MythTranscode strings which should have been translatable. Closes #10972
  • [739d456]: Updated Greek MythFrontend, MythArchive, MythBrowser, MythGallery, MythGame, MythMusic, MythNetvision and MythNews translation. Closes #10979
  • [5b8a9c8]: Updated German MythFrontend, MythArchive, MythGallery, MythGame, MythMusic, MythNews and MythWeather translation from Florian Bittner. #10973
  • [e46d3cc]: Updated Norwegian Bokmal MythFrontend, MythGallery, Mytnetvision translation . Closes #10978
  • [47c222d]: Make translatable MythMusic strings which were not translatable.
  • [b8e7df5] Updated Spanish/Spain MythFrontend, MythGame, MythMUsic, MythNews and MythWeather translation from Antonio Marcos Lopez Alonso. Thank you Antonio! Closes #10983
  • [5755944] Updated Greek MythFrontend, MythGame and MythWeather translation from Yianni Vidalis Thank you Yianni! Closes #10990
  • [5ff8a8a] One last theme string update before the full string freeze so that everything that comes from the themes we translate will be translated.
  • [b1f38e4] Updated Estonian MythFrontend and MythMusic translation from Marko Punnar. Thank you Marko! Closes #11001
  • [e39a95c] Updated Finnish MythFrontend, MythGallery, MythGame, MythMusic, MythNetvision, MythNews and MythWeather translation from Ilkka Tengvall. Thank you Ilkka! Closes #11005
  • [097762d] en-gb updates for mythfrontend
  • [c31c579] en-gb updates for mythtv plugins
  • [7646041] Update the binary translation files for en_gb. Fixes #11000.
  • [7dadee0] Update the Finnish translation of mythfrontend and plugins. Fixes #11007.
  • [7203f17] Update the Norwegian translation of mythfrontend and plugins. Fixes #11009.
  • [18da77c] Updated Greek MythFrontend and MythZoneMinder translation from Yianni Vidalis Thank you Yianni! Closes #11015
  • [9cba97b] Updated Greek MythMusic translation from Yianni Vidalis Thank you Yianni! Closes #11016
  • [2ba42aa] Updated Slovenian MythFrontend translation from Thank you! Refs #11022
  • [e55b5b1] Updated Italian MythFrontend, MythBrowser and MythGame translation from Morris Cavestro. Closes #10945
  • [5be7a55] Updated German MythFrontend and MythMusic translation from Florian Bittner. Closes #11039
  • [fe9de38] Updated US English translation
  • [4c42c28] Updated Canadian English Translation
  • [3b81805] Removal of obsolete strings from the US English translation
  • [e55b5b1] Updated Italian MythFrontend, MythBrowser and MythGame translation from Morris Cavestro. Closes #10945
  • [5be7a55] Updated German MythFrontend and MythMusic translation from Florian Bittner . Closes #11039
  • [fe9de38] Updated US English translation
  • [4c42c28] Updated Canadian English Translation
  • [456e356] Updated French MythFrontend, MythGallery, MythGame, MythMusic, MythNews and MythWeather translation.
  • [1bf4fce] Update the Polish translation of mythfrontend and plugins. Fixes #11052.
  • [127b32e] Generate binary Polish translation files. Refs. #11052.
  • [b7da24c] Update the Slovene translation of mythweather.
  • [14fbeb5] Update the binary translation file for the Slovene translation of mythweather. Fixes #11076.
  • [c51c58e] Update Spanish/Spain MythFrontend translation. Closes #11083
  • [6b7c792] Updated Chinese/Hong Kong MythFrontend translation. Closes #11006
  • [a5b00e0] Updated Italian MythFrontend translation. Closes #11107
  • [d4fb09a] Updated en_gb translations for MythTV core and MythWeather.
  • [c34705a] Regenerate British English QMs
  • [7c03609] Updated Estonian Mythfrontend and MythWeather translation. Closes #11113
  • [95dbece] Upsated Greek MythFrontend and MythWeather translation. Closes #11114
  • [5c6a9bd] Updated US English translation
  • [b2314d9] Updated Canadian English translation
  • [478de41] Updated Finnish MythFrontend and MythWeather translation. Closes #11122
  • [73f41b0] Updated German MythFrontend and MythWeather translation. Closes #11125
  • [358af8a] Updated French MythFrontend, MythArchive, MythMusic and MythWeather translation.
  • [57a493c] One last exceptional theme string update. A message will be sent on the translators mailing list about it.
  • [52605ca] An updated string that was missing in 57a493c.
  • [15a2839] One last entry I forgot to manually apply (the patch has not yet been applied to the location where we fetch our copy of the themes).
  • [c71188c] Fix a typo in MythMediaStream theme description
  • [060383f] Update the Danish translation of mythfrontend.
  • [d6ec9e4] Updated Norwegian Bokmal MythFrontend, MythGallery, MythGame, MythMusic, MythNetvision, MythZoneminder tanslation. Closes #11130
  • [6596484] Update the Swedish translation. Update of the Swedish translation for mythfrontend and all plugins made
  • [0de360e] Update the Danish translation of mythgallery, mythgame, mythnews and mythweather.
  • [dfefee4] Update the Italian translation of mythgallery, mythmusic and mythfrontend.
  • [a1ff1f2] Generate binary translation files for the Italian translation, following dfefee4749. Fixes #11120.
  • [907bd2d] New Chinese/Taiwan locale file. Closes #11129
New Features
Bug Fixes


  • [0dcd637]: Add GNU FreeFont and Droid fonts to the top-level themes directory.
  • [ae1eeea]: Remove a deprecated theme menu file.
  • [d273cd7]: If a grabber cannot return a value for a data field then allow the themer to hide it or chose what value to display instead of 'N/A'
  • [14ff947]: Update the theme strings for 0.26
  • [980be9f]: Restore setup pincode following [57adc5d120]. Fixes #10950
  • [3128dac] Fix incorrect strings in frontend standy screen. Fixes #11101
  • [ce5b791] Replace the master version of the Blue-Abstract theme description with the 0.26 one.



DVR Menu Theme






MythCenter Animated


  • [9a24a21]: Remove zoom on MythCenter-wide popups.
  • [c51c98a]: Set MythCenter-wide version to be +1 of the version in 0.25.
  • [e4f9288]: Remove MythCenter-wide/fonts/ directory.



  • Version 1.9 now available (shows off [d418754] schedule editor changes.


  • [88e9b64]: Remove forced Terra theme for mythtv-setup.
  • [f842d1b]: Give more space for the channel number in the Terra OSD

Misc. Theme Development

New Features
Bug Fixes


Mac OS X

New Features
Bug Fixes


New Features
Bug Fixes
  • [42e5084]: libmyth: mediamonitor-windows add removeable media handling Fixes #10295
  • [263d868]: Improves cache file selection for Windows.
  • [1c48a36]: Attempt to fix windows build
  • [253e963]: Hopefully fix Windows build #2 libmythbluray depends on libxml, yet it's not linked against it.
  • [4a7845e]: Hopefully fix Windows build #2
  • [68b34f2]: Unbork setsockopt for Windows (hopefully)
  • [8a0724f]: Clean up windows support in signalhandling.cpp
  • [89106e6]: Have SyslogLogger defined in Windows, but with empty methods
  • [62f3c64]: Refs #10841. Define SIGBUS as SIGSEGV on windows systems.
  • [230d8b9]: Fix windows compilation error
  • [f32d6cb]: Disable SignalHandler::AddHandler for windows
  • [769d296]: Try to fix configure for windows
  • [11dee65]: Trying again to fix windows configure



New Features
Bug Fixes




New Features
Bug Fixes
  • [0d8e93c]: Use empty() or isEmpty() rather than size() for checking emptiness of containers.
  • [c722636]: mythgallery: Improve the list of supported image and movie file formats
  • [ab9a50c] Disable the idle timer during a slideshow.


New Features
Bug Fixes
  • [61163ba]: Fix the translation of gametypes in MythGame's setting page.
  • [6119188]: Remove MythGame's MAWS grabber.
  • [71ca47f]: Per UI guidelines remove 'Cancel' option from mythgame popup

[31ea20d]: Show the translated player type in the list of players.


New Features
  • [cdde562]: MythMusic: Add ice/shoutcast radio stream playback
Bug Fixes
  • [28ed490]: mythmusic: Fix cross compiling for win32 Fixes #10742
  • [7dae5c7]: libmythbase: Handle mixed-mode (audio+data) CDs Fixes #10296
  • [de851dd]: Set m_cdWatcher to NULL after deletion, fixes segfault on exiting frontend. Fixes #10936
  • [8c48b71]: MythMusic: Pass the full filename to TagExists() in Metadata::getTagger()
  • [eaa903e]: Make mythmusic work right with new ffmpeg API
  • [c5d987c]: Clean up a bunch of mythmusic compile warnings
  • [ba0b3de]: Fix a warning in mythmusic's synaesthesia visualiser.
  • [4762bb7]: MythMusic: Fix a segfault introduced by the ffmpeg resync
  • [e3699a6]: MythMusic: Remove some no longer used key bindings
  • [e7e6492]: MythMusic: Add keybindings to jump to all the views
  • [fa9edd6]: MythMusic: Add TOGGLESHUFFLE and TOGGLEREPEAT keybindings
  • [9bc18c8]: MythMusic: Make 'All Tracks' add all the tracks to the playlist
  • [b6dc2b2]: MythMusic: Add directory browsing to the playlist editor
  • [9217878]: MythMusic: Add the missing mm_directory.png
  • [3a29f2f]: Update mythmusic for new ffmpex-mmx.h header
  • [81cc283]: Add 'year' to music metadata for upnp
  • [f668f40]: Store music filesize and expose to the UI.
  • [992cba7]: Add filesize to music metadata for upnp
  • [d5137aa]: Hunk missed from mythmusic streaming merge.
  • [ab33b88]: MythMusic: Add some menu items for the new radio stream playback
  • [356e59a]: Use the global musicDir variable instead of querying the setting
  • [92083c8]: MythMusic: Fix showing the mini-player while playing a radio stream
  • [ebf4860]: MythMusic: Couple of tweaks to streaming radio playback
  • [2f03c91]: Fix translation concatenation issue in MusicPlayer
  • [42b2b24]: Silence some MythMusic initialisation warnings
  • [84aac9d]: libmyth: Avoid a divide by 0 exception in AudioOutputBase
  • [4c15a87]: Remove unused files from mythmusic
  • [b2379ae]: Fix segfault after music scan completes.
  • [f2e29bb]: Reduce the 'blank' visualiser framerate to 1fps as a temporary fix for the ridiculously high CPU usage of a visualiser than should use next to no CPU at all.
  • [dc1b2ad]: Quick fix for a segfault in Playlist::shuffleTracks()
  • [e331017]: Fix for Synaesthesia memory corruption
  • [a7c7b52]: Fix a bug resulting in multiple copies of the same track being inserted into the database;
  • [2ffbeb8]: freemheg: Fix the colour of default initialised visible elements
  • [16ca094]: MythMusic: Remove duplicate menu entry for the Fullscreen Visualiser




New Features
Bug Fixes
  • [ba9bcba]: MythNetvision: Fix segmentation fault in NetTree::showMenu. Fixes #10603

MythVideo/Video Gallery

New Features
Bug Fixes


New Features
  • [53c1940]: Add an 18 hour view for the UK Met Office grabber
  • [7c57a6e]: Actually install the Met Office grabbers
  • [c7b8491]: Actually install the Met Office grabbers
  • [a3aa6f5]: Add a new required 'copyrightlogo' widget to all weather screens
  • [ba12736]: Properly format all data items, including those from the 18hr forecast
Bug Fixes
  • [f5d1986]: Fix a segfault in mythweather when search for location
  • [e4c181a]: Redid wunderground scripts to use the REST API
  • [c887dad]: Add a weather grabber using the official MetOffice API for the UK
  • [2af2156]: Drop the BBC weather grabber, it's broken and replaced by the Met Office grabber in the UK, Wunderground for the rest of the world
  • [3f108e7]: Allow all weather screens to be deleted
  • [04715f6]: Mythweather - If for some reason the screen doesn't exist in the DB then we need to abort the save or insert bogus entries.
  • [eb25ae3]: Add missing 'use' call in
  • [5239296]: Ignore time periods in the past for the Metoffice 18 hour grabber.
  • [b379de3]: Guard against incomplete data in the MetOffice feed, if a period contains no data then skip over it
  • [114d4cd]: Make all scripts actually output copyrightlogo
  • [fc5bb99] Update MetOffice weather grabbers for changes to API
  • [53b89ce] Remove debugging output accidentally left in


New Features
  • [ff51537] Don't show template recording rules in mythweb
Bug Fixes
  • [39a5dcd] Fix MythWeb Upcoming Recordings programinfo usage.
  • [ee941be] Converts some utils.php functions to UTC.
  • [0427785] Set php/pl connection timezone to +0:00
  • [7232c54] Suppress more PHP 5.4 warnings


Bug Fixes
  • [426de1b]: Refs #10311. Port zoneminder use for MythSocket to ReferenceCounter.

Support libraries & Frameworks

UPnP / Bonjour

New Features
Bug Fixes
  • [da49b57]: Make services running on the frontend and advertised through Bonjour to listen to all interfaces
  • [47fb47c]: Set MythXMLClient::GetConnectionInfo sMsg for some of the error cases so the user knows what is going on, instead of getting OK dialogs with no text.
  • [3e5bd14] Properly initializes UDP message listener. This properly initializes the ServerPool reference to NULL in the UDP Listener class. Fixes #11037
RAOP Related
  • [e41a283]: Fixed RAOP audio decoding to use all frames in a packet
  • [a787633]: Convert the RAOP audio decode to use new ffmpeg API
  • [3d62be7]: Make RAOP server properly handle any size of decoded audio packets.
  • [a2c32ba]: Fix crash in RAOP when a client disconnect
  • [640ddc3]: Rework RAOP protocol handling
  • [3265013]: Add full IPv6 support to RAOP and fix Bonjour discovery of RAOP service.
  • [34dcb2b]: Add full IPv6 support to RAOP and fix Bonjour discovery of RAOP service.
  • [374e2cd]: Fix RAOP time request failing to send
  • [9be52e2]: Pre-increment iterators for efficiency in serverpool and mythraopconnection.
  • [ea65b58]: Fix RAOP following ffmpeg resync
  • [c71ee01]: Fix include statement.
  • [f9e869f]: Make sure UPnP autoconfiguration allows backends time to respond.
  • [77b68d5]: Resend UPnP search request when waiting for one backend to respond.
  • [217be24]: Make UPnP backend selector buttons work.


  • [96787df]: Remove old ffmpeg contents
  • [4300f0e]: FFmpeg sync as of 03/31/2012
  • [52be988]: Cumulated changes from previous sync
  • [9cb02de]: Make it compile at least the ffmpeg part
  • [940dd94]: Roll-up of all changes after the previous sync
  • [6c3653c]: Make it all compile...
  • [126cff6]: Get playback working.
  • [e23cc71]: Fix ffmpeg install to include .so.major as needed
  • [ed6aa4c]: Fix nuppeldecoder use of ffmpeg API
  • [340a68d]: OK, that was the right idea, but the wrong way around.
  • [449d36d]: Fixed a couple more ffmpeg _encode_* API deprecations
  • [75eafd4]: Fix goom to use av_get_cpu_flags() from current ffmpeg
  • [106132b]: FFmpeg adjustment.
  • [30b7da7]: Fix error introduced in [940dd94]
  • [174c795]: re-sync FFmpeg to SHA:ea5dab58e074a91330e1f076a4cbe8fece889afe
  • [a3e747b]: FFmpeg resync to SHA1:cc4d80c99ff3169b71c62691d5c7602ef673c3dc
  • [ed69ea8]: FFmpeg resync to SHA1:f218121a4d79f9aab45526f3d1655ec2cc8de0d1
  • [3369fcf]: Rename files to have more consistent naming scheme between all new FFmpeg files
  • [92016b9] Fixes #11029. Ensure AVPacket's data and size fields are initialized.

MythXML, API Service, & Webserver

  • [3c0d159]: Add eTag (entity Tag) support to Services API to help cache data on client.
  • [47c96d5]: Add support to return gzip'd content from built-in http server.
  • [5aaca58]: Fix possible undefined behaviours in libmythprotoserver
  • [acaccbb]: Add a doctype to index.html for the backend server Fixes #10639
  • [381c2eb]: Fix backend webserver when html dir path contains a link.
  • [bef289c]: Fix menu background color in backend webserver.

Python bindings

  • [524fc85]: Correct file hashing mechanism in Python bindings.
  • [a2f0333]: Update Python bindings to use the new config.xml format. Fixes #10692.
  • [ef2c748]: Update version listed in python bindings egg.
  • [524fc85]: Correct file hashing mechanism in Python bindings.
  • [a2f0333]: Update Python bindings to use the new config.xml format. Fixes #10692.
  • [ef2c748]: Update version listed in python bindings egg.
  • [7643393]: Changes seconds to milliseconds in poller loop. Fixes #10837
  • [fff02e6]: Add data poller loop for kqueue. Ref #10737
  • [868a566]: Properly set job type in fromProgram and fromRecorded methods.
  • [e4c6e5d] Correct URL for MythXML.getExpiring() This changes getExpiring() from using the incorrect "Dvr/GetExpiring" to the correct "Dvr/GetExpiringList". Fixes #10968
  • [d29f6fb] Add pretty representation to BitwiseEnum type.
  • [a13816c] Correct reversed date processing for DictData class.
  • [f357257] Move dictionary-like classes into utility module.
  • [6ce3e15] Optimize transition lookup for timezone handling in Python bindings.
  • [657b888] Force proper typing on user input to datetime attributes.
  • [a403c19] Reorder zoneinfo processing to ensure all transitions are handled. Refs #11093
  • [91c3e66] Add better handling of simple zoneinfo files. Fixes #11093
  • [8c9fc7a] Add error handling for Frontend UPnP autodetection.
  • [44ebd80] Ensure proper timezone handling of data passed to update() and create().
  • [2076d12] Add check for 'No Cover' when applying coverart to videos.
  • [dbd7a9e] Add 'releasedate' to properties handled by Video.importMetadata()
  • [272fb61] Fix argument count error in MythBE.getConflictedRecordings().
  • [2353ef9] Correct broken machinery in Metadata class following datetime changes.
  • [6a8a845] Correct datetime queries for DBDataRef and DBDataCRef classes.
  • [1e06473] Fix immutable type issue in 6a8a845.
  • [9c4e49c] Force all datetime objects to be timezone aware.

Perl bindings

  • [e464d29]: Handle new config.xml format in backup/restore. (perl bindings)
  • [b10ca6a]: Fix Perl bindings config.xml parsing
  • [e802ee1]: Update bindings internal version.
  • [45f24b0]: Fixes #10618 - serve xslt files as text/xml (httprequest)
  • [3fb9d6e]: Fixes #10305. Remove mysql.txt support.
  • [ac4e2d9]: Stage tables for rewritten media scanner for video library.
  • [121ebdd]: The myth->unix needs to convert from localtime -> GMT, but somehow the other way requires GMT as an input directly.

PHP bindings

Utility Applications





  • [e778f23]: Add more debug logs in the DataDirect and MythDLMgr code Refs #10662
  • [bb58a94]: Marking episode first/last showings performance. Fixes #10482
  • [4ba7c3d]: Make mythfilldatabase calls put user-provided args last. Fixes #10683
  • [c06b706]: Specify MySQL storage engine for mfdb temp tables.
  • [1a14842]: Clarify an error message to indicate that the xmltv grabber is erroring, not mythfilldatabase
  • [fe8e17d]: Use the same version of ELFHash as QT does in qlinguist/qrelease, this version involves fewer casts and less chance of losing data in the process. (mfdb)




  • [6f69e85]: Added mythlogserver
  • [d3299b9]: OK, good JSON made, no ZeroMQ reception
  • [a619456]: Got all the linkage in to receive and log
  • [3df093d]: Seems to be working - File and syslog tested, db not tested
  • [e9192f1]: DB logging tested
  • [cf0d2d6]: Shutdown is now clean and smooooth.
  • [cb4f433]: Implement heartbeats
  • [0dfdee4]: Fixed heartbeat. Tested
  • [38da9df]: Fix the detection of mythlogserver running
  • [4e54851]: Added heartbeat in clients.
  • [9fca7fc]: Add in the hooks to the external makefiles.
  • [fe43e40]: Add the autoconf-generated files so hopefully people don't need autoconf.
  • [c2132cf]: Added 5 min idle shutdown
  • [8e19503]: Fix order of startup for logging in logserver
  • [edce592]: Split the logserver into two threads
  • [051df03]: Propagate the logging args to the logserver on startup
  • [29d3f12]: Set SIGHUP to ignore on all but mythlogserver
  • [4215d75]: Actually close the log files!
  • [b0a0e56]: Append prefix to the command line when starting mythlogserver.
  • [32d0756]: Don't use the background flag when starting mythlogserver
  • [4afc54a]: Rework SignalHandler for more compact code
  • [d553247]: Make mythlogserver shutdown quickly if the socket's used already
  • [d92b6d4]: Only allow the launch of the logserver once every 5s
  • [aa93d3f]: Fix the logServerWait to exit if wait() is woken up
  • [77d58af]: Make the mythsystem call to start mythlogserver wait(0)
  • [3d4467d]: Rework logserver startup to remove race condition
  • [745de06]: Squash Merge remote branch 'qjson/master' into devel/logging-zeromq
  • [1d315f8]: Squash Merge commit of zeromq into devel/logging-zeromq
  • [ea54752]: Squash merge remote branch 'nzmqt/master' into devel/logging-zeromq
  • [90e9bfc]: Add gitignore for nzmqt
  • [82fdb4f]: Beginnings of the split logger
  • [4a9a609]: Change nzqmt polling to keep polling until no more msgs
  • [f48c4bc]: Change the pacing of the logforward thread
  • [2b189a9]: Change logging/loggingserver from QTimer to MythSignalingTimer
  • [dcf3007]: Build zeromq without documentation. Fixes #10840
  • [8aab7dd]: Remove unused SyslogLogger::m_application
  • [8f3225c]: Refactor Logger creation
  • [e74071c]: Make sure to initialize all pointers in LoggingItem's bare ctor
  • [fdeb3d1]: Fix the deadlocking on exit caused by the timer changes for logging.
  • [25478de]: Change MythSignalingTimer to use QWaitCondition
  • [7db675a]: Fix segfault in LoggerThread::initialTimeout()
  • [4b07742]: Convert LoggingItem to use ReferenceCounter
  • [dda4a4f]: Fix the potential deadlock in starting logging
  • [9d3bc8d]: Move the queue locking to a much smaller scope in LogPrintLine
  • [fb9b725]: Delete logThread in logStop. Refs #10867
  • [9ea5252]: Fix syslogGetFacility's use of QBytebuffer. Fixes #10624.
  • [2cc4bdc]: You MUST use SignalHandler *after* initializing the app
  • [2104fab]: Check if a registering thread is already registered.


  • [7270557]: Seems the .in files from autoconf were regenerated
  • [e4752fb]: Fix perms and change to match mythtv
  • [4c2fae0]: Add try/catch around nzmqt::poll
  • [5b3afdb]: Rename libzmq in our installs to libmythzmq



  • [3892279]: Add 'adult' and 'alias' to Person class.
  • [e99630e]: Add support for additional Studio information.
  • [166655c]: Update README for additional options.
  • [75a14b7]: Correct cache file selection logic inverted by 4663490f8fa.
  • [61045e4]: Allow Datalists to be sorted natively without supplying a key.
  • [ddc0cb0]: Allow locale fallthrough for movie images and alternate titles.
  • [2e4bc64]: Correct Studio.logo processing.
  • [2198d9e]: Update Logo() class with proper image sizes from Configuration().
  • [86b54a1]: Add slice support to search result pager.
  • [e0d6041]: Adds proper encoding to strings being passed to a request.
  • [08bffa5]: Add __contains__ for proper lookup in cache Engines class.
  • [e16d9af]: Assorted fixes and enable metadata grabber.
  • [642de96]: Fix Cache exceptions. (tmdb)
  • [fb7c7cd]: Add assorted authenticated methods. (tmdb)
  • [b28c566]: Add adult filter for people searches (tmdb)
  • [c2bb6ae]: Add Studio search method. (tmdb)
  • [6e7725d]: Add Genre list and associated Movie search (tmdb)
  • [676cbb1]: Clean up __repr__ methods, and impose soft 80-character line limit.
  • [30a0d39]: Add method to search for movies similar to current.
  • [40243c9]: Fix Recorded.exportMetadata()
  • [4ade93e]: Fix the default behaviour of mythmetadatalookup, we were passing a string to LookerUpper::HandleAllRecordings() instead of a bool.
  • [7aebf8c]: Fix updating of metadata info in RecordingRule.
  • [361834a]: Use proper type when exporting Metadata objects from database classes.
  • [139a98e]: Disable artwork processing for exportMetadata().
  • [de9ede4]: Add the new strings we will use for video metadata parsing. Refs #10613
  • [ea5aa87]: Fix metadata options editor for multiple results. Refs #10383


  • [067ebe9]: transcode: Tolerate mpeg errors when re-encoding to I-frames around cut points. Fixes #10863
  • [c5a9262]: Convert the use of player_ctx in mythtranscode to QPointer<>. Fixes #10616
  • [99f949e]: Fix passthrough case of mythtrancode running in fifo mode.
  • [5e98609]: Calculate timecodes more accurately (suggeseted by JYA).
  • [02c0b3c]: Get rid of a VB_GENERAL LOG_DEBUG message we shouldn't need.
  • [9ed48cb] Fix lossless transcode artifacts Fixes #11044
  • [8611c6e] Fix video encode in MPEG2 "lossless" transcoding Fixes #11118


  • [292323d]: Set s_pgq to NULL after we delete it PreviewGeneratorQueue.



  • [4621e13]: Extend mythutil to support sending multi-line events.
  • [1debfc6]: Add --parse-video-filename option to test filename parser.
  • [aefe0fc]: Fixes #10849. Treat MythFill{Min,Max}Hour as being in localtime


  • [8532584] Fix UI message interface availability when using MythWelcome. Fixes #10815





  • [59dc8b8]: Bump all version numbers from 0.25 to 0.26 - distclean recommended
  • [243e20c]: Fix indenting after 990e579f724bb2d1af87be98028ad664a5795bc0
  • [ecda14d]: Fix a clang-related compile issue. Fixes #10473.
  • [d5f22eb]: Fix a compiler warning.
  • [ab284a5]: Make the qjson .pro files compile and install our way
  • [9d02591]: Make libs compile cleanly
  • [fd1b335]: Fix compile by changing uint -> uint32_t
  • [b9184ef]: fix adjust filters on non x86 platforms.
  • [08e8883]: Re-enable yadif filter on mac.
  • [375d12e]: Compile ffmpeg with -O3 on mac..
  • [5243960]: Comment out -Werror=missing-prototypes
  • [4963b9d]: Ensure no modification to FFmpeg libavformat's URLProtocol change would break our code
  • [6582bbf]: Change the other use of ~MythRenderD3D9 to use a DecrRef()
  • [a44c784]: Add missing include in audiopulsehander.cpp
  • [6a0b994]: Add missing header to commbreakmap.cpp
  • [e466033]: Add a whole bunch of missing includes to commbreakmap.cpp, it was implicitly including everything.
  • [28588ea]: Add compat.h to playbackboxhelper.cpp for MinGW compilation.
  • [99aa14d]: Include signal.h in mythbackend/main.cpp for SIGINT
  • [d7a9fca]: Define USING_MINGW when building programs with MinGW
  • [f729934]: Add a couple missing header include.
  • [733316d]: Silence some warnings from QT's code parser (lupdate)
  • [89810e7]: Alternate fix for QT warning.
  • [ec778d3]: Hook in the BUILDLIBDIR in
  • [830c8cd]: oops. remove the -L from QMAKE_LIBDIR.
  • [93fc5d5]: Attempt to override the QMAKE_LIBDIR path for mingw
  • [06153b2]: Ignore generated file MyMETA.yml.
  • [17a73ed]: Fixes #10523. Make cast explicit for C++11 happiness.
  • [970d9b1]: Formatting fixes in logging.h
  • [e38c94c]: Hook in the LATE_LIBS to get the Qt lib path
  • [a63936f]: Don't set the version if in mingw
  • [dd53183]: Argh. Re-"link" qjson/include/QJson if it's a file
  • [cfcc4d4]: Put more SyslogLogger methods in #ifndef _WIN32
  • [2b6654f]: Seems mingw doesn't have sys/socket.h. Junk.
  • [9639b04]: Make setsockopt do (const char *) on arg 4
  • [e65cc21]: Formatting fixes.
  • [dc8bfb4]: Completely remove the #define setsockopt in compat.h
  • [8cf59d7]: Add prototype in qjson to shut up the compiler
  • [cd670ec]: Partial support for PHP 5.4 #10504
  • [b92683a]: Fix usleep dep in gcc 4.7
  • [bf7b838]: Fixes #10649. Add toString() medthod to TeletextDescriptor.
  • [0c88729]: Refs #10649. Minor rejigging of [bf7b8386c]; move toString() implementation to .cpp and make more consistend with atsc/scte output.
  • [f2a0d74]: Refs #10311. Port MythSocket code to ReferenceCounter.
  • [4a3581d]: Rework ownership of RingBuffer and MythPlayer in transcode. Refs #10616
  • [3564049]: Revert mythplayer portion of 7c7852f4d and tv_rec portion of 034988359. Refs #10490
  • [568e161]: Reset videobuf_retries when DecoderGetFrame() succeeds.
  • [fcfd8e2]: Fix breakage from previous merge
  • [74aabda]: Bump API version due to the extensive log changes
  • [d9ac417]: Qt5 compatibility fixes.
  • [13f3b77]: Remove unused DBCleanup housekeeping job.
  • [610046d]: Fix transposed args in comment
  • [329f1c3]: Add log message for 1302 DB upgrade
  • [65cf894]: Disable strict mode in MySQL connections.
  • [6a64891]: Eliminate ConstFilterInfo_. There is no constructor which means we need to rely on a gcc c++ extension for initialization.
  • [12a3eac]: Fix compilation with clang/clang++ - configure: we can't use CFLAGS for compiling C++ code, especially as CFLAGS would include -std=c99 which makes no sense for C++ - was compiled as a C++ file, not an objective-C++ file, gcc was forgiving about the error, clang++ isn't.
  • [04e0d94]: This should really fix the osx build. Give up on QVector for now.
  • [8f998ab]: Fix compilation of greedy deinterlacer when using clang...
  • [a20b125]: OS X build fix - libmythqjson.dylib, not mythqjson.framework
  • [f8f49a3]: MSocketDevice::bind() returns false not -1 on error...
  • [65b0f74]: Move up <0 check to before cast to unsigned.. caught by icpc.
  • [24c95ee]: Fix typo in time zone support check.
  • [5ff71cc]: Correct an indent and a case problem
  • [70bba77]: Remove some ancient debugging code in SignalMonitor.
  • [db21385]: Fix documentation in mythsystem.h
  • [e7409ec]: Fix errant version check for libcec
  • [dba1f86]: Fix a retarded vim-based typo
  • [2bf1785]: Add wincrypt.h to windows file for hdhomerun. Fixes #10513
  • [397e464]: Service Contract cleanup
  • [1baa202]: Fix a typo.
  • [c97f954]: Properly license service stuff inside mythbackend.
  • [d4672dd]: Optimize MainServer::HandleFileTransferQuery()
  • [9acc853]: Always return 'OK' to protocol commands instead of a mix of 'OK' and 'ok'
  • [2c19748]: Apply changes made in mainserver to libmythprotoserver as well.
  • [08b8835]: Dashes should be replaced with spaces, not removed
  • [f0b1a28]: fix tab/space
  • [3c57587]: Properly delete thread names on deregistration
  • [16da04d]: Propagate the INSTALL_ROOT to DESTDIR for zeromq
  • [0034a85]: Clean up deferred deletes MThreadPool.
  • [4053fd7]: Whitespace.
  • [eebf43e]: Ignore some icpc warnings.
  • [44d4933]: const correctness fixes for mpeg classes.
  • [0680c4f]: Suppress implict conversion warning (icpc).
  • [0e4437c]: Clean up some small memory leaks in logging
  • [2b22633]: Missed a spot. Also fix the .pc file
  • [5e3803e]: And missed another spot. Please let this be all :)
  • [ef2b377]: this is python. do assignent right.
  • [c2883d0]: Make intended uint->int conversion explicit.
  • [ed02128]: Fix double-decrement in database logging. ooops.
  • [6f4f87b]: Minor cleanup of unused code
  • [7aea313]: Fix incorrect cast causing loss of integer precision in RingBuffer
  • [fe00ebc]: Fix the indent of c53542f.
  • [ea6ec5b]: Remove the concateration from two help texts.
  • [c46be30]: Fix the context of some strings are remove concaternations.
  • [4957e21]: Minor formatting, plus add back the bufferMutex
  • [e2a0efd]: Add missing case statement. Fixes {{ticket|10764}
  • [e4f3d08]: use qIsNaN in place of ::isnan. Fixes #10524
  • [d94970b]: freemheg: Support bitmaps with included content
  • [0a864fd]: freemheg: Catch divide by zero
  • [abc52ed]: freemheg: Support JPEG bitmaps
  • [9170d84]: freemheg: Print ActionSlot number in disassembly to aid debugging
  • [ed1bb0c]: freemheg: Added ASN1 codes for InteractionChannel
  • [2699d86]: Tidy up MythConfirmationDialog::ShowOkPopup()
  • [bfbd67b]: Don't leave an invalid pointer when deleting the main stack
  • [8072c0e]: freemheg: Better tab handling
  • [462c6eb]: freemheg: Correct font x-resolution
  • [bde24c5]: Remove use of OF zlib macro in MythGame. Refs #10507
  • [31f09a8]: Formatting changes. Nothing to see here, move along.
  • [8cdf5da]: Fix schema from ac4e2d9
  • [cb152cb]: Fix typo in scannerpath schema creation
  • [bf285bb]: Fix doxygen comment
  • [71869c7]: Resync libmythdvdnav with upstream
  • [640963b]: Check the return value of dvdnav_title_play and if playback fails try the next title on the DVD
  • [b7f7d52]: Fix a typo in last commit.
  • [eff95fc]: Add 'copyrightlogo' type to all scripts, but left unused for now
  • [086801d]: Bump mythweather script versions to force a cache refresh
  • [d01b7d2]: If 'copyrightlogo' is 'none' then treat it as an empty string
  • [fc8880e]: Fix build warnings about modifying a const variable
  • [65faa48]: Fix compilation issue on some systems
  • [ec2ac41]: Correct bad copy/paste in ServerPool.
  • [1316335]: Remove the use of abs(long long) as it freaks out ARM compilers. Fixes #10915
  • [6810255]: Get rid of some (now after 02c0b3c) unused variables.
  • [f312843]: Remove some duplicate strings by writing them the same way they appear elsewhere...
  • [9cc6ba6]: Correct import errors with utility folder.
  • [b14564a]: Fix ignore on external/zeromq/src/libzmq.pc
  • [67bc2cd]: Disable -Woverloaded-virtual.
  • [262c7c7]: Add missing files after 60cf735.
  • [6149533]: Move bswap.h to libmythbase
  • [9893c61]: Update bswap.h to include the sys/endian.h
  • [77d006b]: Add byteswap_h and sys_endian_h back to HAVE_LIST
  • [3b62c77]: Define bswap_* for use with sys/endian.h
  • [812fcf7]: I hope this is the last I see of bswap.h for a while.
  • [5bb3277]: Forgot to call exec(). No wonder the signals never happened.
  • [baee9ac]: Moved UNIX signal handling to signalhandling.cpp
  • [546fdac]: Refs #10841. A fix for SEGFAULT handling.
  • [b047371]: Refs #10843. Adds IsExiting() call to SignalHandling.
  • [bbe7b2a]: Don't emit timeout() signal with lock held.
  • [8626774]: Add MythCoreContext::WaitUntilSignals convenience method. This will simplify the definition and use of Qt signals.
  • [f9a46e0]: Fix SIGINT/SIGTERM handling during video playback.
  • [e6f9936]: Fixes #10842. Handle SIGABRT even if UI thread deadlocked.
  • [d25f03e]: And disable SignalHandler::handleSignal
  • [f3fb6f0]: Make SignalHandler a singleton.
  • [1dc048f]: Unlock the startstop mutex while waiting for timer startup. Fixes #10867
  • [517a348]: Refs #10311. Reimplements RefererenceCounter using QAtomicInt for lockless reference counting.
  • [671017f]: Refs #10311. Port UPNP code from RefCounted to ReferenceCounter.
  • [f0bfe0f]: Refs #10311. Add additional debugging capabilities to ReferenceCounter.
  • [62d4299]: Refs #10311. Make reference counter more extensible.
  • [ad6d965]: Refs #10311. Convert MythRender reference counting to ReferenceCounter.
  • [cd996fd]: Refs #10311. Convert FileTransfer reference counting to ReferenceCounter.
  • [6e490cd]: Refs #10311. Convert PlaybackSock reference counting to ReferenceCounter.
  • [7e98bdb]: Refs #10311. Use reference counting for MythRenderVDPAU.
  • [a9b46b7]: Followup on [9b238665]. Use reference counting in MythD3D9Painter.
  • [263eef1]: Refs #10311. Add leak debugging to the ReferenceCounter. Disabled by default.
  • [1b8f1f3]: Refs #10311. Use R/W lock for the leak detection.
  • [6b04160]: Refs #10311. Port MythUI to ReferenceCounter.
  • [cb1775b]: Make relative prefix logging more verbose. Refs #10890
  • [4ca3c2c]: Prevent startup deadlock if VERBOSE_THREADS is enabled
  • [4ca3c2c]: Prevent startup deadlock if VERBOSE_THREADS is enabled
  • [09a5e63]: Fix verboseHelp to actually show the correct default mask
  • [d4ccef8]: Break commandlineparser into separate file for consistency.
  • [b710b83]: Add additional dependency checking to command line parser.
  • [fe4697c]: Delay processing of command line parameters until needed.
  • [c877947]: Add command string parser to break up commands for direct execution. Refs #10860
  • [e229f68]: Enable command splitter for anything not explicitly flagging kMSRunShell. Ref #10860
  • [7f18de0]: Make incrementing in command line parser start from 0, not default.
  • [87eb634]: Mark 'mythshutdown -l' as specifically removed with alternate argument
  • [b1b0e62]: No sense leaving the other parameter in if its just getting ignored.
  • [cecc96d]: Use QLocale::toString() instead of QString::number() or sprintf where we should honour the formatting dictated by the users locale.
  • [a5ab063]: Tidy QJson includes so Qt-style work installed and in src
  • [ca11a90]: Correct FreeSpace class broken by 1508085eb
  • [055a511]: 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.
  • [a22afa3]: Make SIGSEGV and SIGABRT handle cleanly and THEN coredump
  • [8a4adc5]: Provide GetNodeValue(.. const char*) implementation.
  • [a08bfed]: Guard against a null pointer in ToggleWatched(), unlikely but best not to assume it's impossible.
  • [725264c]: Minor LOG fixes.
  • [fe25cc5]: Rename noPrompt variable noAutodetect to reflect it's actual meaning and fix one incorrect assumption made because of the old name.
  • [395518d]: Use QString::isEmpty() to determine if string is empty instead of QString::length() + print logging message when the error sting is not empty.
  • [3f6ae11]: Log the Qt version on startup
  • [922a9ca]: Fix destroyMainWindow when gCoreContext is not created yet. Fixes #10718
  • [1b5a7a9]: Fix typo in deadlocked log message.
  • [2afb07d]: Fix typo in ProgramInfo::ToMap(). Fixes #10746.
  • [ddcc2bc]: Direct users to FAQ on wiki.
  • [cb1e284] Cause backend to terminate if requested IP address is unavailable.
  • [178ea5a] Prevent a segfault in MythUIImage, this doesn't fix the root cause of the problem but at least we won't crash. Refs #11047

Build Related

  • [390569b]: Run git status before git describe to clear false dirties
  • [4a40145]: Setting VERSION to v0.26-alpha
  • [59f4a77]: Fix capitalization conventions. Fix signed/unsigned compiler warnings.
  • [b9ec51e]: Move MythTV's mpegts to mpegts-mythtv.c to make easier merges in configure
  • [114baec]: Fix compilation warning
  • [84b6d93]: Only pull the SDL cflags, libs if sdl is enabled
  • [19a7e01]: Make mythtv more compatible with GCC 4.7. Fixes #10537
  • [1b500ba]: Fix compilation warning
  • [d5b0b09]: Fix FreeBSD compilation
  • [77978de]: Fix compilation on some systems.
  • [31e5b9d]: Fix compilation against SDK 10.7 when using Xcode 4.4
  • [5004545]: Corrects handling of '0' for cast ordering.
  • [8211f9d]: Use QLibrary to find libGLESv2 for ARM. Fixes #10292
  • [60c6b41]: Fix ffmplay to depend on SDL, fix path
  • [0008f60]: Fix a 32bit/64bit constant issue
  • [d6ed457]: Add compat.h to stub out fsync() for mingw
  • [5c7a41f]: Squelch an "unused variable" warning.
  • [3d1260b]: Move myth libavformat/utils.c mods into libavformat/utils-myth.c
  • [c8fa24d]: 80 column clean.
  • [a6d45b1]: Change 0 to NULL for pointers per MythTV coding standards
  • [00a4727]: Clean up extraneous semicolons.
  • [2a82604]: More cleanup of [4f028f388c] refactor.
  • [064ae79]: Remove unneccessary includes.
  • [e47bcd4]: Apply fix from 139a98e45d5d5d907390 in correct area.
  • [cc72081]: Comment additional missed line in e47bcd4955.
  • [d6a4d9e]: Remove trailing whitespace in mythfreesurround
  • [b119cf2]: Use QUERY_TIME_ZONE instead of QUERY_TIME.
  • [bffeb5e]: Wrangle QJson so the include dir doesn't conflict
  • [6f218b1]: Refs #10841. Add stdlib include for free.
  • [b5e1718]: Change wart on static from m_ to s_ to avoid confusion.
  • [b6d65fc]: Move external libs installed includes under $PREFIX/include/mythtv. Fixes #10859. Fixes #10860. Fixes #10861
  • [271a9bf]: Fix a couple more places where we weren't checking the return value of QSqlQuery::next(), this should be the last of them.
  • [dfc0c1f] Fix compilation error. Silly mistake
  • [d5feeb6] Add missing include from 3234a348.
  • [2b3bd21] Revert [6fb8692] to not use aacenc.c AAC encoder by default. We've been recommended not to use the native AAC encoder by default
  • [b778ca1] Fix compilation for Qt 4.6
  • [2e80053]: Remove dead member variables from FileTransfer.
  • [9e28bdd]: Add license files for fonts included with MythTV.
  • [39386cf]: Setting VERSION to v0.26-beta
  • [6566c3c] Updating version strings for 0.26 release candidate.
  • [f830b84] Whitespace change to trigger a build
  • [6d5e27b] Fix copy/paste error in mythutils jobutils.
  • [f19db66] Fix copy/paste error in mythutils jobutils. This corrects an additional error missed by 6d5e27be30.
  • [83dca6f] Setting VERSION to v0.26-rc2
  • [749ac86] Revert Matroska MIME to 'video/x-matroska'. Refs #8643 Fixes #10980
  • [62aa75b] Fix signalhandling to compile for Windows (sorry)
  • [aaa9fc2] Fix signalhandling to compile for FreeBSD as well
  • [faf4c11] Forgot a lousy ;. Been doing too much python lately.
  • [f1d851b] More windows-related fixes.
  • [1a66ff9] Please let this be all. More Windows fixes.
  • [6c3ae81] Setting VERSION to v0.26.0
  • [511fb38] 0.25.3 and 0.26 checksums


  • [a95a2ce]: Fix a typo in configure
  • [9e1ba1c]: Add AS_O and CXX_O to configure - fix ppc build
  • [f04d226]: Try to fix debian slave by changing order of checks in configure
  • [fb90f73]: Disable SDL by default
  • [68b53a6]: Accept --enable-sdl configure option
  • [e4aabbe]: Update configure to be in sync with our current FFmpeg
  • [44e64a3]: Update ./configure qt version check to allow Qt5.
  • [460d1a8]: Missing parenthesis in mythtv/configure.
  • [354fd02]: Add check for libuuid in top-level configure
  • [be113a2] Typo in configure.


  • [19897d3]: Fix some emptiness check inefficiencies highlighted by cppcheck.
  • [6daec74]: Fix error in zeroing memory for surfaces in VAAPIContext found by cppcheck.
  • [7d88cef]: Don't check for a null pointer here, it can never be null and the existance of the check confuses cppcheck/coverity.
  • [3bade07]: Silence a cppcheck warning.
  • [23ae058]: Silence cppcheck warning.
  • [97cfab1]: Silence cppcheck warning
  • [8e324c6]: Fix some cppcheck warnings.
  • [ba86761]: Fix initialisation of arrays in MethodInfo::Invoke(). Identified by Cppcheck
  • [af3f939]: Fix some issues found by cppcheck
  • [6b444ad]: Initialize m_initialWaiting in ctor (silence cppcheck)
  • [0998b7a]: Add a log message to appease cppcheck
  • [f60a706]: Video decoders are enabled by default, so we should document only how to disable them, not how to enable them.Fixes #10813


  • [b989db6]: Fix potential null pointer de-reference spotted by Coverity.
  • [a68210c]: Fix minor memory leak spotted by coverity
  • [805cac5]: Fix minor memory leak in MythUIButtonList::DistributeButtons() discovered by Coverity
  • [4b72e8f]: Fix Coverity warning about memory leak on error in VideoOutputBase. Very minor bug since something would have to be critically wrong for us to hit this code.
  • [943bfe9]: Fix a few 'Unchecked dynamic_cast' warnings from Coverity in libmythui. Most of these could safely be switched to static_cast because they are not expected to fail.
  • [46bcb72]: Guard against possible null pointer dereference identified by Coverity.
  • [53c2234]: Fix possible divide by zero identified by Coverity
  • [64410be]: Return value of ioctl wasn't being checked in JoystickMenuThread::Init(), caught by Coverity.
  • [1725f1b]: Fix bad memset calls in JoystickMenuThread::Init(). Caught by coverity.
  • [4a86d41]: Silence some variable initialisation warnings, all false positives but if it makes Coverity happy then so be it.
  • [0a9ac9b]: Add missing 'break' statement to myth_av_log() switch. Spotted by Coverity.
  • [653a236]: Fix a leak detected by Coverity.
  • [fae8d9f]: Add missing break statement in PlaybackBox::ShowAvailabilityPopup(). Caught by Coverity.
  • [02f5463]: Fix assumption that ints would be initialised to zero in JobQueueEntry, 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.
  • [c85ed06]: Fix assignment where comparison was intended in FreeSurround::getLatency(). Caught by Coverity
  • [95e6182]: Fix a bunch of memory leaks in mythmetadatalookup. Coverity.
  • [389ba60]: Fix CID 700722: Allocation too small for string (Coverity) in AudioOutputPulseAudio::ChooseHost()
  • [22f9867]: Fix potential double-free (found by Coverity)
  • [99ebebd]: Use the correct delete for the array pulse_host. Reported by Coverity.
  • [3bdc0d1]: Fix PIP video frames being initialised with the size of the pointer instead of the actual frame size due to a sizeof() error. Spotted by Coverity
  • [ec2a3df]: Fix a potential NULL pointer dereference in an error case. won't be a crash. This was also identified by Coverity.
  • [502f0b0]: Re-organise some things to stop Coverity et al warning about possible null pointer dereferences in mythfrontend.
  • [10d1cc6]: Always check the return value of QSqlQuery::next() before accessing results in the Housekeeper. In fact we only needed to check next() in these instances, the isActive() and size() calls were redundant. Coverity defects 700272 and 700271.
  • [7533cf2]: Always check the return value of QSqlQuery::next() before accessing results in MainServer. Ee only needed to check next() in these instances, the isActive() and size() calls were redundant and have been removed. Coverity defects 700273 and 700274.
  • [9bddf5b]: 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
  • [9f7cb75]: Always check the return value of QSqlQuery::next() and QSqlQuery::exec() before accessing results in Scheduler::UpdateManuals() and UPnpCDSTv::AddItem(). Coverity defects 700275 and 700276.
  • [b30825e]: Fix several memory leaks in services/dvr.cpp. Coverity defects 700670, 700671, 700672 & 700673
  • [29ca559]: Batch fix for unchecked instances of QSqlQuery::next(). Fixes multiple Coverity warnings.
  • [54b1144]: Declare StateVariableBase destructor as virtual so that the correct destructor is called for derived classes. Coverity defect 701004
  • [b38a290]: Stop Coverity complaining of a memory leak in mythavtest. In reality we exit immediately after this apparent leak so it would have zero impact. Coverity 'defect' 700669
  • [c77d8ed]: Fix memory leak in services/frontend.cpp - Frontend::InitialiseActions(). Coverity defect 700675
  • [1207821]: Fix misplaced else condition in osd.cpp. This just looks like a mistake, 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'
  • [8c8bd19]: Fix another misplaced else condition in osd.cpp. Exact same problem as in [12078211] just in another place. Related to Coverity defect 700312 'Logically dead code'
  • [ff462b7]: Stop Coverity whining about mixing enum values in StatusBox::doTunerStatus()
  • [fb132ff]: Fix several possible null pointer dereferences in tv_play.cpp. Coverity defects 700398, 700399, 700400, 700401, 700402 & 700693
  • [1d7922c]: Don't check m_statusText for NULL it's redundant and confuses Coverity.
  • [7809398]: Fix a couple of memory leaks in mythgame. Coverity defects 703765 & 703766
  • [dfb717c]: Fix leak in MythNetVision. Coverity defect 703767
  • [7493e12]: RomInfo constructor was being called with an empty string where it called for a boolean. Coverity defect 703726
  • [2eabe31]: Send haveResult() with an empty QString instead of a an empty C string. Avoids ambiguity with the version of this signal which takes a boolean arg. Coverity defect 703725
  • [de2eef3]: Fix integer overflow bug in AutoExpire::CalcParams().
  • [687f242]: Fix a number of minor issues reported by Coverity for mythmusic.
  • [d314019]: Remove unused member variable in MythWeather's SourceManager class. Silences warning from Coverity, defect 703838
  • [18d0a1c]: Fix a possible but insignificant leak in MythArchive's VideoSelector::getVideoListFromDB(). Coverity defect 703764


  • [3009980]: Fix some icc compiler warnings.
  • [05edfd9]: Some const fixes to make icc happy.
  • [4e1f1f2]: Silence icc compiler warnings.
  • [5aae42d]: Silence icc warnings.
  • [9b41af7]: Ignore icc warning 913.
  • [f21c868]: Disable a few more icc warnings.
  • [d6b4689]: Add support for icc & icpc compilation in configure.
  • [ddfb29c]: Fix some const return declarations (caught by icc).
  • [98affd3]: Override both Storage::Save() methods in TransientStorage for completeness (quiets icc warning.)
  • [8497403]: Fixes various issues with old UI settings code.

Fixed Memory Leaks

  • [7268a9c]: Fix a memory leak in DVDRingBuffer::GetChapterTimes()
  • [1237254]: Disable the 'guess main title' code for DVDs, it's not actually working at all and causes a major memory leak in libdvdnav with some DVDs
  • [87b3f9c]: Fix a potential leak in dvdnav_describe_title_chapters. Thanks to James Dutton (libdvdnav) for identifying the problem.
  • [d5b6760]: Fix leak in TeletextScreen::ClearScreen. Fixes #10630
  • [7d4b285]: Fix memory leak when reading flac vorbis tags. Fixes #10721
  • [e8aef6a]: Fix memory leak in MetaIOTagLib::getTrackLength(const QString &filename)
  • [2144ef1]: Fix leak of MetaIOID3() object if we're scanning Flac files without ID3 tags. Fixes #10776 and #10757
  • [6ce0af8]: Fix file handle leaks in oggvorbis and wavpack tag readers. These, along 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
  • [0a33dd5]: Fix yet more leaks in services/dvr.cpp. Objects allocated on the heap when they could/should have been on the stack.
  • [42aae94]: Fix some edge cases for the MythSystem changes (memory leak)
  • [b5fbc74] Remove potential deadlock on MythSystem IO threads. Fixes #11066


  • [abfced8]: Fix the 1299 DB upgrade (DeletedMaxAge update).
  • [0fcf963]: DB update for RTP. This adds an iptv_channel table.
  • [c8256b0]: Fix recorded dbcheck update for 1302.
  • [fc980fa]: Fixes #10548. Free DB connection while truncating for slow deletes.
  • [da86aeb]: Speed up schema upgrades.
  • [dea4880]: Remove secondary key from scannerpath due to key length issues
  • [072a38a]: Fix OpenGL video profiles creation
  • [6466615]: Do not create VDPAU profiles by default
  • [c086cf0]: Do not create VDPAU profile unconditionally. Partial revert of [4cd8186]
  • [f1457cd]: Make AllowLinkLocal default to true
  • [eba3a5b]: Remove reference to no-longer-existent file.
  • [451cd30]: Add hint for MySQL timezone error. Fixes #10906
  • [391906f] Update DB schema initialization for release (1307)
  • [0fc12e4] Allow DB schema use after InitializeMythSchema() This seems to have been overlooked in 75cf4e4b439 . Fixes #10750.
  • [33fe7e9] Clean up orphaned inputgroups in various places when UnlinkInputGroup(0,0) is called. Fixes #10992