| 55 | }; |
| 56 | |
| 57 | void runRow(const Row& r) |
| 58 | { |
| 59 | const NegotiatedFormat n = negotiate(r.os, r.dir, r.caps, r.policy, kInternalRate, r.pref); |
| 60 | const bool ok = n.ok == r.ok |
| 61 | && (!r.ok || (n.rate == r.rate && n.fmt == r.fmt |
| 62 | && n.resampler == r.resampler && n.channels == r.channels |
| 63 | && n.fellBack == r.fellBack)); |
| 64 | std::string detail = "got [" + fmtOf(n) + "]"; |
| 65 | report(r.name, ok, ok ? std::string() : detail); |
| 66 | } |
| 67 | |
| 68 | // Helpers to build common device shapes. |
| 69 | DeviceCaps dev(QList<int> rates, |