aboutsummaryrefslogtreecommitdiff
path: root/src/pcm/pcm_rate.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pcm/pcm_rate.c')
-rw-r--r--src/pcm/pcm_rate.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c
index 4e0c7ca7..031a43dc 100644
--- a/src/pcm/pcm_rate.c
+++ b/src/pcm/pcm_rate.c
@@ -970,9 +970,12 @@ static snd_pcm_sframes_t snd_pcm_rate_avail_update(snd_pcm_t *pcm)
{
snd_pcm_rate_t *rate = pcm->private_data;
snd_pcm_t *slave = rate->gen.slave;
- snd_pcm_uframes_t slave_size;
+ snd_pcm_sframes_t slave_size;
slave_size = snd_pcm_avail_update(slave);
+ if (slave_size < 0)
+ return slave_size;
+
if (pcm->stream == SND_PCM_STREAM_CAPTURE)
goto _capture;
snd_pcm_rate_sync_hwptr(pcm);