[alsa-devel] Timer instability

Takashi Iwai tiwai at suse.de
Wed Feb 25 19:13:47 CET 2009


At Wed, 25 Feb 2009 17:36:24 +0000,
Clive Messer wrote:
> 
> On Wednesday 25 Feb 2009 16:59:48 Takashi Iwai wrote:
> > Oops, sorry, pasted a wrong version.
> > Here it is.
> >
> >
> > thanks,
> >
> > Takashi
> > ---
> > diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c
> > index e9ce092..5211d1c 100644
> > --- a/src/pcm/pcm_hw.c
> > +++ b/src/pcm/pcm_hw.c
> > @@ -131,6 +131,10 @@ struct timespec snd_pcm_hw_fast_tstamp(snd_pcm_t *pcm)
> >  static int sync_ptr1(snd_pcm_hw_t *hw, unsigned int flags)
> >  {
> >         int err;
> > +       long old_hwptr, new_hwptr;
> > +       long old_applptr, new_applptr;
> > +       old_hwptr = hw->sync_ptr->s.status.hw_ptr;
> > +       old_applptr = hw->sync_ptr->c.control.appl_ptr;
> >         hw->sync_ptr->flags = flags;
> >         err = ioctl((hw)->fd, SNDRV_PCM_IOCTL_SYNC_PTR, (hw)->sync_ptr);
> >         if (err < 0) {
> > @@ -138,6 +142,11 @@ static int sync_ptr1(snd_pcm_hw_t *hw, unsigned int
> > flags) SYSMSG("SNDRV_PCM_IOCTL_SYNC_PTR failed");
> >                 return err;
> >         }
> > +       new_hwptr = hw->sync_ptr->s.status.hw_ptr;
> > +       new_applptr = hw->sync_ptr->c.control.appl_ptr;
> > +       printf("sync_ptr1: %ld(%ld), %ld(%ld)\n",
> > +              new_hwptr, new_hwptr - old_hwptr,
> > +              new_applptr, new_applptr - old_applptr);
> >         return 0;
> >  }
> >  
> 
> Takashi,
> 
> Applied, but I'm not getting any "sync_ptr1: .... " logging on stdout. Any 
> ideas?

Did you run against the config with sync_ptr?


Takashi


More information about the Alsa-devel mailing list