[source] Pass device as integer if needed. Fixes MER#1343
[source] Pass device as integer if needed. Fixes MER#1343

Due to some android implementations' broken (unsigned) integer use,
add possibility to pass input source device as integer. Routing
parameters are passed using the set_parameters() as strings, so the
HAL implementation needs to convert them back to unsigned integers.
As the input devices are specified as unsigned integers > INT_MAX,
trying to do operations like atoi() with the values creates bogus
values, as glibc atoi() truncates values > INT_MAX (as does latest
bionic variant as well).

Hackish solution to overcome this is to pass the unsigned values
as integers, so that the string-formatted value range stays inside
INT_MIN and INT_MAX.

mer-hybris/pulseaudio-modules-droid,mlehtima/pulseaudio-modules-droid,mlehtima/pulseaudio-modules-droid,mer-hybris/pulseaudio-modules-droid,ballock/pulseaudio-modules-droid,jusa/pulseaudio-modules-droid,jusa/pulseaudio-modules-droid,ballock/pulseaudio-modules-droid