[rbp/omxplayer] Reset display region when video stream properties change

Currently when video stream properties change, e.g. when user switches to next or previous Live TV channel, and has the same frame width and height, the COMXVideo::SetVideoRect() method is not called, causing the video to play back with default source and destination rectangles, not respecting the user-defined zoom settings.

This commit fixes the issue.
settings: a setting should be disabled if its parent setting is disabled
[videodb] don't set the playcount to previously matched episode/season when adding new episodes if the new episode doesn't have a defined episode and season number. fixes #15234
Merge pull request #4666 from codesnake/reset_display_region_when_stream_properties_changed_in_omxplayer

[rbp/omxplayer] Reset display region when video stream properties change
[info] Only extract thumbnails and video info from real video stream
[omxplayer] Allow small audio packets to be concatenated to make better use of audio fifo

Some audio codecs produce small packets which causes a high overhead when submitting to GPU, and doesn't make full use of GPU side buffering.
TrueHD in particular can produce packets with 40 samples (so 1200 packets per second) which causes very high overhead.

What this aims to do is to concatenate audio packets until they approach the ideal audio packet size,
and then deal with the awkardness of concatenated planar formats.
[omxplayer] Use media time for determing audio delay and cache time

I've also added caching to the call to OMXMediaTime as the GPU round trip is expensive when called too frequently
Use pass by ref to construct DVDMsgType

This saves doing an extra copy for each call to the constructor, the worst one probably being the PVR channel changes at 168 bytes each.

Fixes coverity CID 719604
[Pydocs] Add info for Player and RenderCapture

1) Added information in comments to be pulled into PyDocs describing the
shortcomings when calling xbmc.player.getPlayingFile() for LiveTV.
Specifically that pvr:// url's are not translated into usable filenames
or streams.
2) Added information to xbmc.CapturePlayer regarding the functions
getHeight() and getWidth() which return 0 prior to calling
CapturePlayer.capture(). Also added that getAspectRatio() may be called
prior to issuing a capture() request.
Merge pull request #4771 from Montellese/settings_disabled

settings: a setting should be disabled if its parent setting is disabled
Merge pull request #4779 from popcornmix/real_thumbnail

[info] Only extract thumbnails and video info from real video stream
Merge pull request #4789 from KenV99/master

[Pydocs] Add info for Player and RenderCapture
Merge pull request #4775 from jmarshallnz/empty_episode_playcount

[videodb] don't set the playcount on scan if missing episode/season numbers
Merge pull request #4777 from popcornmix/small_audio

[omxplayer] Allow small audio packets to be concatenated to make better use of audio fifo
Merge pull request #4784 from cg110/CDVDMsgType_remove_copy

Use pass by ref to construct DVDMsgType
fixed: Default cipherlist fails with CURL NSS backend
[osx] adapt AERingBuffer.h to allow planar formats
[osx] adapt OSX sink to utilise planar output from AE
[osx] drop the bitstreaming buffer - it's not much more costly than multiple small memcpy's and it's not as if we're performance constrained here
[osx] use a separate member for the frames per second in computations rather than m_format.m_sampleRate