summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2022-08-16 17:21:12 +0200
committerJaroslav Kysela <perex@perex.cz>2022-08-16 17:22:36 +0200
commit8033ff9996b7f04531f1e161bcf6af7673346669 (patch)
treebe1d8b61bc852c64d32bcd7b575e040834a03fc0
parentd80616c0c1157a8332e8fce968fd778d98379eed (diff)
downloadalsa-lib-8033ff9996b7f04531f1e161bcf6af7673346669.tar.gz
pcm: fix the dshare delay reporting
Pulseaudio uses full ring buffer when the incorrect delay is reported. BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/198 Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--src/pcm/pcm_dshare.c2
-rw-r--r--src/pcm/pcm_dsnoop.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c
index d3a2b456..d7be8fbb 100644
--- a/src/pcm/pcm_dshare.c
+++ b/src/pcm/pcm_dshare.c
@@ -229,7 +229,7 @@ static int snd_pcm_dshare_status(snd_pcm_t *pcm, snd_pcm_status_t * status)
case SNDRV_PCM_STATE_DRAINING:
case SNDRV_PCM_STATE_RUNNING:
snd_pcm_dshare_sync_ptr0(pcm, status->hw_ptr);
- status->delay += snd_pcm_mmap_playback_delay(pcm);
+ status->delay = snd_pcm_mmap_playback_delay(pcm);
break;
default:
break;
diff --git a/src/pcm/pcm_dsnoop.c b/src/pcm/pcm_dsnoop.c
index 8c4cde05..cb2eee32 100644
--- a/src/pcm/pcm_dsnoop.c
+++ b/src/pcm/pcm_dsnoop.c
@@ -215,7 +215,7 @@ static int snd_pcm_dsnoop_delay(snd_pcm_t *pcm, snd_pcm_sframes_t *delayp)
/* Fall through */
case SNDRV_PCM_STATE_PREPARED:
case SNDRV_PCM_STATE_SUSPENDED:
- *delayp = snd_pcm_mmap_capture_avail(pcm);
+ *delayp = snd_pcm_mmap_capture_delay(pcm);
return 0;
case SNDRV_PCM_STATE_XRUN:
return -EPIPE;