Ensure that the decoder is init once only.

This fixes the crash while playing MPEG2 files with sequence display extension.
always process Startup.xml if it exists
add startupwindow infolabel
[Confluence] activate the selected startup window instead of home
allow <width>auto</width> for label controls, and ensure dirty-regions works with them. Part of #13887
Handle keystrokes in the web interface remote (up, down, left, right, play/pause, ...)
tag animations as ready to go once processed once, not while rendered once. fixes #13912
AE: Pulse Audio fix crash on player stop.

PA is calling back functions on stream destruction and may try
to read a free'd stream variable. (trac bug 13903)

Signed-off-by: Michael Cronenworth <mike@cchtml.com>
AE: Pulse Audio fix buffer underruns.

The cache buffer size was being initialized to the write size
of a PA stream, which is not the buffer size of the PA server.
The cache buffer size will now use the PA server buffer size.
(trac bug 13902)

Signed-off-by: Michael Cronenworth <mike@cchtml.com>
Remove spam log message in CGUIWindowSlideShow::RenderErrorMessage().
Speed up ffmpeg format probing if we'll trust codec fps.
Handle letters and digits keystrokes in the web interface remote
[AE] ALSA: Do not try to bypass dmix for other sample rates

Currently the ALSA sink tries to bypass ALSA dmix when the audio sample
rate is different from dmix sample rate (usually 48000). This is done by
opening "front" device instead of "default" (or "sysdefault").

However, this has the effect that stereo audio is only played on the
front speakers, while "default" device might have routed the audio to
multiple speakers on a multichannel system. This effect is triggered
even on systems that have a hardware mixer and therefore no dmix in the
first place.

To avoid this issue, remove the bypass behavior that was added between
11.0 and 12.0. This change affects stereo audio only as multichannel
audio does not normally have ALSA dmix in the first place.

It would not have been feasible to limit the previous behavior to dmix
systems only, since the ALSA design does not allow us to easily detect
dmix, since user applications should not care about that. If dmix is not
wanted, the user should not have it enabled in the first place.
[python] Notify python code about double clicks
[python] Add removeItem to ControlList
Templatize some of the more repetitive initialize-check logic so that
we can just try and create every individual type, see if creation succeeded
and then return true if it did.
GUIScrollBarControl: fix onright/ondown navigation when master control doesn't have enough items to fill at least 1 page
GUIBaseContainer: remove unneeded call from CGUIBaseContainer::Render() - we are calling it in CGUIBaseContainer::Process() earlier
GUI containers: adjust page control offset when scrolling down to match behaviour when scrolling up
Merge pull request #2436 from aglebov/master

[python] Add removeItem to ControlList