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]cgitgithub though [6c3ae81]cgitgithub


Key New Features

  • Add HTTP Live Streaming playback [099b6cce03]cgitgithub and recorder [17c164a]cgitgithub. Check the HLS Manual Page
  • Added recording rule templates [71c65b]cgitgithub. 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]cgitgithub.
  • Add duplicate checking and limited matching optimizations and other scheduler related changes. See the commit for details on this change. [cbb8eb1]cgitgithub Fixes #10533
  • Add Ice- and Shoutcast radio stream playback to MythMusic [cdde562]cgitgithub

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]cgitgithub.
  • Make the subtitle zoom factor into a live setting [0089f7d]cgitgithub.
  • Add rsOtherTuning and rsOtherRecording recording statuses [090f847]cgitgithub
  • Added TOGGLESHUFFLE/TOGGLEREPEAT keybindings [fa9edd6]cgitgithub
  • --parse-video-filename for mythutil [1debfc6]cgitgithub

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]cgitgithub.
  • 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]cgitgithub.
  • 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]cgitgithub, [44f5414]cgitgithub.
  • 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]cgitgithub is required reading for these users.
  • The -l option for mythshutdown has been removed. Use --lock [87eb634]cgitgithub.




New Features
Bug Fixes

Key Bindings, Jump Points, and Input Devices

New Features
Bug Fixes

Guide Data, EIT, Program Info, and Media Metadata

Bug Fixes


Bug Fixes
  • [faf6dbc]cgitgithub: Apply David's modifications from #10765 to AnalogSignalMonitor::VerifyHDPVRaudio.
  • [99e2ebe]cgitgithub: Attempt several retries should setting ALSA hw buffer time failed. Fixes #10899
  • [b0abb17]cgitgithub 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]cgitgithub.

Video Playback

Bug Fixes
  • [60cf735]cgitgithub: Fixes #9861. Upside-down videos taken on an iPhone are correctly flipped.
  • [3bbf624]cgitgithub: An option is added to the playback OSD menu to allow an in-progress playlist to be cancelled.
  • [4d0bbbe]cgitgithub: 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]cgitgithub: Add functions for converting between pre- and post-cutlist frame numbers. Refs #8631. These functions are not actually used anywhere yet.
  • [b57fdf8]cgitgithub: Declare pre/post cutlist translation functions as const.
  • [f8ee92d]cgitgithub: Cutlist editor: Add new theme strings for editing.
  • [990e579]cgitgithub: Add new OSD theme strings for cutlist-adjusted times and durations. Refs #8631.

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

Bug Fixes

OSD, EPG, MHEG, CC, and Subtitles

New Features
Bug Fixes
  • [f13eeb0]cgitgithub 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]cgitgithub 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]cgitgithub 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]cgitgithub A similar live setting is added for bitmap-based subtitles, such as in DVD/BD videos.
  • [689a7b5]cgitgithub Improved handling of forced subtitles, both at the track level and at the individual subtitle level.
  • [ea554c9]cgitgithub Refs #10808 Track auto-selection is improved to take forced tracks into account.
  • [5c047f4]cgitgithub A complete set of CEA-708 fonts is provided.
  • [7b1aef8]cgitgithub: 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]cgitgithub: Fix some XDS parsing.
  • [fb2be2e]cgitgithub: Suppress some extended uncode characters in 608 caption debug output.
  • [bc9e741]cgitgithub: Subtitles: Use VB_VBI instead of VB_GENERAL for most 608/708 logging.
  • [62ba11a]cgitgithub: Subtitles: Make AVSubs zoom factor persistent.
  • [6aa737c]cgitgithub: Subtitles: Minor cleanup of SubtitleScreen:InitializeFonts().
  • [bf8d429]cgitgithub: Subtitles: Call Pulse() on the SubtitleScreen children.
  • [0bb3790]cgitgithub: Subtitles: Encapsulate zoom get/set into the SubtitleScreen class.
  • [53f7a1d]cgitgithub: Subtitles: Adjust AVSub scaling in some cases.
  • [650b272]cgitgithub: Subtitles: Rescale AV subs in place when the zoom factor is changed.
  • [d5ce98e]cgitgithub: Subtitles: Enable forced subtitle tracks. Refs #10735
  • [f0f37a5]cgitgithub: Subtitles: Avoid changing subtitle state in the decoder thread. Refs #10740
  • [b1eb74d]cgitgithub: Subtitles: Add a leading space to teletext subtitle backgrounds.
  • [419fc84]cgitgithub: Subtitles: Only display teletext captions inside the "box" area. Refs #10678.
  • [9b514c4]cgitgithub: Fixes #10820. Add iso-639 language code to teletext and dvb subtitles extracted by mythccextractor.
  • [79dc4b5]cgitgithub: Subtitles: Add a clarifying comment to the default osd_subtitle.xml.
  • [44f5414]cgitgithub: Subtitles: log the DEPRECATED_608_TELETEXT under -v general
  • [3df350e]cgitgithub: Fixed description of CEA-708 font tag 3: Monospaced Sans Serif.
  • [7190ddc]cgitgithub: Fix slow OSD issue.
  • [4379cfa]cgitgithub: Refs #8631. Set OSD relposition property for timestretch, volume, etc.
  • [3cf139e]cgitgithub: Improve comments and formatting in osd_subtitle.xml reference implementation.
  • [0a4eb5f]cgitgithub: Remove unused arguments from TV::UpdateOSDStatus().
  • [ca9086d]cgitgithub: Cleanup OSD::DialogShow(), this code had the potential to segfault if the theme was missing a dialogue definition.
  • [82318f6]cgitgithub OSD: Fix alpha calculation of expirable windows

