summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2018-10-31 11:02:43 +0200
committerJari Vetoniemi <mailroxas@gmail.com>2018-10-31 11:02:43 +0200
commitf5065d2d0eb8d9133d719665ddfe692aeef5932c (patch)
tree5267f869fdd38ef341e1a2ddf1524ac77b24d009
parent7e966f790083da3710264feda579f60bac33c281 (diff)
Don't ever return avail more than appbufsz
-rw-r--r--src/pcm.c4
1 files changed, 2 insertions, 2 deletions
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