[pvr] refactor: define map type for epg container
[pvr] refactor: use map to improve recording lookup in recordings container
[pvr] refactor: use std::string for recording id to avoid implicit casts
[pvr] cosmetics: fix minor typos in comments
[pvr] add optional support for playing recordings from epg timeline or epg osd
[confluence] add "has recording" marker to programmes having associated recordings in epg timeline view, epg osd and programme search results
[Fix] Cleanup emu environment items on exit.
Remove unused define in emu_msvcrt.
Free allocated CTimeSmoother at exit.
[AE] Free AVIOContext and its buffer.
tvshowmatching: match names without season (foo.E01)
tvshowmatching: allow digits after 'part'. e.g. foo.part.1
add tests for EnumerateEpisodeItem
[AE/osxsink] - distinguish between passthroughnative and passthroughbitstream in the findsuitableformat method
[AE/osxsink/coreaudio] - split registration for the devicelist changed callback and registration for the default output device changed callback and
move the coreaudio callback registration methods to CCoreAudioDevice and add possibility to suppress the defaultdevicechanged callback for a given time
[AE/osxsink] - open the device before setting hogmode (as sethogmode relies on it!)
[osx/coreaudio] - suppress default output device changed callbacks for 2 seconds when setting physical and virtual formats
[videodb] clear out art from tvshow/seasons that were combined in the v85 database update, as the triggers would not have kicked off
Merge pull request #4999 from jmarshallnz/season_cleanup

[videodb] clear out art from tvshow/seasons that were combined
[videodb] we can't use REPLACE INTO when updating values during UpdateTables as analytics aren't in place. fixes problems where a show path appearing in more than one multipath being duplicated on update (thus failing). fixes #15334