From f5065d2d0eb8d9133d719665ddfe692aeef5932c Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Wed, 31 Oct 2018 11:02:43 +0200 Subject: Don't ever return avail more than appbufsz --- src/pcm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/pcm.c b/src/pcm.c index f89ab9a..0762669 100644 --- a/src/pcm.c +++ b/src/pcm.c @@ -273,7 +273,7 @@ snd_pcm_avail_update(snd_pcm_t *pcm) if (!(revents & POLLOUT) && !(revents & POLLIN)) goto nodata; - return pcm->avail; + return (pcm->avail > pcm->hw.par.appbufsz ? pcm->hw.par.appbufsz : pcm->avail); nodata: // NOTE: returning 1, as some programs don't check the return value :/ (namely qwebengine) @@ -284,7 +284,7 @@ nodata: snd_pcm_sframes_t snd_pcm_avail(snd_pcm_t *pcm) { - return pcm->avail; + return (pcm->avail > pcm->hw.par.appbufsz ? pcm->hw.par.appbufsz : pcm->avail); } int -- cgit v1.2.3