diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c index 88fb8bf9..f211c1a0 100644 --- a/src/pcm/pcm_dshare.c +++ b/src/pcm/pcm_dshare.c @@ -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;