[rbp/omxplayer] Fix for hang following seek after eos

If you seek after the demuxer eof, the eof state is cleared, but we are not clearing the flags relating to sending eos stream to audio/video players
fixed: when doing a format conversion from float to 32 bit int, multiply with INT32_MAX - 127, since this is the maximum value that can be stored in 32 bit float and int, if INT32_MAX gets converted to float, it gets rounded to INT32_MAX + 1 which can cause wrap around distortion
rename: MUL32 -> AE_MUL32
Merge pull request #2748 from bobo1on1/32bitmul

Was tested, works.
Drop played parts of video files from the fs cache.

Patch by Steinar H. Gunderson:

This patch fixes a persistent problem I've been seing on my Linux HTPC
in that if I adjust the volume from the XBMC Android remote, the video
glitches for a few (4–5) frames. Seemingly this is because loading the
video file has caused the graphics for the volume control to be swapped
out (it does not happen if I recently used the volume control).

One could argue that the right fix for this would be to reduce
/proc/sys/vm/swappiness, but it might not seem reasonable to expect
end-users to fiddle with VM parameters (and the user might not even have
root access). I view this fix as complimentary in nature.

What we do is to use posix_fadvise() to tell the kernel that previously
read parts of the video file will no longer be used, causing it to drop
those from its buffer cache. This makes other things, like in my case,
the volume control graphics, stay cached. This is, of course, assuming
you don't have other processes that trash your cache, but as long as
XBMC is running relatively undisturbed, this shouldn't be a big problem.

The patch is conservative:
 * We only drop data after we've read 16MB past it. (This counter is
   reset on seeks.)
 * We never drop data from the first 16MB of a file (this makes sure we
   don't drop _anything_ from files <32MB, ie. graphics, configuration
   files, etc.).
 * In order to avoid making tons of extra syscalls, we only drop in 1MB
   chunks.

Unfortunately Linux as of 3.1.0 has no way of just _hinting_ that we
will no longer need these parts -- when we issue posix_fadvise(), the
data is immediately and unconditionally dropped from the buffer cache.
(If you read the manpage, it might seem otherwise, until you come to the
point where it tells how these flags are actually interpreted by the
kernel.) Future kernels might remedy this.
Merge pull request #2065 from sandsmark/master

Drop played parts of video files from the fs cache.
[libdvdread] Revert previous fixups
[libdvdread] Remove symlink checking as this is not needed by xbmc
[libdvdread] added patch file elimination of symlink resolution
[libdvdread] add missing stat() filesystem wrapper - fixes reading VIDEO_TS dvds on Android
Merge pull request #2753 from Voyager1/libdvdread-fix

Better Libdvdread fix for SMB/NFS VIDEO_TS dvd files (non-Windows and now including Android) with special thanks to @theuni !
CGUIWindowSettingsCategory: remove unused m_currentSettings member variable
CGUIWindowSettingsCategory: only handle delayed settings during GUI_MSG_FOCUSED if the focused setting is not the delayed setting

When using a mouse to control XBMC changing the value of a spinner with a left
click results in a GUI_MSG_FOCUSED message. If that setting is delayed a left
click lead to the early evaluation of the delayed setting even though it's
still being changed (which should just result in a reset of the delay timer).
This lead to crashes if a setting changed callback executed a skin reload.
build: don't guess where a feature may be available

Test the feature, not the OS. Fixes Android build.
Merge pull request #2755 from popcornmix/hang_eos_seek

[rbp/omxplayer] Fix for hang following seek after eos
[fix] restrict path access through UPnPServer
[addons] bump version for scrapers after 361696a2d04025bfa2f9e5822baca9e843f07a29
Merge pull request #2759 from alcoheca/upnp-fix-root-access

Upnp fix root access
Fixed: do not send Range request header when encounter error.
CGUIWindowSettingsCategory: update delayed setting changes on focus change asynchronously

When using the mouse to focus another control after having changed the value
of a delayed setting that reloads the skin, a SIGSEGV occured because the
CGUIControl event handler tried to execute code on an already destroyed object.
Handling the update of the delayed setting change asynchronously allows the
active event handler to finish working before handling the previously triggered
GUI_MSG_UPDATE_ITEM which may lead to the destruction of the setting controls.