Network Control

New Features
Bug Fixes


New Features
  • [00984d7]cgitgithub: Use correct RecordingInfo* in FinishedRecording()'s SendMythSystemRecEvent().
  • [98d02db]cgitgithub: Refs #10712. Add error checking, proper formatting, and improve debugging of previous commit.
  • [6911895]cgitgithub: Fix PlaybackSock::GetMaxBitrate protocol usage.
  • [cfda063]cgitgithub: A RecordingRule is owned by it's RecordingInfo and should not be free'd elsewhere.
  • [45368f1]cgitgithub: 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]cgitgithub: Change the signature of TvPlayWindow::gestureEvent() to match the base class, the two diverged at some point.
  • [529853d]cgitgithub: Move QUERY_FILETRANSFER handling to improve backend performance.
  • [b571874]cgitgithub: Adjust GPS leap seconds.
  • [16b232a]cgitgithub: Update example config.xml for new format.
  • [2e1820c]cgitgithub: Remove leftover garbage from example config.xml
  • [9b3d59c]cgitgithub: Remove legacy DBHostPing from config.xml
HTTP Live Streaming Server (all HLS changes collected here)
UTC Changes (all UTC changes collected here)
Bug Fixes

Scanning and Tuner/Recorder Support

Channel Scanner

Ceton InfiniTV




  • [810b3af]cgitgithub: 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
Bug Fixes

Setup / mythtv-setup

New Features
Bug Fixes


New Features
Bug Fixes


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

Translations & Localization/Internationalization

New Features
Bug Fixes




DVR Menu Theme






MythCenter Animated





Misc. Theme Development

New Features
Bug Fixes


Mac OS X

New Features
Bug Fixes


New Features
Bug Fixes



New Features
Bug Fixes




New Features
Bug Fixes


New Features
Bug Fixes

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


New Features
Bug Fixes




New Features
Bug Fixes

MythVideo/Video Gallery

New Features
Bug Fixes


New Features
Bug Fixes


New Features
Bug Fixes


Bug Fixes

Support libraries & Frameworks

UPnP / Bonjour

New Features
Bug Fixes
  • [da49b57]cgitgithub: Make services running on the frontend and advertised through Bonjour to listen to all interfaces
  • [47fb47c]cgitgithub: 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]cgitgithub Properly initializes UDP message listener. This properly initializes the ServerPool reference to NULL in the UDP Listener class. Fixes #11037
RAOP Related


MythXML, API Service, & Webserver

Python bindings

Perl bindings

PHP bindings

Utility Applications




















