Ensure that the decoder is init once only.

This fixes the crash while playing MPEG2 files with sequence display extension.
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, ...)
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>
Added ListItem.Votes and VideoPlayer.Votes
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
Support the shorten filename output of http directory.
[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.
dvdplayer: reevaluate HasVideo/Audio after a stream change
pvr: remove check for different types of channels on SwitchChannel
[DVDInputStreamNavigator/Players] Use a struct and dvdnav_get_audio_info(...) to query all required audio stream info at once.

[Fixes]
- Fix stream type, e.g. "(Directors Comments)", recognition. It is stored in code_extension not in lang_extension.

- Properly set the number of channels of a dvd audio stream.

- Set the stream language of dvd audio tracks properly/consistent with other audio streams, i.e. set it to a three char code.

- Set the stream name of dvd audio tracks properly/consistent with other audio streams.
[DVDInputStreamNavigator/Players] Use a struct and dvdnav_get_stitle_info(...) to query all required subtitle stream info at once.

[Fixes]
- Set the stream language of dvd subtitles properly/consistent with other streams, i.e. set it to a three char code.

- Set the stream name of dvd subtitle tracks properly/consistent with other streams; in particular don't use the language as the name.
Make the type, e.g. "(Forced)", of a stream translatable in its name.
[DVDDemuxer] Don't set the language as the stream name.
[Players] Don't assign "unknown" to the audio/subtitle stream name, leave it empty instead.
[AMLPlayer] Set the name of a stream properly/consistent with the other players, i.e., codec name (if possible) + channels.
Don't assign "unknown" to the audio/subtitle stream name, leave it empty instead.
[Players] Convert the language code of a selection stream to three chars if necessary.