Key New Features

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.

mythsyslogserver, a new system for handling all log requests. ZeroMQ is included in this release.

Numerous HLS (HTTP Live Streaming) playback fixes.

Add ability to override Bonjour's service name (-O BonjourHostname=mycomputer.)

Note that if --verbose vbi</code is used with <code>mythfrontend, a "DEPRECATED_608_TELETEXT" message will now appear in logs. Support for CEA-608 teletext captions willbe removed in 0.27. The log entries will allow users to check whether they would be affected. Refs #10786[7b1aef8]cgitgithub.

Users referencing logfiles (e.g. those created by using --logpath will note that their timestamps are now in UTC [28d9324]cgitgithub

Warning: The commits are being compiled off-line, changes made to them will be lost. This warning will go away when they are complete, which is 50% as of this update.

MythTV

New Features

Bug Fixes

Changes/Improvements/Other

[825182e]cgitgithub 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.

Changes/Improvements/Other

Audio

Bug Fixes

Changes/Improvements/Other

Video Playback

Bug Fixes

Changes/Improvements/Other

[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.

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

Bug Fixes

Changes/Improvements/Other

OSD, EPG, MHEG, CC, and Subtitles

New Features

Bug Fixes

Changes/Improvements/Other

[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.

[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.

Changes/Improvements/Other

Misc

New Features

Bug Fixes

Changes/Improvements/Other

New Features

Bug Fixes

Changes/Improvements/Other

[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.

[045e606]cgitgithub: 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]cgitgithub: Fix an instance of a concatenated translated string which prevents proper translation.

[7d9bb76]cgitgithub: Replace some more instances of concatenated strings which cannot be translated correctly.

[6a64891]cgitgithub: Eliminate ConstFilterInfo_. There is no constructor which means we need to rely on a gcc c++ extension for initialization.

[12a3eac]cgitgithub: 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++ - util-osx-cocoa.mm was compiled as a C++ file, not an objective-C++ file, gcc was forgiving about the error, clang++ isn't

[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

[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.

[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'