Release Notes - 0.26

From MythTV Official Wiki
Revision as of 22:53, 5 September 2012 by Llib (talk | contribs) (Update comits to rc-2, highlight the usefulness of d418754's features.)

Jump to: navigation, search


Important.png Note: Please note that the following reflects changes for a future release of MythTV currently in development and not recommended for production use. The current release is 29.0.

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
RC-2 Released 5 Sep 2012 83dca6f
Final Release TBD TBD

0.26-release encompasses development revisions from [df47df3]cgitgithub though [TBD]cgitgithub
This update is based on commits up to: [83dca6f]cgitgithub dated Thu Sep 5 2012 and mythweb [4dcd253]cgitgithub dated Aug 28 2012.


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
  • Themers (and power users) are now able to replace schedule options with 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

Major Changes

  • Conversion of internal times to UTC. Stored times will be converted by the database update mechanism. For example, tables program, recorded, oldrecorded, recordupdate will have their starttimes and endtimes converted to UTC. This should be of interest to daylight savings time users.
  • Mythlogserver, a new program for handling all log requests. ZeroMQ is included in this release.
  • 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. Example:
  • 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


Removed support libraries/prerequisites


Special Notices & Instructions

  • The conversion to UTC requires significant changes to the database. Before upgrading, running /usr/share/mythtv/ as the user that will do the conversion (that might be mythtv or $USER). This would be an excellent time to prove that the backup process is working (and should probably be a 'standing order' for all upgrades!)
  • Also note that the automatic 0.26 database upgrade (which uses the command above) may take a long time, one user reported five minutes.
  • The environmental variable MYTHTV_AIRPLAY is no longer required (GUI added) [11ea7ef]cgitgithub.
  • MySQL must have time zone tables added, see MySQL Time Zone Tables.
  • User scripts/tools that depended on mysql.txt should be reviewed. Since MythTV no longer uses mysql.txt, its no longer updated. Scripts/tools could stop working.
  • 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




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


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