CFile: Don't cast potential negative values to unsigned int
Merge pull request #6005 from fritsch/vfs

CFile: Don't cast potential negative values to unsigned int
vdpau: advanced settings for auto deinterlacing
ActiveAE: slightly reduce buffer size
pthreads: use mutex protocol PTHREAD_PRIO_INHERIT
vaapi: lock gfx context on pre-cleanup
Add FDEventMonitor for monitoring file descriptors

Add FDEventMonitor helper thread for monitoring file descriptors for
events (ready for read, ready for write) without the need for spawning
a separate thread with a tight loop around poll()/select().

FDEventMonitor uses an eventfd for signaling poll() instead of a
timeout, therefore it can sleep for long times in case of no events but
still immediately respond to e.g. shutdown.
ALSA: Add ALSADeviceMonitor for monitoring card removals/additions
ALSA: Add ALSADeviceMonitor for monitoring ELD changes

ELD changes can happen e.g. when the connected HDMI sink is changed.
ALSA: Add more logging to device change triggers
ALSA: Fix DeviceChange event triggered by enumeration

All hctl elements get an SND_CTL_EVENT_MASK_REMOVE event when the ctl
file descriptor is closed, which is done e.g. when re-enumerating
devices.

(SND_CTL_EVENT_MASK_REMOVE & SND_CTL_EVENT_MASK_VALUE) is true, and
therefore we re-triggered enumeration (depending a bit on timing).

Fix that by checking for the special _REMOVE value first and ignoring
those events.
AppMessenger: support for setting volume
AESinkPUSLSE: Use ApplicationMessenger to alter internal volume