From 0e9b8803af2eceae10400d943dcd092ccc83783a Mon Sep 17 00:00:00 2001 From: Sen Date: Thu, 20 Mar 2025 12:03:01 +0100 Subject: [PATCH] fix ALSA write handling --- alsasnd.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/alsasnd.h b/alsasnd.h index d12e227..4af4a46 100644 --- a/alsasnd.h +++ b/alsasnd.h @@ -112,12 +112,16 @@ aud_write16 #else wav_write16(&dev->wav, data, blocksize); #endif + rc = blocksize; } else { fwrite(data, 1, blocksize * dev->channels * SND_SMPSIZE, stdout); + rc = blocksize; + } + if(rc > 0) { + data += rc * dev->channels; + samples -= rc; } - data += blocksize * dev->channels; - samples -= blocksize; if(dev->handle) { if(rc == -EAGAIN || (rc >= 0 && (size_t)rc < blocksize)) { snd_pcm_wait(dev->handle, 100);