added: setting to disable keyboard grabbing when in fullscreen on platforms that use SDL on X11, calls SDL_WM_GrabInput(SDL_GRAB_OFF) with the SDL_FULLSCREEN temporarily zero'd, this will make SDL call XUnGrabPointer and XUnGrabKeyboard, allowing window manager keys like printscreen, volume and alt-tab to work
[LangInfo] Use preferred audio/subtitle language also for dvds and blurays.
[LangInfo] Use gui's language for dvd/bluray menus.
changed: Don't allow change of volume amplification with passthrough audio
settings: fix updating skin-related settings spinners
properly reset skin-related settings after changing the current skin (fixes #14595)
smartplaylists: use simple WHERE conditions instead of expensive IN statements
smartplaylists: cosmetics in SQL queries
smartplaylists: use SELECT DISTINCT in SQL sub-queries
smartplaylists: replace SQL IN with SQL EXISTS in WHERE conditions
[rbp/omxplayer] Add wait for buffers done calls
[rbp/omxplayer] Handle timeouts greater than a second
[rbp/omxplayer] Callback context pointer is not needed once in the class
[rbp/omxplayer] Avoid state change when already in loaded
[rbp/omxplayer] Remove warnings from event logging calls
[rbp/omxplayer] Add more event logging
[rbp/omxplayer] Signal bad state on decode error

Also abort timeouts early when in bad state
[rbp/omxplayer] We should block until all buffers are released
[rbp/omxplayer] Load OMX dll just once

On Pi xbmc isn't usable without OMX (used for video, audio, image encode and decode),
so rather than loading dll with every component, just load it once at initialisation and assume it's there
[rbp/omxplayer] Reset more state variables on Initialize

The component shouldn't remember any state from before the Initialize