xbmc/xbmc — pull request #4630 by Red-F (2014-05-01 16:13:48+00:00)
Title: FIX resume playing PVR recordings from the exact lastplayed position

on PVR Servers that support the get/set lastplayedposition API

@opdenkamp

Lars, I've found an annoying bug on RC1 that breaks resuming PVR recordings on PVR servers that support the get/set lastplayedposition PVR API:

* In CGUIWindowPVRRecording::GetResumeString, there is a check if 'lastplayedposition' is supported by the PVR server;

* If the PVR supports lastplayedposition, then the last played position is retrieved from the PVR server and a RESUME bookmark is addd to the video database for this fileitem

**However**

* When the file is played via CApplication::PlayFile, this method first retrieves the RESUME bookmark from the database (see xbmc/Application.cpp line 3990) to set the options.starttime....

* Then the fileitem is checked to see if it has a VideoInfoTag and the resumePoint is set in that tag (xbmc/Application.cpp line 4001), if so then the options.starttime is overwritten

* This causes the options.starttime to be **never** equal to the position retrieved by the GetLastPlayedPosition API

This PR has a slightly changed implementation of CGUIWindowPVRRecording::GetResumeString that will update the m_resumePoint with the new resume position retrieved by GetLastPlayedPosition.

To minimise impact this method has now been made private to this class.

Please let me know any omissions, errors, oversights and I will update, squash and re-base accordingly.

Kind regards,
Fred