]> git.alsa-project.org Git - alsa-lib.git/commitdiff
pcm: dshare - apply the boundary wrap in snd_pcm_dshare_sync_area()
authorJaroslav Kysela <perex@perex.cz>
Tue, 13 Oct 2020 18:15:04 +0000 (20:15 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 13 Oct 2020 18:15:09 +0000 (20:15 +0200)
BugLink: https://github.com/alsa-project/alsa-lib/issues/84
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/pcm/pcm_dshare.c

index 88fb8bf96bec474bfaccac2db35b218449352d58..f211c1a0fb336879915da175d08bad712371926d 100644 (file)
@@ -112,7 +112,7 @@ static void snd_pcm_dshare_sync_area(snd_pcm_t *pcm)
        const snd_pcm_channel_area_t *src_areas, *dst_areas;
        
        /* calculate the size to transfer */
-       size = dshare->appl_ptr - dshare->last_appl_ptr;
+       size = pcm_frames_diff(dshare->appl_ptr, dshare->last_appl_ptr, pcm->boundary);
        if (! size)
                return;
        slave_hw_ptr = dshare->slave_hw_ptr;