The important parts are cb626a421b3ab55114914c25e9a80d69fe1a96ad and cb626a421b3ab55114914c25e9a80d69fe1a96ad, the rest is just cleanups and also the ability to log without changing a #define. Hopefully the messages are clear enough to understand what's going on, despite the long commits.
and other cleanups (clang tidy, format).
The important parts are cb626a421b3ab55114914c25e9a80d69fe1a96ad and cb626a421b3ab55114914c25e9a80d69fe1a96ad, the rest is just cleanups and also the ability to log without changing a
#define
. Hopefully the messages are clear enough to understand what's going on, despite the long commits.This fixes BMO#1841876.
Some bits of the doc that are useful:
https://developer.android.com/ndk/reference/group/audio#aaudiostream_errorcallback (what can one do or shouldn't do within the error callback) https://developer.android.com/ndk/reference/group/audio#aaudiostreambuilder_seterrorcallback (explaining what we're doing here -- largely similar to what we do on other backends). https://developer.android.com/ndk/guides/audio/aaudio/aaudio#disconnected-streams
This also changes the build to use C++17, so it match what Gecko uses. It also update googletest, so it works compiles in C++17.