common : more general m_audio_len update logic (#2855)

Co-authored-by: Ivy233 <wangjinrun@uniontech.com>
This commit is contained in:
Ivy233 2025-03-07 16:10:03 +08:00 committed by GitHub
parent c774eec709
commit ef40950c4a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -159,15 +159,11 @@ void audio_async::callback(uint8_t * stream, int len) {
memcpy(&m_audio[m_audio_pos], stream, n0 * sizeof(float));
memcpy(&m_audio[0], stream + n0 * sizeof(float), (n_samples - n0) * sizeof(float));
m_audio_pos = (m_audio_pos + n_samples) % m_audio.size();
m_audio_len = m_audio.size();
} else {
memcpy(&m_audio[m_audio_pos], stream, n_samples * sizeof(float));
m_audio_pos = (m_audio_pos + n_samples) % m_audio.size();
m_audio_len = std::min(m_audio_len + n_samples, m_audio.size());
}
m_audio_pos = (m_audio_pos + n_samples) % m_audio.size();
m_audio_len = std::min(m_audio_len + n_samples, m_audio.size());
}
}