Commit Briefs
add a liboboe audio backend for android
Oboe is a Google C++ library for audio on Android. The backend is currently based on the libao skeleton since I couldn't get it to play audio in a non-blocking way. (It would also be pointless since there isn't a way to poll(1).) It would be worthing experimenting with the callback API. So far, it works on my phone under termux. I can control amused with amused-web. It still lacks a test in the configure since we would need to use C++ for it.
work around missing endian.h
As usual, if not found try sys/endian.h or pull in the macos thingy.
(cont) work around lack of SOCK_{CLOEXEC,NONBLOCK}
funny how they're trying to deprecate daemon() in favour of the mess of posix_spawn and still don't provide genuinely useful stuff like SOCK_CLOEXEC, NONBLOCK and pipe2(2).
work around (a possibly missing) pipe2(2)
Mac OS X... sigh...
add an libao audio backend
This backend uses libao to play music. It's a bit convoluted since libao doesn't provide an async interface, so we have to run it in a separate thread. Then, there's some notification via a shared socketpair because the main loop is around poll(). This actually doesn't work OOTB on OpenBSD due to a restrictive pledge(), but it's not a issue since sndio should be used there. libao is the last resort.