diff --git a/src/audio.c b/src/audio.c index 50c0c2e..32bae26 100644 --- a/src/audio.c +++ b/src/audio.c @@ -3,15 +3,10 @@ int nes_audio_fill(nes_Audio_Stream* stream, nes_apu* apu) { - int status = 0; blip_end_frame(apu->blip, apu->time); apu->time = 0; - while (status == 0 && blip_samples_avail(apu->blip) > 0) { - short samples[1024]; - int n_samples = blip_read_samples( - apu->blip, samples, 1024, 0 - ); - status = nes_audio_push(stream, samples, n_samples); - } - return status; + int n_samples = blip_samples_avail(apu->blip); + short samples[n_samples]; + n_samples = blip_read_samples(apu->blip, samples, n_samples, 0); + return nes_audio_push(stream, samples, n_samples); }