When the OpenSLES backend is in use, and the application using cubeb has been compiled against an old SDK (before level 21, Lollipop, from 2014), the facilities to configure an audio stream to use floating point PCM isn't available.
This is the case in Firefox for Android, when compiled for armv7 devices, the API level in use is 16.
This PR also includes numerous cleanups on this backend (but the functional change is in its own commit):
convert to C++
fix all clang-tidy reports (with Gecko's config, that I find sensible)
switch to using cubeb_log.h logging facilities
add logging statement in error paths, and add various other logging statements
It seems that, unfortunately, we won't be able to get away with always relying on AAudio, so that seemed worth doing.
This fixes BMO#1848518, but I'm going to send another PR for the input side.
When the OpenSLES backend is in use, and the application using cubeb has been compiled against an old SDK (before level 21, Lollipop, from 2014), the facilities to configure an audio stream to use floating point PCM isn't available.
This is the case in Firefox for Android, when compiled for armv7 devices, the API level in use is 16.
This PR also includes numerous cleanups on this backend (but the functional change is in its own commit):
cubeb_log.h
logging facilitiesIt seems that, unfortunately, we won't be able to get away with always relying on AAudio, so that seemed worth doing.
This fixes BMO#1848518, but I'm going to send another PR for the input side.