summaryrefslogtreecommitdiff
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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c
index e5d8eddd..c8076859 100644
--- a/src/pcm/pcm_rate.c
+++ b/src/pcm/pcm_rate.c
@@ -1018,7 +1018,7 @@ static int snd_pcm_rate_sync_playback_area(snd_pcm_t *pcm, snd_pcm_uframes_t app
slave_size -= rate->gen.slave->period_size;
rate->last_commit_ptr += pcm->period_size;
if (rate->last_commit_ptr >= pcm->boundary)
- rate->last_commit_ptr = 0;
+ rate->last_commit_ptr -= pcm->boundary;
}
return 0;
}
@@ -1163,7 +1163,7 @@ static int snd_pcm_rate_drain(snd_pcm_t *pcm)
if (commit_err == 1) {
rate->last_commit_ptr += psize;
if (rate->last_commit_ptr >= pcm->boundary)
- rate->last_commit_ptr = 0;
+ rate->last_commit_ptr -= pcm->boundary;
} else if (commit_err == 0) {
if (pcm->mode & SND_PCM_NONBLOCK) {
commit_err = -EAGAIN;