Fix immutable methods in Artwork class.

This fixes an issue with several immutable methods in the Artwork class,
inherited from the parent UserString class. As the Artwork class is
modified for use as a property, and not intended to be called directly
for storage of a string, the inherited UserString methods that returned
a new instance using the __class__ attribute would fail. This adds a
__new__ method that detects such uses and forces the call to return a
standard str type instead.
(cherry picked from commit 9f66fa0f9a4d9d759b9fdb44f411a4dc1a0748cb)
Use 'unicode' rather than 'str' for UTF8 compatibility.
(cherry picked from commit 0bc83db48ec08b8df576c6ecbf1049567d34ab7a)
Correct handling of Artwork when database field is set to NULL.
(cherry picked from commit 4646e7f56fc97f62d05d42b5896e8eceb361492e)
Tweak DictData behavior to properly function with Properties.
(cherry picked from commit 662b5e83cfa103fc3aed86c194b2fa2c6b9424d8)
Internet Content: Remove deprecated YouTube categories

Fixes #11193
(cherry picked from commit 7c903d2a90d7962fa6e1ee856d506539ce17c1c8)
Use translated title rather than original title for results, if available.
(cherry picked from commit e13600c833eff1919479ecefca5ad18945777c70)
Fix timezone issue with custom SQL queries.

Signed-off-by: Raymond Wagner <rwagner@mythtv.org>
(cherry picked from commit ee42f13d12721b7566bbb0ec013abff1938f48aa)
Bump internal bindings versions.
When processing frames from DVD/Blu-ray ringbuffer, menu frames are now buffered as necessary to ensure stutter-free playback.

Refs #11233

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
(cherry picked from commit 62816805dbbce996bd8ee61da3bdfca1bb1bcef9)

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
Fix multiple database bindings issue in Scheduler::ResetDuplicates().

This causesd the duplicate status of programs without programids or
findids to not get updated properly.

Fixes #11224
(cherry picked from commit 6a147ecf09aea985f95d8dcbe4edacc9e18f4a38)
Fix a possible reace condition when a recording finishes.

There was a slight, albeit very unlikely, possibility the scheduler
could run before the recorded table was updated.  This avoids it by
updating the database before notifying the scheduler.

Refs #11224
(cherry picked from commit 729e3d56d3e984d35b4fecd249da7c3e1bdcbfb9)
Reschedule when a recording is undeleted.

Note: an unwitting user could unintentionally bypass this change by
changing the recording group directly from "Deleted" to something
else.  Possibly fix this in the future by moving all releated fixups
into RecordingInfo::ApplyRecordRecGroupChange() instead of having
every caller do them.

Refs #11224
(cherry picked from commit 5e1c14e8c295fb00a3f2e359021be026104863db)
Don't treat unknown text display modes as audio tracks. Fixes
TOGGLE_SUBTITLES not working with DVDs after leaving a menu, although a better fix specifically for this problem may be added later.
(cherry picked from commit 2653de8643929aeaaaae3dd5e2a8aa3b86220c47)
Changed DVD angle handling to be 1-based throughout (as they are on DVDs). This also affects the SWITCHTOANGLE action via the Services API.

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
(cherry picked from commit 3e01436a867332ae2aaa24b89b1c5b8ec35480e0)
Have EDIT open the metadata editor in the CD ripping screen
(cherry picked from commit 0e281107a8254c77317f9997625b6e3c04097742)
Fix Audio Description and Commentary track filtering when auto-selecting audio track

Fixes #9878
Fixes #3260
Fixes #10963
(cherry picked from commit ee375344e4ac309917fb85f51c9e05ca2b4761c2)
mythmusic: Fix streaming radio not being able to connect to some streams

This fixes a couple of errors with creating the stream GET request header.
If the path part of the the URI is empty the HTTP/1.1 spec says it should be
specified as "/" and not be empty and the Host request-header field should
contain the port if it is non standard.

Fixes #11214

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
(cherry picked from commit fe22adc5c485b8b19969b0e1804a84f652227577)
Subtitles: Add support for forced text subtitle tracks.

Fixes #11242.

If there is a forced text subtitle track (which is possible in e.g. a
.mkv container), and forced subtitles are allowed, then start playback
with that subtitle track selected. Otherwise, use the frontend
settings to decide which captions/subtitles (if any) to enable at
startup.

Background on the mythtv-users mailing list -
http://www.gossamer-threads.com/lists/mythtv/users/532845 .
(cherry picked from commit 64a3cd08752a07ea7928df2d1c713f75a8181f58)
Reduce the amount of "Build background buttonlist" logging.
(cherry picked from commit d1243e25eba64b1e20e6c1ea901eaaa6b3044049)
Don't strip unnecessary white space from title when creating the title list. Fixes #11200
(cherry picked from commit b47711179612a12d8e4f888c426cb5b268893797)