On Fri, 29 Jun 2007 19:15:00 +0200 Takashi Iwai <tiwai@xxxxxxx> wrote: > At Fri, 29 Jun 2007 12:26:45 -0400, > J. Scott Merritt wrote: > > > > I no longer get the PlayBack overrun on PCM start. However, it appears > > that "poll" or the snd_pcm_sw_params_set_avail_min (=4096) is not being > > properly honored. With the normal alsa-lib, when the "poll" returns > > snd_pcm_avail_update reports that space is available for 4096 frames. > > However, in my initial testing, when running with SALSA lib, only about > > 100 frames or so are available when the poll returns. > > > > I will examine this more closely. > > Found out another bug. Try the patch below. > > Thanks for reporting! > > > Takashi > > diff -r ad2c81608e10 src/pcm.c > --- a/src/pcm.c Fri Jun 29 17:59:52 2007 +0200 > +++ b/src/pcm.c Fri Jun 29 19:12:04 2007 +0200 > @@ -857,6 +857,7 @@ static int snd_pcm_hw_mmap_status(snd_pc > pcm->mmap_status = NULL; > goto no_mmap; > } > + pcm->mmap_control->avail_min = 1; > return 0; > > no_mmap: > @@ -865,6 +866,7 @@ static int snd_pcm_hw_mmap_status(snd_pc > return -ENOMEM; > pcm->mmap_status = &pcm->sync_ptr->s.status; > pcm->mmap_control = &pcm->sync_ptr->c.control; > + pcm->mmap_control->avail_min = 1; > _snd_pcm_sync_ptr(pcm, 0); > return 0; > } > diff -r ad2c81608e10 src/pcm_params.c > --- a/src/pcm_params.c Fri Jun 29 17:59:52 2007 +0200 > +++ b/src/pcm_params.c Fri Jun 29 19:12:04 2007 +0200 > @@ -1052,6 +1052,7 @@ int snd_pcm_sw_params(snd_pcm_t *pcm, sn > if (ioctl(pcm->fd, SNDRV_PCM_IOCTL_SW_PARAMS, params) < 0) > return -errno; > pcm->sw_params = *params; > + pcm->mmap_control->avail_min = params->avail_min; > return 0; > } That did the trick :) Many thanks for the extremely quick and accurate assistance ! Best regards, Scott. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel