xbmc/xbmc — pull request #5842 by anaconda (2014-11-29 02:46:58+00:00)
Title: Fix off-by-1 errors in saving video settings when in a playlists.

Current video settings are saved in:
* `PlayFile()` before playing the requested item - this works for playlists;
* `UpdateFileState()` every 500 ms (it is called in `ProcessSlow()`), if the
current playing item has changed - this works for single videos.

Due to `SaveFileState()` calling `GetCurrentVideoSettings()` [1], in a playlist
the correct video settings were first saved by PlayFile(), but shortly after
overwritten by UpdateFileState(). It was in fact saving video settings for
the *previous* item (X-1) with settings for the *current* one (X).

This commits adds a check to UpdateFileState() so that it ignores playlists.

Fixes #15322

[1] https://github.com/xbmc/xbmc/blob/master/xbmc/Application.cpp#L4350