| 3405 | } |
| 3406 | |
| 3407 | bool AudioEngine::copyRecentClientEqRxSamples(float* out, int count) const |
| 3408 | { |
| 3409 | if (!out || count <= 0 || count > kClientEqTapSize) return false; |
| 3410 | std::lock_guard<std::mutex> lk(m_clientEqTapMutex); |
| 3411 | int w = m_clientEqTapRxWrite; |
| 3412 | for (int i = 0; i < count; ++i) { |
| 3413 | // Fill newest-last: out[count-1] is the most recent sample. |
| 3414 | const int idx = (w - count + i + kClientEqTapSize) & (kClientEqTapSize - 1); |
| 3415 | out[i] = m_clientEqTapRx[idx]; |
| 3416 | } |
| 3417 | return true; |
| 3418 | } |
| 3419 | |
| 3420 | bool AudioEngine::copyRecentClientEqTxSamples(float* out, int count) const |
| 3421 | { |
no outgoing calls
no test coverage detected