The relevant audio server threads run with SCHED_FIFO
when the device driver buffer sizes are small enough that
CFS (SCHED_OTHER) would be unreliable.
The audio client threads run with SCHED_FIFO only when
they meet the criteria for lower latency "fast tracks".
As of 5.0 the rules are approximately:
- OpenSL ES buffer queue API
- native sample rate
- native buffer size
- no OpenSL ES interfaces that are incompatible with fast tracks
- adequate bandwidth to support fast tracks
The concept of "native" breaks down for USB and other
off-device I/O. This "native" concept needs to be re-visited.