There is currently a bug in XBMC which causes channel settings to not be loaded at all when pvr.cacheindvdplayer is disabled. The setting is used to dramatically speed up the time it takes to switch channels on backends with an internal demuxer. The problem is that the call to load the settings is done in a block that is never reached when the setting is disabled.
Because standard files and PVR channels work quite differently I've opted to contain loading/saving of channel settings in PVRManager. Currently they're loaded in Open/CloseLiveStream() and PerformChannelSwitch(). They were previously loaded in DVDPlayer and sometimes stored in Application in addition to whenever the current audio/video settings were changed.
I've also changed the Save/Load methods to take the channel in question as a parameter, this way it is easier to put the call in the proper location. It also alleviates the need to defer to PVRClients to handle the logic.
@opdenkamp @FernetMenta would be nice if you could chip in
@margro can you check for regressions with some backend other than tvheadend/vdr?
don't handle loading/saving channel settings in Application and
[pvr] don't save channel settings every time an audio/video setting
[pvr] remove CPVRChannelSettingsSaveJob since it is now unused
[pvr] implement Save/LoadCurrentChannelSettings() directly in PVRManager
instead of passing the call along to PVRClients. Also call the methods
in the appropriate places (OpenLiveStream, CloseLiveStream and
[pvr] remove m_bIsValidChannelSettings from PVRClients since it is un…
[cosmetics] removed "Current" from the save/load method names and made
[pvr] always persist channel settings, they defaults check always ret…
please first PR to master branch. Only when accepted in master could this be PRed to Gotham if accepted
Okay, I'll rebase and open a new pull request there.
you can reopen this one once accepted and they agree to backport to Gotham:)