Merge pull request #2661 from ogniK5377/audren-loop

audren: Only manage wave buffers with a size
This commit is contained in:
Zach Hilman 2019-07-08 09:35:42 -04:00 committed by GitHub
commit 618d8446ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -217,13 +217,15 @@ std::vector<s16> AudioRenderer::VoiceState::DequeueSamples(std::size_t sample_co
if (offset == samples.size()) { if (offset == samples.size()) {
offset = 0; offset = 0;
if (!wave_buffer.is_looping) { if (!wave_buffer.is_looping && wave_buffer.buffer_sz) {
SetWaveIndex(wave_index + 1); SetWaveIndex(wave_index + 1);
} }
out_status.wave_buffer_consumed++; if (wave_buffer.buffer_sz) {
out_status.wave_buffer_consumed++;
}
if (wave_buffer.end_of_stream) { if (wave_buffer.end_of_stream || wave_buffer.buffer_sz == 0) {
info.play_state = PlayState::Paused; info.play_state = PlayState::Paused;
} }
} }