This patch diverges quite a bit from the current upstream [1] in a few
ways:
1. virtual_oss(8), virtual_bt_speaker(8) and virtual_oss_cmd(8) are
actually separate programs.
2. Backends (lib/virtual_oss) are built as separate shared libraries and
we dlopen() them in virtual_oss(8) and virtual_bt_speaker(8) on
demand.
3. The sndio backendvirtual_equalizer(8) and virtual_equalizer(8) are built as ports,the sndio and bluetooth backends are built
as ports, because they depend on third-party libraries.
4. Fix compiler errors and warnings, which in some cases requires someUse newer libav API in bluetooth backend (see HAVE_LIBAV ifdefs) to
rewritingaddress compiler errors.
[1] https://github.com/freebsd/virtual_oss
Sponsored by: The FreeBSD Foundation