Key New Features

Major Changes

Remove the Timeslot and Weekslot recording rule types. Users of these types should see [a1f9793]cgitgithub for alternatives.

Remove the Channel Record recording rule type. Add a This channel filter to maintain that functionality. Automatically convert existing Channel Record rules to All Record rules with the This channel filter enabled. Full details of this and the next two 'sub bullets' at: [9497ba1]cgitgithub, [030ba69]cgitgithub

Add a dialog to offer common actions instead of immediately entering the schedule editor when SELECT is pressed on a non-scheduled program.

Change the behavior when RECORD is pressed in the EPG and elsewhere.

Provide accurate position/duration/seeking with non-constant frame rates. Note that to get the benefit of these changes for preexisting recordings, it may be necessary to run "mythcommflag --rebuild" on affected recordings. [49dbed5]cgitgithub#10104

Prerequisite Changes

Added support libraries/prerequisites

Removed support libraries/prerequisites

Special Notices & Instructions

Disable database logging by default. The --nodblog option has been removed. DB logging can be enabled using the new --enable-dblog option [0e8d173]cgitgithub

mythshutdown's default logging has changed. Most users will find (for example) that mythshutdown --check will now tell them exactly what they need. For full log output, mythshutdown --check --verbose general --loglevel info is required. [f070528]cgitgithub

The default Xinerama aspect ratio has been changed to widescreen and the list has been re-ordered in setup. [e4c52f2]cgitgithub

Client programs that make use of the Services API, should be checked for compatibility with this release, significant changes to the protocol have been made. Developers of these clients should have prepared for the following:

Recording Rules: take note that the version has changed from 1.10 to 1.11 and treat the differences in AddRecordSchedule and GetRecordSchedule. Also, UpdateRecordSchedule was added. Details are here: [2865936]cgitgithub

[c9d8533]cgitgithub audio player was initialized as having audio out by default, even if no audio output had beed created. This caused to always try to decode audio even when not required (like during commflagging.) Fixes #11616

[64da907]cgitgithub Similar to c9d8533fe8fc19fead0ad896f37bb8f07367cc57, no need to attempt to decode audio if it's not going to be played

[3e01436]cgitgithub Changed DVD angle handling to be 1-based throughout (as they are on DVDs). This also affects the SWITCHTOANGLE action via the Services API.

[d189c7c]cgitgithub Add a 'groupname' textarea to the group list in PBB. Allows display of the name as it was before 0.27 with the added benefit of letting the themer decided what the 'all' group gets called.

[555d030]cgitgithub Allow SetVideoParams to update either the dimensions or the framerate (or both) instead of requiring all parameters to be valid. This allows (for example) the frame rate to be updated when there is no video. Refs #11357

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

[a1c4f4f]cgitgithub When processing frames from DVD/Blu-ray ringbuffer, menu frames are now buffered as necessary to ensure stutter-free playback. Refs #11233

[f8d29ec]cgitgithub MythMusic: remove the MusicTagEncoding setting. NOTE TO THEMERS: you should remove the 'tagencoding' selector and its text label from the 'generalsettings' window in musicsettings-ui.xml.

[15ca135]cgitgithub Terra: remove 'tagencoding' selector and text area from musicsettings-ui.xml

[69d2f85]cgitgithub Remove a duplicate SendMythSystemPlayEvent("PLAY_STARTED") and ensure we only send PLAY_STOPPED if we sent [PLAY/LIVETV]_STARTED. This means that neither STARTED or STOPPED are sent if playback fails. Indirectly fixes coverity 746793

[a1955f6]cgitgithub DVBCam: Fix coverity 700258. Unchecked return value of ioctl. If the ioctl fails then numslots is going to be populated with a random value, as the caps struct will be uninitialised.

[bf9fa6d]cgitgithub MHText: Fix coverity 746766. Copy-paste error. This does indeed look like a copy/paste error, the value of 24 is what linespace is initialised to so I'm assuming that's what we want to fall back to.

[b89b021]cgitgithub DVDRingBuffer: Fix coverity 751766. Check the return value of dvdnav_get_audio_logical_stream(), it can return -1 in the event of an error but we weren't handling this correctly.

[96f1f54]cgitgithub Fix coverity false positive. "Non-static class member field "buffer_settings.fragsize" is not initialized in this constructor nor in any functions that it calls." Coverity-Id: 746856

[b9927eb]cgitgithub Remove some unused members and initialise others in ScreenWizard. Silences some cppcheck warnings.

[be249d6]cgitgithub Silence a cppcheck warning about allocating m_gameTree before checking that it was deallocated.

[f32a610]cgitgithub Silence cppcheck warning about allocating m_browser before checking whether it was already allocated. False positive in that Create() should only be called once per instance of MythFlashPlay

[8b09fd3]cgitgithub Be more restrictive in applying the UK/Irish AD hack, the reciever spec is clear that type will always be zero and language NAR for AD tracks. I've not seen any different in the wild.

[d9b022e]cgitgithub Always update the still frame timer whenever the timeout changes (including when it should be disabled) to ensure that it doesn't 'expire' accidentally and cause the next still frame (at whatever point in time that may be) to be skipped.

[dbf2878]cgitgithub Make sure DVD menu highlight isn't hidden immediately due to framerate being set to zero, which, when followed down the chain, causes a video re-initialisation, which clears any subpicture. Fixes #11443

[3d589bc]cgitgithub Respect the start and end times of menu highlights to avoid showing the menu highlight too soon/for too long. Fixes #11451

[e5e9cc8]cgitgithub Ensure that DVD subpictures that don't explicitly set the 'end' time are still shown. Also, handle 'CHG_COLCON' command by skipping over the data. This should prevent any issues caused by incorrectly interpreting the data as subpicture commands. Fixes #11455

[8bcef59]cgitgithub Fix filtering, sorting and selection of DVD audio streams when the mapping in a PGC is not 1:1, which was broken due to different functions/methods providing or requiring a physical stream ID, logical track number or logical index, with little consistency between them, and 'disabled' streams not being filtered out. Fixes #11376

[aa1fb8f]cgitgithub Add DVD context class to encapsulate the state of the DVD VM so that this can be decoupled from the ringbuffer. As the decoder and player lag the ringbuffer by up to a second or more, this will allow them to base their operation on the DVD state at the time any given frame was read and not on the 'current' state, which may well not be the same. Refs #11579

[4df1612]cgitgithub Added more consistent handling of slide shows (i.e. individual video frames to be shown until the next video frame appears in the stream). This allows correct playback of still frames with or without audio regardless of domain (previously still frames with audio was only handled in a menu), so this change allows audio DVDs to be played. Refs #11579

[9665e95]cgitgithub Fix notifications not using their allocated screen should the client unregistered before notifications queued could be processed. Fix notification leaks should screen failing to be created.

[4bafd42]cgitgithub We want the notification screen stack to be displayed from oldest to newest, we want all windows to be animated when deleted and pressing ESC should remove the oldest notification first. Fixes #11683 Fixes #11685

[ea99443]cgitgithub Fixed flickering playback when transistioning from/to a still frame with OpenGL playback. The underlying issue (paused video not being unpaused) occured with VDPAU playback too but did not seem to cause any visible issues.