Build Related




  • [b989db6]cgitgithub: Fix potential null pointer de-reference spotted by Coverity.
  • [a68210c]cgitgithub: Fix minor memory leak spotted by coverity
  • [805cac5]cgitgithub: Fix minor memory leak in MythUIButtonList::DistributeButtons() discovered by Coverity
  • [4b72e8f]cgitgithub: 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]cgitgithub: 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]cgitgithub: Guard against possible null pointer dereference identified by Coverity.
  • [53c2234]cgitgithub: Fix possible divide by zero identified by Coverity
  • [64410be]cgitgithub: Return value of ioctl wasn't being checked in JoystickMenuThread::Init(), caught by Coverity.
  • [1725f1b]cgitgithub: Fix bad memset calls in JoystickMenuThread::Init(). Caught by coverity.
  • [4a86d41]cgitgithub: Silence some variable initialisation warnings, all false positives but if it makes Coverity happy then so be it.
  • [0a9ac9b]cgitgithub: Add missing 'break' statement to myth_av_log() switch. Spotted by Coverity.
  • [653a236]cgitgithub: Fix a leak detected by Coverity.
  • [fae8d9f]cgitgithub: Add missing break statement in PlaybackBox::ShowAvailabilityPopup(). Caught by Coverity.
  • [02f5463]cgitgithub: 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]cgitgithub: Fix assignment where comparison was intended in FreeSurround::getLatency(). Caught by Coverity
  • [95e6182]cgitgithub: Fix a bunch of memory leaks in mythmetadatalookup. Coverity.
  • [389ba60]cgitgithub: Fix CID 700722: Allocation too small for string (Coverity) in AudioOutputPulseAudio::ChooseHost()
  • [22f9867]cgitgithub: Fix potential double-free (found by Coverity)
  • [99ebebd]cgitgithub: Use the correct delete for the array pulse_host. Reported by Coverity.
  • [3bdc0d1]cgitgithub: 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]cgitgithub: Fix a potential NULL pointer dereference in an error case. won't be a crash. This was also identified by Coverity.
  • [502f0b0]cgitgithub: Re-organise some things to stop Coverity et al warning about possible null pointer dereferences in mythfrontend.
  • [10d1cc6]cgitgithub: 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]cgitgithub: 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]cgitgithub: 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]cgitgithub: 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]cgitgithub: Fix several memory leaks in services/dvr.cpp. Coverity defects 700670, 700671, 700672 & 700673
  • [29ca559]cgitgithub: Batch fix for unchecked instances of QSqlQuery::next(). Fixes multiple Coverity warnings.
  • [54b1144]cgitgithub: Declare StateVariableBase destructor as virtual so that the correct destructor is called for derived classes. Coverity defect 701004
  • [b38a290]cgitgithub: 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]cgitgithub: Fix memory leak in services/frontend.cpp - Frontend::InitialiseActions(). Coverity defect 700675
  • [1207821]cgitgithub: 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]cgitgithub: 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]cgitgithub: Stop Coverity whining about mixing enum values in StatusBox::doTunerStatus()
  • [fb132ff]cgitgithub: Fix several possible null pointer dereferences in tv_play.cpp. Coverity defects 700398, 700399, 700400, 700401, 700402 & 700693
  • [1d7922c]cgitgithub: Don't check m_statusText for NULL it's redundant and confuses Coverity.
  • [7809398]cgitgithub: Fix a couple of memory leaks in mythgame. Coverity defects 703765 & 703766
  • [dfb717c]cgitgithub: Fix leak in MythNetVision. Coverity defect 703767
  • [7493e12]cgitgithub: RomInfo constructor was being called with an empty string where it called for a boolean. Coverity defect 703726
  • [2eabe31]cgitgithub: 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]cgitgithub: Fix integer overflow bug in AutoExpire::CalcParams().
  • [687f242]cgitgithub: Fix a number of minor issues reported by Coverity for mythmusic.
  • [d314019]cgitgithub: Remove unused member variable in MythWeather's SourceManager class. Silences warning from Coverity, defect 703838
  • [18d0a1c]cgitgithub: Fix a possible but insignificant leak in MythArchive's VideoSelector::getVideoListFromDB(). Coverity defect 703764


Fixed Memory Leaks

  • [7268a9c]cgitgithub: Fix a memory leak in DVDRingBuffer::GetChapterTimes()
  • [1237254]cgitgithub: 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]cgitgithub: Fix a potential leak in dvdnav_describe_title_chapters. Thanks to James Dutton (libdvdnav) for identifying the problem.
  • [d5b6760]cgitgithub: Fix leak in TeletextScreen::ClearScreen. Fixes #10630
  • [7d4b285]cgitgithub: Fix memory leak when reading flac vorbis tags. Fixes #10721
  • [e8aef6a]cgitgithub: Fix memory leak in MetaIOTagLib::getTrackLength(const QString &filename)
  • [2144ef1]cgitgithub: Fix leak of MetaIOID3() object if we're scanning Flac files without ID3 tags. Fixes #10776 and #10757
  • [6ce0af8]cgitgithub: 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]cgitgithub: Fix yet more leaks in services/dvr.cpp. Objects allocated on the heap when they could/should have been on the stack.
  • [42aae94]cgitgithub: Fix some edge cases for the MythSystem changes (memory leak)
  • [b5fbc74]cgitgithub Remove potential deadlock on MythSystem IO threads. Fixes #11066